예제 #1
0
 private void Initialize(InitializeGameCommand command)
 {
     _gameState = command.GameData;
     foreach (var region in command.Regions)
     {
         _regions[region.Name] = region;
     }
     _clock = new Stopwatch();
     _clock.Start();
 }
예제 #2
0
 public GameViewModel(
     long remainingMilliseconds,
     Models.GameState game,
     IEnumerable <RegionState> regions,
     IEnumerable <PlayerBlockCount> players)
 {
     RemainingMilliseconds = remainingMilliseconds;
     Game    = game;
     Regions = regions.ToImmutableList();
     Players = players.ToImmutableList();
 }
예제 #3
0
 public IndexViewModel(Models.GameState gameState, NavigationManager navigationManager)
 {
     this.gameState         = gameState;
     this.navigationManager = navigationManager;
     PossiblePlayers        = Enumerable.Range(1, 2).Select(i => new PlayerSelectorModel
     {
         IsAiPlayer           = false,
         DifficultyAdvancedAi = 0f,
         IsNameValid          = true,
     })
                              .ToList();
 }
예제 #4
0
        private GameUpdateResponse MakeGameUpdateResponse(Models.GameState gameState)
        {
            var ret = new GameUpdateResponse()
            {
                GameId = gameState.GameId
            };

            ret.BestCurrentAsk = gameState.BestCurrentAsk;
            ret.BestCurrentBid = gameState.BestCurrentBid;
            if (gameState.RoundStates != null)
            {
                ret.CommunityCardIds = gameState.RoundStates.Select(x => x.CommunityCardCardId).ToList();
            }
            if (gameState.PlayerStates != null)
            {
                ret.PlayerPublicStates = gameState.PlayerStates.Select(x => MakePlayerPublicState(x)).ToList();
            }
            ret.IsFinished        = gameState.IsFinished;
            ret.IsTradingLocked   = gameState.IsTradingLocked;
            ret.IsSuccess         = true;
            ret.SettlementPrice   = gameState.SettlementPrice;
            ret.AllRoundsFinished = gameState.RoundStates.Count >= gameState.Game.NumberOfRounds;
            return(ret);
        }
예제 #5
0
 public InitializeGameCommand(Models.GameState game, IEnumerable <RegionState> regions)
 {
     GameData = game;
     Regions  = regions;
 }
예제 #6
0
 public void Handle(BuyCommand command)
 {
     gameState = command.GameState;
     Game.WriteLine(Buy(command.ItemName, command.NumOfItems).message);
 }