示例#1
0
        private void GrantAction()
        {
            TargetShip.BeforeActionIsPerformed += PayForceCost;

            SelectShipSubPhase.FinishSelectionNoCallback();
            Selection.ThisShip = TargetShip;

            TargetShip.OnCheckCanPerformActionsWhileStressed += ConfirmThatIsPossible;
            TargetShip.OnCanPerformActionWhileStressed       += AlwaysAllow;

            var actions = TargetShip.GetAvailableActions();

            TargetShip.AskPerformFreeAction(
                actions,
                delegate {
                TargetShip.OnCheckCanPerformActionsWhileStressed -= ConfirmThatIsPossible;
                TargetShip.OnCanPerformActionWhileStressed       -= AlwaysAllow;

                Selection.ThisShip = HostShip;
                TargetShip.BeforeActionIsPerformed -= PayForceCost;
                Triggers.FinishTrigger();
            },
                HostShip.PilotInfo.PilotName,
                "You may perform an action, even if you is stressed.",
                HostShip
                );
        }
示例#2
0
        private void PerformFreeAction(object sender, System.EventArgs e)
        {
            Selection.ThisShip.GenerateAvailableActionsList();
            List <ActionsList.GenericAction> actions = Selection.ThisShip.GetAvailableActionsList();

            TargetShip.AskPerformFreeAction(actions, Triggers.FinishTrigger);
        }
示例#3
0
        private void GrantAction()
        {
            TargetShip.BeforeActionIsPerformed += PayForceCost;

            SelectShipSubPhase.FinishSelectionNoCallback();
            Selection.ThisShip = TargetShip;

            var oldValue = TargetShip.CanPerformActionsWhileStressed;

            TargetShip.CanPerformActionsWhileStressed = true;
            var actions = TargetShip.GetAvailableActions();

            TargetShip.AskPerformFreeAction(
                actions,
                delegate {
                TargetShip.CanPerformActionsWhileStressed = oldValue;
                Selection.ThisShip = HostShip;
                TargetShip.BeforeActionIsPerformed -= PayForceCost;
                Triggers.FinishTrigger();
            },
                HostShip.PilotInfo.PilotName,
                "You may perform an action, even if you is stressed.",
                HostShip
                );
        }
示例#4
0
 protected virtual void PerformFreeAction(object sender, System.EventArgs e)
 {
     TargetShip.AskPerformFreeAction(
         GetPossibleActions(),
         Triggers.FinishTrigger,
         "Coordinate action",
         "You are coordinated"
         );
 }
示例#5
0
 private void PerformFreeAction(object sender, System.EventArgs e)
 {
     TargetShip.AskPerformFreeAction(
         TargetShip.GetAvailablePrintedActionsList(),
         delegate {
         Selection.ThisShip = HostShip;
         Phases.CurrentSubPhase.Resume();
         Triggers.FinishTrigger();
     });
 }
示例#6
0
 private void GrantFreeFocusAction()
 {
     TargetShip.AskPerformFreeAction(
         new FocusAction()
     {
         Host = TargetShip
     },
         SelectShipSubPhase.FinishSelection
         );
 }
示例#7
0
 private void PerformFreeAction(object sender, System.EventArgs e)
 {
     TargetShip.AskPerformFreeAction(
         Selection.ThisShip.GetAvailablePrintedActionsList(),
         delegate
     {
         Selection.ThisShip = originalShip;
         Triggers.FinishTrigger();
     });
 }
示例#8
0
 private void PerformFreeAction()
 {
     Selection.ThisShip = TargetShip;
     TargetShip.GenerateAvailableActionsList();
     TargetShip.AskPerformFreeAction(TargetShip.GetAvailableActionsList(),
                                     delegate {
         Selection.ThisShip = HostShip;
         SelectShipSubPhase.FinishSelection();
     });
 }
示例#9
0
        protected virtual void PerformFreeAction()
        {
            Selection.ThisShip = TargetShip;

            TargetShip.AskPerformFreeAction(
                TargetShip.GetAvailableActions(),
                delegate {
                Selection.ThisShip = HostShip;
                SelectShipSubPhase.FinishSelection();
            });
        }
示例#10
0
 private void GrantFreeFocusAction()
 {
     Selection.ThisShip = TargetShip;
     TargetShip.AskPerformFreeAction(
         new FocusAction()
     {
         HostShip = TargetShip
     },
         AfterFreeFocusAction
         );
 }
示例#11
0
        protected override void PerformFreeAction(object sender, System.EventArgs e)
        {
            List <GenericAction> actions = TargetShip.GetAvailableActions();

            TargetShip.AskPerformFreeAction(
                actions,
                delegate {
                Selection.ThisShip = HostShip;
                Phases.CurrentSubPhase.Resume();
                Triggers.FinishTrigger();
            });
        }
示例#12
0
        private void PerformFreeAction(object sender, System.EventArgs e)
        {
            List <GenericAction> actions = Selection.ThisShip.GetAvailableActions();

            TargetShip.AskPerformFreeAction(
                actions,
                Triggers.FinishTrigger,
                SquadLeaderUpgrade.UpgradeInfo.Name,
                "You may immediately perform 1 free action",
                SquadLeaderUpgrade
                );
        }
示例#13
0
        protected virtual void PerformFreeAction(object sender, System.EventArgs e)
        {
            List <GenericAction> actions          = TargetShip.GetAvailableActions();
            List <GenericAction> actionBarActions = actions.Where(n => n.IsInActionBar).ToList();

            TargetShip.AskPerformFreeAction(
                actionBarActions,
                delegate {
                Selection.ThisShip = HostShip;
                Phases.CurrentSubPhase.Resume();
                Triggers.FinishTrigger();
            });
        }
示例#14
0
        protected override void PerformFreeAction()
        {
            Selection.ThisShip = TargetShip;

            TargetShip.AskPerformFreeAction(
                TargetShip.GetAvailableActionsAsRed(),
                delegate {
                Selection.ThisShip = HostShip;
                SelectShipSubPhase.FinishSelection();
            },
                HostShip.PilotInfo.PilotName,
                "You may perform an action, treating it as red",
                HostShip
                );
        }
示例#15
0
 private void GrantFreeFocusAction()
 {
     SelectShipSubPhase.FinishSelectionNoCallback();
     Selection.ThisShip = TargetShip;
     TargetShip.AskPerformFreeAction(
         new FocusAction()
     {
         HostShip = TargetShip
     },
         AfterFreeFocusAction,
         HostShip.PilotInfo.PilotName,
         "You may perform a Focus action",
         HostShip
         );
 }
示例#16
0
        protected virtual void PerformFreeAction()
        {
            Selection.ThisShip = TargetShip;

            TargetShip.AskPerformFreeAction(
                TargetShip.GetAvailableActions(),
                delegate {
                Selection.ThisShip = HostShip;
                SelectShipSubPhase.FinishSelection();
            },
                HostShip.PilotInfo.PilotName,
                "You may perform 1 free action",
                HostShip
                );
        }
示例#17
0
 private void AskPerformBoostAction(object sender, System.EventArgs e)
 {
     TargetShip.AskPerformFreeAction(
         new List <GenericAction>()
     {
         new BoostAction()
         {
             Color = ActionColor.Red
         }
     },
         Triggers.FinishTrigger,
         HostShip.PilotInfo.PilotName,
         "You perform a red Boost action",
         HostShip
         );
 }
示例#18
0
        private void TargetIsSelected()
        {
            SelectShipSubPhase.FinishSelectionNoCallback();

            HostShip.State.Force--;

            Selection.ChangeActiveShip(TargetShip);

            TargetShip.AskPerformFreeAction(
                new FocusAction()
            {
                Color = Actions.ActionColor.Red, CanBePerformedWhileStressed = true
            },
                FinishAbility,
                descriptionShort: HostUpgrade.UpgradeInfo.Name,
                descriptionLong: "You may perfrom a red Focus action even while stressed",
                imageHolder: HostUpgrade,
                isForced: true
                );
        }
示例#19
0
        private void AskToPerformRedEvadeAction()
        {
            SelectShipSubPhase.FinishSelectionNoCallback();

            Selection.ChangeActiveShip(TargetShip);

            HostShip.State.SpendForce(
                1,
                delegate
            {
                TargetShip.AskPerformFreeAction(
                    new EvadeAction()
                {
                    Color = ActionColor.Red
                },
                    Triggers.FinishTrigger,
                    descriptionShort: "Kit Fisto",
                    descriptionLong: "You must perform red Evade action",
                    imageHolder: HostUpgrade,
                    isForced: true
                    );
            }
                );
        }
示例#20
0
 protected virtual void PerformFreeAction(object sender, System.EventArgs e)
 {
     TargetShip.AskPerformFreeAction(GetPossibleActions(), Triggers.FinishTrigger);
 }