private void StartPhaseEventHandler(PhaseActions playerActions) { Application.Current.Dispatcher.Invoke(() => { this.TradeButton.Visibility = Visibility.Visible; this.TradeMarketButton.IsEnabled = playerActions.CanTradeWithMarket; this.TradePlayerButton.IsEnabled = playerActions.CanTradeWithPlayers; this.BuildSettlementButton.IsEnabled = playerActions.CanBuildSettlement; this.BuildSettlementButton.ToolTip = playerActions.BuildSettlementMessages; this.BuildRoadButton.IsEnabled = playerActions.CanBuildRoad; this.BuildRoadButton.ToolTip = playerActions.BuildRoadMessages; this.BuildCityButton.IsEnabled = playerActions.CanBuildCity; this.BuildCityButton.ToolTip = playerActions.BuildCityMessages; this.BuildButton.Visibility = Visibility.Visible; this.BuildButton.IsEnabled = playerActions.CanBuildSettlement | playerActions.CanBuildRoad | playerActions.CanBuildCity; this.BuildButton.ToolTip = playerActions.BuildSettlementMessages + playerActions.BuildRoadMessages + playerActions.BuildCityMessages; this.BuyButton.Visibility = Visibility.Visible; this.BuyButton.IsEnabled = playerActions.CanBuyDevelopmentCard; this.UseButton.Visibility = Visibility.Visible; this.UseButton.IsEnabled = playerActions.CanUseDevelopmentCard; this.PhaseActions.Visibility = Visibility.Visible; this.EndTurnButton.Visibility = Visibility.Visible; }); }
public override void CallAbility(PhaseActions actions, string ability) { foreach (Player player in checks.Keys) { int target = checks[player]; } }
/// <summary> /// Called every GamePhase and is called in order from the abilities with highest priority to /// the ones with lowest priority. /// /// As such its down to the role itself to handle the logic /// </summary> /// <param name="ability"></param> public abstract void CallAbility(PhaseActions actions, String ability);