public void ChangeGameStatus(int gameId, GameInfo.GameStatus status)
 {
     log.DebugFormat("In ChangeChangeStatus for gameId={0}", gameId);
     lock (myLock)
     {
         if (games.ContainsKey(gameId))
         {
             log.DebugFormat("Change status to {0}", status);
             games[gameId].Status         = status;
             games[gameId].AliveTimestamp = DateTime.Now;
             Save();
         }
     }
 }
        public GameInfoAlt[] GetGamesAlt(GameInfo.GameStatus status = GameInfo.GameStatus.AVAILABLE)
        {
            List <GameInfo> games = Registry.Instance.GetGames(status);

            GameInfoAlt[] results = new GameInfoAlt[games.Count];
            for (int i = 0; i < games.Count; i++)
            {
                results[i] = new GameInfoAlt()
                {
                    Id = games[i].Id,
                    CommunicationEndPoint = games[i].CommunicationEndPoint.ToString(),
                    Status         = games[i].Status.ToString(),
                    AliveTimestamp = games[i].AliveTimestamp.ToString(),
                    Label          = games[i].Label
                };
            }

            return(results);
        }
        public List <GameInfo> GetGames(GameInfo.GameStatus status)
        {
            log.Debug("In GetGames");

            List <GameInfo> filteredGameList = new List <GameInfo>();

            lock (myLock)
            {
                Dictionary <int, GameInfo> .Enumerator enumerator = games.GetEnumerator();
                while (enumerator.MoveNext())
                {
                    if (enumerator.Current.Value.Status == status)
                    {
                        filteredGameList.Add(enumerator.Current.Value);
                    }
                }
            }
            return(filteredGameList);
        }
 public void ChangeStatus(int gameId, GameInfo.GameStatus status)
 {
     Registry.Instance.ChangeGameStatus(gameId, status);
 }
 public GameInfo[] GetGames(GameInfo.GameStatus status = GameInfo.GameStatus.AVAILABLE)
 {
     return(Registry.Instance.GetGames(status).ToArray());
 }