public void CallManeuverIsRevealed(Action callBack, Action whenSkippedCallback) { if (AssignedManeuver != null) { Roster.ToggleManeuverVisibility(Selection.ThisShip, true); } if (AssignedManeuver != null && AssignedManeuver.IsRevealDial) { // Make a new copy of AssignedManeuver, so changes to it doesn't affect RevealedManeuver RevealedManeuver = ShipMovementScript.CopyMovement(AssignedManeuver); OnManeuverIsRevealed?.Invoke(this); OnManeuverIsRevealedGlobal?.Invoke(this); Triggers.ResolveTriggers( TriggerTypes.OnManeuverIsRevealed, delegate { if (!IsManeuverSkipped) { callBack(); } else { whenSkippedCallback(); } } ); } else // For ionized ships { OnNoManeuverWasRevealedGlobal?.Invoke(this); callBack(); } }