private void PerformReposition(GenericShip ship, Action callback) { Selection.ChangeActiveShip(ship); ship.Tokens.AssignToken ( typeof(Tokens.StrainToken), delegate { ship.AskPerformFreeAction ( new List <GenericAction>() { new BarrelRollAction() { HostShip = ship }, new BoostAction() { HostShip = ship }, }, callback, descriptionShort: "\"Hawk\"", descriptionLong: "You can perform barrel roll or boost action", imageHolder: ship ); } ); }
private void PerformRedCalculateActionRecursive(Action callback) { GenericShip currentShip = Selection.MultiSelectedShips.FirstOrDefault(); if (currentShip == null) { Selection.ChangeActiveShip(HostShip); callback(); } else { Selection.MultiSelectedShips.Remove(currentShip); Selection.ChangeActiveShip(currentShip); currentShip.AskPerformFreeAction( new FocusAction() { Color = Actions.ActionColor.Red }, delegate { PerformRedCalculateActionRecursive(callback); }, HostShip.PilotInfo.PilotName, "You may perform red Calculate action", HostShip ); } }
protected virtual void PerformFreeAction(GenericShip targetShip) { targetShip.AskPerformFreeAction( GetPossibleActions(), delegate { Selection.ChangeActiveShip(CoordinateActionData.CoordinateProvider); Triggers.FinishTrigger(); }, "Coordinate action", "You are coordinated by " + CoordinateActionData.CoordinateProvider.PilotInfo.PilotName ); }
private void EachShipAction(GenericShip ship, Action action) { Selection.ChangeActiveShip(ship); ship.Tokens.AssignToken(typeof(Tokens.StrainToken), delegate { ship.AskPerformFreeAction(new FocusAction(), action, descriptionShort: "Clone Captain Rex", descriptionLong: "You may perform a Focus action", imageHolder: HostUpgrade ); }); }