Esempio n. 1
0
        private void FinishAdaptiveAileronsAbility()
        {
            doAilerons = false;
            HostShip.CanPerformActionsWhenBumped      = false;
            HostShip.CanPerformActionsWhenOverlapping = false;
            RestoreManuverColors(HostShip);
            Phases.CurrentSubPhase.IsReadyForCommands = true;
            //ship may have flown off the board; only assign saved maneuver if ship is exists
            if (Roster.GetShipById("ShipId:" + Selection.ThisShip.ShipId) != null)
            {
                ManeuverSelectionSubphase subphase = Phases.StartTemporarySubPhaseNew <ManeuverSelectionSubphase>(
                    "Select a maneuver",
                    Triggers.FinishTrigger
                    );
                subphase.RequiredPlayer = Selection.ThisShip.Owner.PlayerNo;
                subphase.Start();
                subphase.IsReadyForCommands = true;

                ShipMovementScript.SendAssignManeuverCommand(Selection.ThisShip.ShipId, SavedManeuver.ToString());
            }
            else
            {
                Triggers.FinishTrigger();
            }
        }
Esempio n. 2
0
    private static void StartAssignManeuverSubphase(Action<string> doWithSelectedManeuver)
    {
        ManeuverSelectionSubphase subphase = Phases.StartTemporarySubPhaseNew<ManeuverSelectionSubphase>(
            "Select a maneuver",
            Triggers.FinishTrigger
        );
        subphase.RequiredPlayer = Phases.CurrentSubPhase.RequiredPlayer;
        subphase.Start();

        DeleteOldDirectionsMenu();

        Callback = doWithSelectedManeuver;
    }