Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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();
        }