void PlayerInfoManager::SetCurrentPlayer(const std::string& filename) { PIMap::iterator it = m_map.find(filename); if (it == m_map.end() || !it->second.second) { PlayerInfo* pi = new PlayerInfo; pi->SetFilename(filename); if (!pi->Load()) { // TODO What to do here ?? Player has lost player data!! Oh no! } unsigned int now = Time::Now().ToSeconds(); m_map[filename] = TimestampPlayerInfo(now, pi); m_currentPI = pi; } else { m_currentPI = it->second.second; } }