public SalesOfficeViewModel(string userName, Game game) { IsActivePlayer = FormHelper.IsActivePlayer(userName, game); var actionManager = new ActionContextInvoker(game); DrawIsValidActionState = actionManager.IsValidTransition(GameActionState.ContractDraw); DraftIsValidActionState = actionManager.IsValidTransition(GameActionState.ContractDraft); Game = game; DrawState = GameActionState.ContractDraw; AllContracts = game.GetContractDecks(); DrawCount = AllContracts[GameContractLocation.DrawDeck].Count; SetDraftContractModels(AllContracts); }
private bool ValidateSpace(Game game, PlayerLocation location) { var state = (GameActionState)Enum.Parse(typeof(GameActionState), location.ToString()); var action = new GameAction { State = state, Location = game.CurrentTurn.CurrentAction.Location }; var invoker = new ActionContextInvoker(game); return invoker.IsValidTransition(action); }