1
This commit is contained in:
parent
9cbda99228
commit
edb2ce7bc4
@ -37,9 +37,6 @@ RoomObstacle::~RoomObstacle()
|
||||
}
|
||||
detached_ = true;
|
||||
}
|
||||
if (!grid_list_) {
|
||||
A8_SAFE_DELETE(grid_list_);
|
||||
}
|
||||
if (!hit_objects_) {
|
||||
A8_SAFE_DELETE(hit_objects_);
|
||||
}
|
||||
@ -75,7 +72,7 @@ void RoomObstacle::ActiveTimerFunc()
|
||||
return;
|
||||
}
|
||||
if (!grid_list_) {
|
||||
grid_list_ = new std::set<GridCell*>();
|
||||
grid_list_ = std::make_shared<std::set<GridCell*>>();
|
||||
room->grid_service->GetAllCellsByXy(room, GetPos().GetX(), GetPos().GetY(), *grid_list_);
|
||||
}
|
||||
bool has_hum = false;
|
||||
@ -100,7 +97,7 @@ void RoomObstacle::ActiveTimerFunc()
|
||||
void RoomObstacle::UpdateTimerFunc()
|
||||
{
|
||||
if (!grid_list_) {
|
||||
grid_list_ = new std::set<GridCell*>();
|
||||
grid_list_ = std::make_shared<std::set<GridCell*>>();
|
||||
room->grid_service->GetAllCellsByXy(room, GetPos().GetX(), GetPos().GetY(), *grid_list_);
|
||||
}
|
||||
if (grid_list_ && master.Get() && !IsDead(room)) {
|
||||
@ -146,7 +143,7 @@ void RoomObstacle::SpecExplosion(int delay_time)
|
||||
if (meta->damage_dia() > 0.01f) {
|
||||
#endif
|
||||
if (!grid_list_) {
|
||||
grid_list_ = new std::set<GridCell*>();
|
||||
grid_list_ = std::make_shared<std::set<GridCell*>>();
|
||||
room->grid_service->GetAllCellsByXy(room, GetPos().GetX(), GetPos().GetY(), *grid_list_);
|
||||
}
|
||||
Position bomb_born_offset;
|
||||
@ -545,7 +542,7 @@ void RoomObstacle::ActiveKeepRangeBuff()
|
||||
void RoomObstacle::ProcKeepRangeBuff()
|
||||
{
|
||||
if (!grid_list_) {
|
||||
grid_list_ = new std::set<GridCell*>();
|
||||
grid_list_ = std::make_shared<std::set<GridCell*>>();
|
||||
room->grid_service->GetAllCellsByXy(room, GetPos().GetX(), GetPos().GetY(), *grid_list_);
|
||||
}
|
||||
if (!hit_objects_) {
|
||||
@ -727,7 +724,7 @@ void RoomObstacle::DestoryAt(int time)
|
||||
void RoomObstacle::CalcTempPassObjects()
|
||||
{
|
||||
if (!grid_list_) {
|
||||
grid_list_ = new std::set<GridCell*>();
|
||||
grid_list_ = std::make_shared<std::set<GridCell*>>();
|
||||
room->grid_service->GetAllCellsByXy(room, GetPos().GetX(), GetPos().GetY(), *grid_list_);
|
||||
}
|
||||
if (!temp_pass_objects_) {
|
||||
@ -890,7 +887,7 @@ void RoomObstacle::ActiveMedicalStation()
|
||||
void RoomObstacle::ForceGridList()
|
||||
{
|
||||
if (!grid_list_) {
|
||||
grid_list_ = new std::set<GridCell*>();
|
||||
grid_list_ = std::make_shared<std::set<GridCell*>>();
|
||||
room->grid_service->GetAllCellsByXy(room, GetPos().GetX(), GetPos().GetZ(), *grid_list_);
|
||||
}
|
||||
}
|
||||
|
@ -66,7 +66,7 @@ protected:
|
||||
RoomObstacleWeakPtr weak_ptr_;
|
||||
RoomObstacleWeakPtrChunk weak_ptr_chunk_;
|
||||
|
||||
std::set<GridCell*>* grid_list_ = nullptr;
|
||||
std::shared_ptr<std::set<GridCell*>> grid_list_;
|
||||
int explosion_times_ = 0;
|
||||
bool detached_ = false;
|
||||
std::map<int, CreatureWeakPtr>* hit_objects_ = nullptr;
|
||||
|
Loading…
x
Reference in New Issue
Block a user