private void AskToAssignToken(object sender, System.EventArgs e) { //Skip if side is wrong if (!ConditionsStillCorrect()) { Triggers.FinishTrigger(); return; } SelectTokenDecisionSubphase decision = (SelectTokenDecisionSubphase)Phases.StartTemporarySubPhaseNew( Name, typeof(SelectTokenDecisionSubphase), Triggers.FinishTrigger ); decision.InfoText = "Select token to assign and flip Intensity to Exhausted side"; decision.AddDecision("Focus Token", delegate { AssignToken(typeof(FocusToken)); }); decision.AddDecision("Evade Token", delegate { AssignToken(typeof(EvadeToken)); }); decision.DefaultDecisionName = GetBestToken(); decision.RequiredPlayer = HostShip.Owner.PlayerNo; decision.ShowSkipButton = true; decision.Start(); }
private void AskToSpendToken(object sender, System.EventArgs e) { //Skip if side is wrong or tokens are not present if (!ConditionsStillCorrect()) { Triggers.FinishTrigger(); return; } SelectTokenDecisionSubphase decision = (SelectTokenDecisionSubphase)Phases.StartTemporarySubPhaseNew( Name, typeof(SelectTokenDecisionSubphase), Triggers.FinishTrigger ); decision.InfoText = "Select token to spend to flip Intensity"; if (HostShip.Tokens.HasToken(typeof(FocusToken))) { decision.AddDecision("Focus Token", delegate { SpendTokenToRestoreUpgrade(typeof(FocusToken)); }); } if (HostShip.Tokens.HasToken(typeof(EvadeToken))) { decision.AddDecision("Evade Token", delegate { SpendTokenToRestoreUpgrade(typeof(EvadeToken)); }); } decision.DefaultDecisionName = GetBestToken(); decision.RequiredPlayer = HostShip.Owner.PlayerNo; decision.ShowSkipButton = true; decision.Start(); }