internal static void Postfix(SeaMoth __instance, bool docked, Vehicle.DockType dockType) { if (__instance.gameObject.TryGetComponent(out SeamothArmManager manager)) { manager.onDockedChanged?.Trigger(docked); } else { SNLogger.Warn("Seamoth Arm Manager is not ready!"); } }
private static void Postfix(SeaMoth __instance, bool docked, Vehicle.DockType dockType) { Transform[] torpedoSilos = { __instance.transform.Find("TorpedoSiloLeft"), __instance.transform.Find("TorpedoSiloRight"), __instance.transform.Find("TorpedoSiloUpperLeft"), __instance.transform.Find("TorpedoSiloUpperRight"), }; foreach (var torpedoSilo in torpedoSilos) { var collider = torpedoSilo.GetComponent <Collider>(); collider.enabled = dockType != Vehicle.DockType.Cyclops; } }
internal static void Postfix(SeaMoth __instance, bool docked, Vehicle.DockType dockType) { SeamothArmManager control = null; try { control = __instance.gameObject.GetComponent <SeamothArmManager>().Instance; } catch { SNLogger.Log("[SeamothArms] OnDockedChanged Patch Warning! Seamoth Arm Manager is not ready!"); return; } if (control != null && control.onDockedChanged != null) { control.onDockedChanged.Trigger(docked); } }