1
0

Tab completion across worlds (#3270)

Fixes #2563.
This commit is contained in:
Alexander Harkness
2016-07-21 12:00:30 +01:00
committed by Mattes D
parent fc5fb03fec
commit a2a9341c24
5 changed files with 55 additions and 1 deletions

View File

@@ -1006,3 +1006,33 @@ int cRoot::GetFurnaceFuelBurnTime(const cItem & a_Fuel)
cFurnaceRecipe * FR = Get()->GetFurnaceRecipe();
return FR->GetBurnTime(a_Fuel);
}
AStringVector cRoot::GetPlayerTabCompletionMultiWorld(const AString & a_Text)
{
AStringVector Results;
class cWorldCallback : public cWorldListCallback
{
public:
cWorldCallback(AStringVector & a_Results, const AString & a_Search) :
m_Results(a_Results),
m_Search(a_Search)
{
}
virtual bool Item(cWorld * a_World) override
{
a_World->TabCompleteUserName(m_Search, m_Results);
return true;
}
private:
AStringVector & m_Results;
const AString & m_Search;
} WC(Results, a_Text);
Get()->ForEachWorld(WC);
return Results;
}