performance optimize

This commit is contained in:
Yunfan Li
2023-07-27 11:39:03 +08:00
parent 02521589cf
commit 6ba6bc3615
9 changed files with 50 additions and 47 deletions

View File

@@ -4,6 +4,7 @@
#include "TargetValue.h"
#include "LastMovementValue.h"
#include "ObjectGuid.h"
#include "RtiTargetValue.h"
#include "Playerbots.h"
#include "ScriptedCreature.h"
@@ -117,31 +118,24 @@ WorldPosition HomeBindValue::Calculate()
Unit* FindTargetValue::Calculate()
{
if (qualifier == "") {
return NULL;
return nullptr;
}
Group* group = bot->GetGroup();
if (!group) {
return NULL;
return nullptr;
}
for (GroupReference *gref = group->GetFirstMember(); gref; gref = gref->next()) {
Player* member = gref->GetSource();
if (!member) {
continue;
}
HostileReference *ref = member->getHostileRefMgr().getFirst();
while (ref)
{
ThreatMgr *threatManager = ref->GetSource();
Unit *unit = threatManager->GetOwner();
std::wstring wnamepart;
Utf8toWStr(unit->GetName(), wnamepart);
wstrToLower(wnamepart);
if (!qualifier.empty() && qualifier.length() == wnamepart.length() && Utf8FitTo(qualifier, wnamepart)) {
return unit;
}
assert(ref);
ref = ref->next();
HostileReference *ref = bot->getHostileRefMgr().getFirst();
while (ref)
{
ThreatMgr *threatManager = ref->GetSource();
Unit *unit = threatManager->GetOwner();
std::wstring wnamepart;
Utf8toWStr(unit->GetName(), wnamepart);
wstrToLower(wnamepart);
if (!qualifier.empty() && qualifier.length() == wnamepart.length() && Utf8FitTo(qualifier, wnamepart)) {
return unit;
}
ref = ref->next();
}
return nullptr;
}