Esempio n. 1
0
 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;
                }
            }
Esempio n. 3
0
        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);
            }
        }