From e2e2fefc23e5a4e53808e52b5c5bb4ce1385da93 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 10 Sep 2021 09:46:13 +0000 Subject: [PATCH] 1 --- server/gameserver/explosion.cc | 8 +++++++- server/gameserver/explosion.h | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/server/gameserver/explosion.cc b/server/gameserver/explosion.cc index 44dcebc..b3bcd52 100644 --- a/server/gameserver/explosion.cc +++ b/server/gameserver/explosion.cc @@ -10,6 +10,11 @@ enum ExplosionType_e kExplosionEnemyAndObstacle = 2 }; +Explosion::~Explosion() +{ + int i = 0; +} + void Explosion::IndifferenceAttack(Room* room, const a8::Vec2& center, float explosion_range, @@ -134,7 +139,8 @@ void Explosion::InternalAttack() if (explosion_damage_delay_ <= 0) { ProcDamage(); } else { - std::shared_ptr* self = new std::shared_ptr(this); + std::shared_ptr* self = new std::shared_ptr(); + *self = shared_from_this(); room_->xtimer.AddDeadLineTimerAndAttach (explosion_damage_delay_ / FRAME_RATE_MS, a8::XParams() diff --git a/server/gameserver/explosion.h b/server/gameserver/explosion.h index c808330..11d32b9 100644 --- a/server/gameserver/explosion.h +++ b/server/gameserver/explosion.h @@ -7,6 +7,7 @@ class EntityFactory; class Explosion : public std::enable_shared_from_this { public: + ~Explosion(); int exclude_uniid = 0; Room* GetRoom() { return room_; };