From 3fb0d2fb65c968f91c333a1d31d2d7a1a02ab7d1 Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Sat, 15 Jan 2011 03:28:19 +0200 Subject: Players are left on server while server is running. No passwords yet. --- src/environment.cpp | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'src/environment.cpp') diff --git a/src/environment.cpp b/src/environment.cpp index c43525c37..906bab611 100644 --- a/src/environment.cpp +++ b/src/environment.cpp @@ -243,11 +243,44 @@ Player * Environment::getPlayer(u16 peer_id) return NULL; } +Player * Environment::getPlayer(const char *name) +{ + for(core::list::Iterator i = m_players.begin(); + i != m_players.end(); i++) + { + Player *player = *i; + if(strcmp(player->getName(), name) == 0) + return player; + } + return NULL; +} + core::list Environment::getPlayers() { return m_players; } +core::list Environment::getPlayers(bool ignore_disconnected) +{ + core::list newlist; + for(core::list::Iterator + i = m_players.begin(); + i != m_players.end(); i++) + { + Player *player = *i; + + if(ignore_disconnected) + { + // Ignore disconnected players + if(player->peer_id == 0) + continue; + } + + newlist.push_back(player); + } + return newlist; +} + void Environment::printPlayers(std::ostream &o) { o<<"Players in environment:"<