Beispiel #1
0
            public static bool Prefix(VehicleDockingBay __instance, GameObject nearby)
            {
                SubRoot cyclops = UWE.Utils.GetComponentInHierarchy <SubRoot>(nearby.gameObject);

                if (cyclops != null && !InceptionManager.DockedCyclopses.Contains(cyclops))
                {
                    if ((bool)__instance.GetInstanceField("powered"))
                    {
                        SubRoot main = __instance.GetSubRoot();
                        main.BroadcastMessage("OnLaunchBayOpening", SendMessageOptions.DontRequireReceiver);
                        main.BroadcastMessage("LockDoors", SendMessageOptions.DontRequireReceiver);
                        if ((bool)__instance.GetInstanceField("soundReset"))
                        {
                            if (__instance.bayDoorsOpenSFX != null)
                            {
                                __instance.bayDoorsOpenSFX.Play();
                            }
                            __instance.SetInstanceField("soundReset", false);
                            __instance.Invoke("SoundReset", 1f);
                        }
                    }
                    __instance.SetInstanceField("nearbyVehicle", null);
                    return(false);
                }
                return(true);
            }
Beispiel #2
0
            public static bool Prefix(VehicleDockingBay __instance, GameObject nearby)
            {
                SubRoot subRoot = UWE.Utils.GetComponentInHierarchy <SubRoot>(nearby.gameObject);

                if (subRoot != null)
                {
                    __instance.GetSubRoot().BroadcastMessage("UnlockDoors", SendMessageOptions.DontRequireReceiver);
                    if ((bool)__instance.GetInstanceField("soundReset"))
                    {
                        if (__instance.bayDoorsCloseSFX != null)
                        {
                            __instance.bayDoorsCloseSFX.Play();
                        }
                        __instance.SetInstanceField("soundReset", false);
                        __instance.Invoke("SoundReset", 1f);
                    }
                    return(false);
                }
                return(true);
            }