Beispiel #1
0
    /// <summary>
    /// All games that would be enabled if <paramref name="localGame"/>
    /// was the active game
    /// </summary>
    /// <param name="localGame"></param>
    /// <returns></returns>
    List <LocalGame> ActiveGames(LocalGame localGame)
    {
        List <LocalGame> activeGames = new List <LocalGame>();

        if (GameOver())
        {
            // no active games if the global game is over
            return(activeGames);
        }

        if (localGame != null && !localGame.GameOver())
        {
            // return only the active game
            activeGames.Add(localGame);
            return(activeGames);
        }
        else
        {
            // return all unfinished games
            foreach (LocalGame game in localGames)
            {
                if (!game.GameOver())
                {
                    activeGames.Add(game);
                }
            }
            return(activeGames);
        }
    }