From c1ddf4c0840bb15016dc69af4a4751d09908393f Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Fri, 8 Jan 2010 16:03:29 +0200 Subject: Small refactoring in chat auto completing --- src/beingmanager.cpp | 29 +++++++---------------------- 1 file changed, 7 insertions(+), 22 deletions(-) (limited to 'src/beingmanager.cpp') diff --git a/src/beingmanager.cpp b/src/beingmanager.cpp index 74461d44..8bd951fa 100644 --- a/src/beingmanager.cpp +++ b/src/beingmanager.cpp @@ -300,36 +300,21 @@ bool BeingManager::hasBeing(Being *being) const return false; } -std::string BeingManager::getAutoCompletePlayerName(std::string partName) +void BeingManager::getPlayerNames(std::vector &names, + bool npcNames) { Beings::iterator i = mBeings.begin(); - std::transform(partName.begin(), partName.end(), partName.begin(), tolower); - std::string newName(""); + names.clear(); while (i != mBeings.end()) { Being *being = (*i); - if (being->getType() != Being::MONSTER && being->getName() != "") + if ((being->getType() == Being::PLAYER + || (being->getType() == Being::NPC && npcNames)) + && being->getName() != "") { - std::string name = being->getName(); - std::transform(name.begin(), name.end(), name.begin(), tolower); - - std::string::size_type pos = name.find(partName, 0); - if (pos == 0) - { - if (newName != "") - { - std::transform(newName.begin(), newName.end(), newName.begin(), tolower); - newName = findSameSubstring(name, newName); - } - else - { - newName = being->getName(); - } - } + names.push_back(being->getName()); } ++i; } - - return newName; } -- cgit v1.2.3-70-g09d2