public static void SelectionStateSensorLock_CreateFiringOrders_Postfix(SelectionStateSensorLock __instance, string button) { Mod.Log.Trace?.Write("SSSL:CFO entered"); if (button == "BTN_FireConfirm" && __instance.HasTarget) { ModState.SelectionStateSensorLock = __instance; } }
public static void SelectionStateSensorLock_CanActorUseThisState_Postfix(SelectionStateSensorLock __instance, AbstractActor actor, ref bool __result) { Mod.Log.Trace?.Write("SSSL:CAUTS entered"); if (PilotHasFreeSensorLockAbility(actor)) { Pilot pilot = actor?.GetPilot(); Ability activeAbility = pilot.GetActiveAbility(ActiveAbilityID.SensorLock); bool flag = (activeAbility != null && activeAbility.IsAvailable); Mod.Log.Debug?.Write($" Pilot has sensorLock:{activeAbility} and abilityIsAvailable:{activeAbility.IsAvailable}"); __result = flag; } }