Example #1
0
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;
  }
}