private void FlipConfiguration(GenericShip ship, Action callback) { ship.Tokens.AssignToken ( typeof(Tokens.StrainToken), delegate { GenericDualUpgrade dualUpgrade = ship.UpgradeBar.GetInstalledUpgrade(UpgradeType.Configuration) as GenericDualUpgrade; if (dualUpgrade != null) { dualUpgrade.Flip(); ship.Tokens.AssignToken ( typeof(Tokens.CalculateToken), callback ); } else { Messages.ShowError("Error: No configuration to flip"); callback(); } } ); }
private void SelectSide(GenericDualUpgrade newUpgradeSide) { if (Upgrade.GetType() != newUpgradeSide.GetType()) { Upgrade.Flip(); } DecisionSubPhase.ConfirmDecision(); }
private void SelectSide(GenericDualUpgrade newUpgradeSide) { if (Upgrade.GetType() != newUpgradeSide.GetType()) { Upgrade.Flip((otherSide) => otherSide.Host.CallOnAfterDualUpgradeSideSelected(otherSide)); } else { Upgrade.Host.CallOnAfterDualUpgradeSideSelected(Upgrade); } DecisionSubPhase.ConfirmDecision(); }