Exemple #1
0
        /// <summary>
        /// Receives notification that game state has ended
        /// </summary>
        /// <param name="gameNumber"></param>
        /// <param name="gameRecord"></param>
        public void OnGameEnded(int gameNumber, GameRecord gameRecord)
        {
            // Game ended. Grab game result
            Log.WriteLine("Game no. {0} Result: {1}", gameNumber, gameRecord.Result);

            if (string.IsNullOrEmpty(Constants.PlayBackDeckPath) && gameRecord.OpponentDeck.Count > 0)
            {
                var gameLog = CurrentPlayState.StopGameLog();
                if (gameRecord.IsExpedition())
                {
                    gameRecord.NumWins   = CurrentExpedition.NumberOfWins + (gameRecord.Result == "Win" ? 1 : 0);
                    gameRecord.NumLosses = CurrentExpedition.NumberOfLosses + (gameRecord.Result != "Win" ? 1 : 0);
                }
                GameHistory.AddGameRecord(gameRecord, true, gameLog);
                Utilities.CallActionSafelyAndWait(DecksListCtrl, new Action(() =>
                {
                    DecksListCtrl.AddToDeckList(gameRecord, true);
                }));
            }

            OnPlayerDeckSet(new List <CardWithCount>(), "");
        }