mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2025-08-04 09:44:10 +00:00
Implement some more trigger event calls and command handlers (#989)
* Implement some trigger event calls and command handlers * add zone summary dimissed GM * break and remove log * some cleanup in Gather Targets and blocking out * fix default value of unlock for play cinematic * Log on errors add enum for physics effect type simplify nipoint3 logic check arg count add enum for End behavior * tryparse for nipoint3 * totally didn't forget to include it * bleh c++ is blah * ??? * address feedback * Fix for #1028
This commit is contained in:
@@ -134,24 +134,23 @@ void Spawner::AddEntitySpawnedCallback(std::function<void(Entity*)> callback) {
|
||||
|
||||
void Spawner::Reset() {
|
||||
m_Start = true;
|
||||
|
||||
for (auto* node : m_Info.nodes) {
|
||||
for (const auto& spawned : node->entities) {
|
||||
auto* entity = EntityManager::Instance()->GetEntity(spawned);
|
||||
|
||||
if (entity == nullptr) continue;
|
||||
|
||||
entity->Kill();
|
||||
}
|
||||
|
||||
node->entities.clear();
|
||||
}
|
||||
|
||||
DestroyAllEntities();
|
||||
m_Entities.clear();
|
||||
m_AmountSpawned = 0;
|
||||
m_NeedsUpdate = true;
|
||||
}
|
||||
|
||||
void Spawner::DestroyAllEntities(){
|
||||
for (auto* node : m_Info.nodes) {
|
||||
for (const auto& element : node->entities) {
|
||||
auto* entity = EntityManager::Instance()->GetEntity(element);
|
||||
if (entity == nullptr) continue;
|
||||
entity->Kill();
|
||||
}
|
||||
node->entities.clear();
|
||||
}
|
||||
}
|
||||
|
||||
void Spawner::SoftReset() {
|
||||
m_Start = true;
|
||||
m_AmountSpawned = 0;
|
||||
|
@@ -61,6 +61,7 @@ public:
|
||||
void AddEntitySpawnedCallback(std::function<void(Entity*)> callback);
|
||||
void SetSpawnLot(LOT lot);
|
||||
void Reset();
|
||||
void DestroyAllEntities();
|
||||
void SoftReset();
|
||||
void SetRespawnTime(float time);
|
||||
void SetNumToMaintain(int32_t value);
|
||||
|
@@ -182,17 +182,7 @@ void dZoneManager::RemoveSpawner(const LWOOBJID id) {
|
||||
Game::logger->Log("dZoneManager", "Failed to find spawner entity (%llu)", id);
|
||||
}
|
||||
|
||||
for (auto* node : spawner->m_Info.nodes) {
|
||||
for (const auto& element : node->entities) {
|
||||
auto* nodeEntity = EntityManager::Instance()->GetEntity(element);
|
||||
|
||||
if (nodeEntity == nullptr) continue;
|
||||
|
||||
nodeEntity->Kill();
|
||||
}
|
||||
|
||||
node->entities.clear();
|
||||
}
|
||||
spawner->DestroyAllEntities();
|
||||
|
||||
spawner->Deactivate();
|
||||
|
||||
|
Reference in New Issue
Block a user