[Optimization] Better performance

This commit is contained in:
Yunfan Li
2024-06-24 21:56:14 +08:00
parent 7513b528b1
commit 7cacca5293

View File

@@ -144,7 +144,7 @@ bool Engine::DoNextAction(Unit* unit, uint32 depth, bool minimal)
ActionBasket* basket = nullptr; ActionBasket* basket = nullptr;
time_t currentTime = time(nullptr); time_t currentTime = time(nullptr);
aiObjectContext->Update(); // aiObjectContext->Update();
ProcessTriggers(minimal); ProcessTriggers(minimal);
PushDefaultActions(); PushDefaultActions();
@@ -469,7 +469,7 @@ bool Engine::HasStrategy(std::string const name)
void Engine::ProcessTriggers(bool minimal) void Engine::ProcessTriggers(bool minimal)
{ {
std::unordered_map<Trigger*, Event> fires; // std::unordered_map<Trigger*, Event> fires;
for (std::vector<TriggerNode*>::iterator i = triggers.begin(); i != triggers.end(); i++) for (std::vector<TriggerNode*>::iterator i = triggers.begin(); i != triggers.end(); i++)
{ {
TriggerNode* node = *i; TriggerNode* node = *i;
@@ -499,21 +499,22 @@ void Engine::ProcessTriggers(bool minimal)
if (!event) if (!event)
continue; continue;
fires[trigger] = event; // fires[trigger] = event;
LogAction("T:%s", trigger->getName().c_str()); LogAction("T:%s", trigger->getName().c_str());
MultiplyAndPush(node->getHandlers(), 0.0f, false, event, "trigger");
} }
} }
for (std::vector<TriggerNode*>::iterator i = triggers.begin(); i != triggers.end(); i++) // for (std::vector<TriggerNode*>::iterator i = triggers.begin(); i != triggers.end(); i++)
{ // {
TriggerNode* node = *i; // TriggerNode* node = *i;
Trigger* trigger = node->getTrigger(); // Trigger* trigger = node->getTrigger();
Event event = fires[trigger]; // if (fires.find(trigger) == fires.end())
if (!event) // continue;
continue;
MultiplyAndPush(node->getHandlers(), 0.0f, false, event, "trigger"); // Event event = fires[trigger];
}
// }
for (std::vector<TriggerNode*>::iterator i = triggers.begin(); i != triggers.end(); i++) for (std::vector<TriggerNode*>::iterator i = triggers.begin(); i != triggers.end(); i++)
{ {