/// <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); } }