// Completely replaces the original OnUse method in the BaseBioReactor
        internal void OnPdaOpen(BaseBioReactorGeometry model)
        {
            fallbackGeometry = model;

            PdaIsOpen = true;
            OpenInPda = this;

            PDA pda = Player.main.GetPDA();

            Inventory.main.SetUsedStorage(BioReactor.container, false);
#if SUBNAUTICA
            pda.Open(PDATab.Inventory, model.storagePivot, new PDA.OnClose(OnPdaClose), 4f);
#elif BELOWZERO
            pda.Open(PDATab.Inventory, model.storagePivot, new PDA.OnClose(OnPdaClose));
#endif
        }
Esempio n. 2
0
        private void Start()
        {
            //get player instance
            PlayerMain = Player.main;
            PdaMain    = PlayerMain.GetPDA();
            //forced triggering the Awake method in uGUI_Equipment for patching
            PdaMain.Open();
            PdaMain.Close();
            //add and start a handler to check the player mode if changed
            PlayerMain.playerModeChanged.AddHandler(gameObject, new Event <Player.Mode> .HandleFunction(OnPlayerModeChanged));

            string vehicleName = string.Empty;

            if (ThisVehicle)
            {
                isActive    = (PlayerMain.GetVehicle() == ThisVehicle);
                vehicleName = ThisVehicle.vehicleName;
            }
            else if (helper.isReady)
            {
                isActive    = (PlayerMain.GetComponentInParent <SeaTruckUpgrades>() == helper.TruckUpgrades);
                vehicleName = helper.TruckName;
            }

            BZLogger.Log($"Broadcasting message: 'WakeUp', Name: {vehicleName}, Instance ID: {gameObject.GetInstanceID()}");
            gameObject.BroadcastMessage("WakeUp");
        }
Esempio n. 3
0
        private void OpenPDA()
        {
            bool isStorageTypeExists = TechTypeHandler.TryGetModdedTechType(storageModuleString, out TechType techType);

            if (!isStorageTypeExists)
            {
                return;
            }

            ItemsContainer storageInSlot = helper.GetSeamothStorageInSlot(slotID, techType);

            if (storageInSlot != null)
            {
                PDA pda = Player.main.GetPDA();

                Inventory.main.SetUsedStorage(storageInSlot, false);

                if (!pda.Open(PDATab.Inventory, tr, new PDA.OnClose(OnClosePDA)))
                {
                    OnClosePDA(pda);
                }
            }
            else
            {
                OnClosePDA(null);
            }
        }
Esempio n. 4
0
        public void OpenStorage()
        {
            Player main = Player.main;
            PDA    pda  = main.GetPDA();

            Inventory.main.SetUsedStorage(_dumpContainer, false);
            pda.Open(PDATab.Inventory, null, OnDumpClose, 4f);
        }
Esempio n. 5
0
        // Completely replaces the original OnUse method in the BaseBioReactor
        internal void OnPdaOpen(BaseBioReactorGeometry model)
        {
            pdaIsOpen = true;

            PDA pda = Player.main.GetPDA();

            Inventory.main.SetUsedStorage(this.BioReactor.container, false);
            pda.Open(PDATab.Inventory, model.storagePivot, new PDA.OnClose(OnPdaClose), 4f);
        }
        public static void openPDA()
        {
            PDA pda = Player.main.GetPDA();

            if (!pda.Open())
            {
                return;
            }
        }
Esempio n. 7
0
        public void OnHandClick(HandTargetEventData data)
        {
            PDA pda = Player.main.GetPDA();

            if (!pda.isInUse)
            {
                Inventory.main.SetUsedStorage(equipment, false);
                pda.Open(PDATab.Inventory, transform, null);
            }
        }
        internal void OpenStorage()
        {
            QuickLogger.Debug($"Dump Button Clicked", true);

            Player main = Player.main;
            PDA    pda  = main.GetPDA();

            Inventory.main.SetUsedStorage(_dumpContainer, false);
            pda.Open(PDATab.Inventory, null, new PDA.OnClose(OnPDACloseMethod), 4f);
            _mono.AnimationManager.ToggleDriveState();
        }
Esempio n. 9
0
        public static void Postfix(Exosuit __instance)
        {
            if (!((Vehicle)__instance).GetPilotingMode())
            {
                return;
            }
            PDA pda = PDA_Awake_Patch.Pda;

            using (List <GameInput.Button> .Enumerator enumerator = QPatch.UpgradeButtons.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    if (GameInput.GetButtonDown(enumerator.Current))
                    {
                        if (Object.Equals((Object)pda, (Object)null) && pda.Open())
                        {
                            pda.Close();
                            return;
                        }
                        ((VehicleUpgradeConsoleInput)((Vehicle)__instance).upgradesInput).OpenFromExternal();
                        return;
                    }
                }
            }
            using (List <GameInput.Button> .Enumerator enumerator = QPatch.StorageButtons.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    if (GameInput.GetButtonDown(enumerator.Current))
                    {
                        if (Object.Equals((Object)pda, (Object)null) && pda.Open())
                        {
                            pda.Close();
                            break;
                        }
                        ((StorageContainer)__instance.storageContainer).Open();
                        break;
                    }
                }
            }
        }
Esempio n. 10
0
        public void OnHandClick(GUIHand hand)
        {
            if (!WorldInstance.constructed)
            {
                return;
            }

            PDA pda = Player.main.GetPDA();

            Inventory.main.SetUsedStorage(Armour);
            pda.Open(PDATab.Inventory);
        }
 internal void Start()
 {
     //get player instance
     PlayerMain = Player.main;
     PdaMain    = PlayerMain.GetPDA();
     //forced triggering the Awake method in uGUI_Equipment for patching
     PdaMain.Open();
     PdaMain.Close();
     //add and start a handler to check the player mode if changed
     PlayerMain.playerModeChanged.AddHandler(gameObject, new Event <Player.Mode> .HandleFunction(OnPlayerModeChanged));
     isActive = PlayerMain.GetVehicle() == ThisVehicle ? true : false;
 }
        private void OpenStorage(ItemsContainer container)
        {
            if (_lockInputContainer)
            {
                QuickLogger.Info(SeaCookerBuildable.CookingCantOpen(), true);
                return;
            }
            Player main = Player.main;
            PDA    pda  = main.GetPDA();

            Inventory.main.SetUsedStorage(container, false);
            pda.Open(PDATab.Inventory, null, null, 4f);
        }
        internal static void OnUpgradeModuleUseFromExosuit(Exosuit exosuit, TechType techType, int slotId)
        {
            if (!IsStorageModule(techType))
            {
                return;
            }
            var slotItem       = exosuit.GetSlotItem(slotId);
            var itemsContainer = exosuit.storageContainer.container;
            PDA pda            = Player.main.GetPDA();

            Inventory.main.SetUsedStorage(itemsContainer);
            pda.Open(PDATab.Inventory);
        }
        internal static void OnUpgradeModuleUse(SeaMoth seaMoth, TechType techType, int slotId)
        {
            if (!IsStorageModule(techType))
            {
                return;
            }
            var slotItem       = seaMoth.GetSlotItem(slotId);
            var itemsContainer = GetItemsContainerFromIventoryItem(slotItem, techType);
            PDA pda            = Player.main.GetPDA();

            Inventory.main.SetUsedStorage(itemsContainer);
            pda.Open(PDATab.Inventory);
        }
Esempio n. 15
0
        public void OnHandClick(GUIHand guiHand)
        {
            if (!Buildable.constructed)
            {
                return;
            }

            Player main = Player.main;
            PDA    pda  = main.GetPDA();

            Inventory.main.SetUsedStorage(this.Modules, false);
            pda.Open(PDATab.Inventory, null, null, -1f);
        }
        internal void OpenSlots()
        {
            QuickLogger.Debug($"Powercell Slots Open", true);

            //if (!isContstructed.Invoke())
            //    return;

            Player main = Player.main;
            PDA    pda  = main.GetPDA();

            Inventory.main.SetUsedStorage(_batteryContainer, false);
            pda.Open(PDATab.Inventory, null, null, 4f);
        }
        public void OpenStorage()
        {
            QuickLogger.Debug($"Storage Button Clicked", true);

            if (!_isContstructed.Invoke())
            {
                return;
            }

            Player main = Player.main;
            PDA    pda  = main.GetPDA();

            Inventory.main.SetUsedStorage(_container, false);
            pda.Open(PDATab.Inventory, null, new PDA.OnClose(OnPDACloseMethod), 4f);
        }
Esempio n. 18
0
        public void OpenStorage()
        {
            Player main = Player.main;
            PDA    pda  = main.GetPDA();

            if (_dumpContainer != null && pda != null)
            {
                Inventory.main.SetUsedStorage(_dumpContainer, false);
                pda.Open(PDATab.Inventory, null, OnDumpClose, 4f);
            }
            else
            {
                QuickLogger.Error($"Failed to open the pda values: PDA = {pda} || Dump Container: {_dumpContainer}");
            }
        }
Esempio n. 19
0
        internal void OpenEquipment()
        {
            PDA pda = Player.main.GetPDA();

            if (!pda.isInUse)
            {
                if (_equipment == null)
                {
                    QuickLogger.Debug("Equipment is null", true);
                }

                Inventory.main.SetUsedStorage(_equipment, false);
                pda.Open(PDATab.Inventory, gameObject.transform, null, 4f);
            }
        }
Esempio n. 20
0
        public void OnHandClick(GUIHand guiHand)
        {
            if (OverLimit)
            {
                ErrorMessage.AddMessage(CyBioReactor.OverLimitString());
                return;
            }

            PDA pda = Player.main.GetPDA();

            Inventory.main.SetUsedStorage(Container);
            pda.Open(PDATab.Inventory, null, new PDA.OnClose(CyOnPdaClose), 4f);

            pdaIsOpen = true;
        }
        public void OnHandClick(GUIHand guiHand)
        {
            if (!this.Buildable.constructed)
            {
                return;
            }

            PdaOverlayManager.StartConnectingToPda(this.Modules);

            Player main = Player.main;
            PDA    pda  = main.GetPDA();

            Inventory.main.SetUsedStorage(this.Modules, false);
            pda.Open(PDATab.Inventory, null, new PDA.OnClose((PDA closingPda) => PdaOverlayManager.DisconnectFromPda()), -1f);
        }
        public void OnHandClick(GUIHand hand)
        {
            if (!_buildable.constructed)
            {
                return;
            }

            Player main = Player.main;
            PDA    pda  = main.GetPDA();

            Inventory.main.SetUsedStorage(RodsContainer, false);
            pda.Open(PDATab.Inventory, null, new PDA.OnClose(CyOnPdaClose), 4f);

            pdaIsOpen = true;
        }
Esempio n. 23
0
        internal void Start()
        {
            PdaMain = Player.main.GetPDA();
            //forced triggering the Awake method in uGUI_Equipment for patching
            PdaMain.Open();
            PdaMain.Close();

            //add and start a handler to check the player mode if changed
            Player.main.playerModeChanged.AddHandler(this, new Event <Player.Mode> .HandleFunction(OnPlayerModeChanged));

            isActive = Player.main.currentMountedVehicle == ThisVehicle ? true : false;

            SNLogger.Log($"[SlotExtender] Broadcasting message: 'WakeUp', Vehicle Name: {ThisVehicle.GetName()}, Instance ID: {ThisVehicle.GetInstanceID()}");

            gameObject.BroadcastMessage("WakeUp", SendMessageOptions.DontRequireReceiver);
        }
Esempio n. 24
0
        internal void OpenModulesDoor()
        {
            if (_mono.IsInvalidPlacement())
            {
                return;
            }

            QuickLogger.Debug("Modules Door Opened", true);
            PDA pda = Player.main.GetPDA();

            if (!pda.isInUse)
            {
                Inventory.main.SetUsedStorage(_equipment, false);
                pda.Open(PDATab.Inventory, _mono.transform, null, 4f);
            }
        }
        internal void OpenContainer(Vehicle vehicle, ItemsContainer container)
        {
            var containers = DSSHelpers.GetVehicleContainers(vehicle);

            foreach (ItemsContainer currentContainer in containers)
            {
                if (container != currentContainer)
                {
                    continue;
                }

                Player main = Player.main;
                PDA    pda  = main.GetPDA();
                Inventory.main.SetUsedStorage(container, false);
                pda.Open(PDATab.Inventory, null, null, 4f);
                break;
            }
        }
Esempio n. 26
0
        public void OpenFromExternal()
        {
            bool isStorageTypeExists = TechTypeHandler.TryGetModdedTechType(storageModuleString, out TechType techType);

            if (!isStorageTypeExists)
            {
                return;
            }

            ItemsContainer storageInSlot = helper.GetSeamothStorageInSlot(slotID, techType);

            if (storageInSlot != null)
            {
                PDA pda = Player.main.GetPDA();
                Inventory.main.SetUsedStorage(storageInSlot, false);
                pda.Open(PDATab.Inventory, null, null);
            }
        }
        internal void OpenFuelTank()
        {
            QuickLogger.Debug("Modules Door Opened", true);
            PDA pda = Player.main.GetPDA();

            if (!pda.isInUse)
            {
                if (_equipment == null)
                {
                    QuickLogger.Error("Equipment returned null");
                    return;
                }
                QuickLogger.Debug("0");
                Inventory.main.SetUsedStorage(_equipment, false);
                QuickLogger.Debug("1");
                pda.Open(PDATab.Inventory, _mono.transform, null, 4f);
                QuickLogger.Debug("2");
            }
        }
        internal static void RefreshPDA()
        {
            if (_pdaRefreshed || Player.main == null || !LargeWorldStreamer.main.IsReady())
            {
                return;
            }

            PDA pdaMain = Player.main?.GetPDA();

            if (pdaMain == null)
            {
                QuickLogger.Error("Player GetPDA was null when trying to refresh PDA");
                return;
            }

            pdaMain.Open(PDATab.None, null, null, -1f);
            pdaMain.Close();
            QuickLogger.Debug("Deep Driller refreshed PDA.");
            _pdaRefreshed = true;
        }
        public void OnHandClick(GUIHand hand)
        {
            PDA pda = Player.main.GetPDA();

            if (!pda.isInUse)
            {
                if (_equipment == null)
                {
                    QuickLogger.Debug("Equipment is null", true);
                }

                Inventory.main.SetUsedStorage(_equipment, false);
                pda.Open(PDATab.Inventory, gameObject.transform, null, 4f);
            }



            var f = Equipment.slotMapping.Where(x => x.Value == EquipmentType.PowerCellCharger);

            foreach (var VARIABLE in f)
            {
                QuickLogger.Debug($"Found slot {VARIABLE}");
            }
        }