Ejemplo n.º 1
0
        public List <GameWithIndex> GetGamesByRound(int roundIndex)
        {
            if (dataFile.Games == null)
            {
                return(null);
            }
            else
            {
                var results = new List <GameWithIndex>();
                var round   = dataFile.Games[roundIndex];
                for (var gameIndex = 0; gameIndex < round.Count; gameIndex++)
                {
                    var game = round[gameIndex];

                    var gameWithIndex = new GameWithIndex
                    {
                        GameResult     = game.GameResult,
                        GameTime       = game.GameTime,
                        IsTimeIncluded = game.IsTimeIncluded,
                        MapId          = game.MapId,
                        RaceIds        = game.RaceIds,
                        PlayerIds      = game.PlayerIds,
                        RoundIndex     = roundIndex,
                        GameIndex      = gameIndex,
                        Description    = game.Description
                    };
                    results.Add(gameWithIndex);
                }
                return(results);
            }
        }
Ejemplo n.º 2
0
        public GameWithIndex GetLatestFinishedGame()
        {
            var all = GetFinishedGames();

            if (all == null)
            {
                return(null);
            }
            else if (all.Count == 1)
            {
                return(all[0]);
            }

            var           latestTime  = DateTime.MinValue;
            var           latestRound = -1;
            var           latestGame  = -1;
            GameWithIndex match       = null;

            foreach (var game in all)
            {
                if (game.GameTime > latestTime)
                {
                    latestTime  = game.GameTime;
                    latestRound = game.RoundIndex;
                    latestGame  = game.GameIndex;
                    match       = game;
                }
                else if (game.GameTime == latestTime)
                {
                    if (game.RoundIndex > latestRound)
                    {
                        latestRound = game.RoundIndex;
                        latestGame  = game.GameIndex;
                        match       = game;
                    }
                    else if (game.RoundIndex == latestRound)
                    {
                        if (game.RoundIndex > latestGame)
                        {
                            latestGame = game.GameIndex;
                            match      = game;
                        }
                    }
                }
            }
            return(match);
        }
Ejemplo n.º 3
0
        public List <GameWithIndex> GetGamesByResults(params GameResult[] gameResults)
        {
            if (dataFile.Games == null)
            {
                return(null);
            }
            else
            {
                var results = new List <GameWithIndex>();
                for (var roundIndex = 0; roundIndex < dataFile.Games.Count; roundIndex++)
                {
                    var round = dataFile.Games[roundIndex];
                    for (var gameIndex = 0; gameIndex < round.Count; gameIndex++)
                    {
                        var game = round[gameIndex];
                        if (gameResults.Contains(game.GameResult))
                        {
                            var gameWithIndex = new GameWithIndex
                            {
                                GameResult     = game.GameResult,
                                GameTime       = game.GameTime,
                                IsTimeIncluded = game.IsTimeIncluded,
                                MapId          = game.MapId,
                                RaceIds        = game.RaceIds,
                                PlayerIds      = game.PlayerIds,
                                RoundIndex     = roundIndex,
                                GameIndex      = gameIndex
                            };
                            results.Add(gameWithIndex);
                        }
                    }
                }

                return(results);
            }
        }
Ejemplo n.º 4
0
        public List <GameWithIndex> GetGamesByPlayer(TeamSelection teamSelection, Guid playerId)
        {
            if (dataFile.Games == null)
            {
                return(null);
            }
            else
            {
                var results = new List <GameWithIndex>();
                for (var roundIndex = 0; roundIndex < dataFile.Games.Count; roundIndex++)
                {
                    var round = dataFile.Games[roundIndex];
                    for (var gameIndex = 0; gameIndex < round.Count; gameIndex++)
                    {
                        var game = round[gameIndex];
                        if (game.PlayerIds[teamSelection] == playerId)
                        {
                            var gameWithIndex = new GameWithIndex
                            {
                                GameResult     = game.GameResult,
                                GameTime       = game.GameTime,
                                IsTimeIncluded = game.IsTimeIncluded,
                                MapId          = game.MapId,
                                RaceIds        = game.RaceIds,
                                PlayerIds      = game.PlayerIds,
                                RoundIndex     = roundIndex,
                                GameIndex      = gameIndex
                            };
                            results.Add(gameWithIndex);
                        }
                    }
                }

                return(results);
            }
        }
Ejemplo n.º 5
0
 public void GetGameForDisplaying(out GameWithIndex latestFinishedGame, out List <GameWithIndex> playingGames, out List <GameWithIndex> nextGames)
 {
     latestFinishedGame = GetLatestFinishedGame();
     playingGames       = GetGamesByResults(GameResult.InGame);
     nextGames          = GetGamesByResults(GameResult.Starting);
 }