コード例 #1
0
        internal void UpdateDisplayText()
        {
            if (textDelay-- > 0)
            {
                return; // Slow down the text update
            }
            textDelay = TextDelayTicks;

            if (MaterialsProcessing.Count > 0 || this.CurrentPower > 0)
            {
                string maxPowerText       = this.MaxPowerText;
                string currentPowerString = this.CurrentPower.ToString().PadLeft(maxPowerText.Length, ' ');

                BaseBioReactorGeometry baseBioReactorGeometry = BioReactor.GetModel();
                baseBioReactorGeometry.text.text = $"<color=#00ff00>{Language.main.Get("BaseBioReactorActive")}\n{currentPowerString}/{maxPowerText}</color>";
            }

            if (!PdaIsOpen)
            {
                return;
            }

            foreach (BioEnergy material in MaterialsProcessing)
            {
                material.UpdateInventoryText();
            }
        }
コード例 #2
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);
        }
コード例 #3
0
        public override void SpawnPostProcess(Base latestBase, Int3 latestCell, GameObject finishedPiece)
        {
            NitroxId reactorId = NitroxEntity.GetId(finishedPiece);
            BaseBioReactorGeometry bioReactor       = finishedPiece.RequireComponent <BaseBioReactorGeometry>();
            GameObject             bioReactorModule = ((BaseBioReactor)bioReactor.ReflectionCall("GetModule")).gameObject;

            NitroxId moduleId = reactorId.Increment();

            NitroxEntity.SetNewId(bioReactorModule, moduleId);
        }
コード例 #4
0
        // 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
        }
コード例 #5
0
        public static bool Prefix(BaseBioReactorGeometry __instance)
        {
            var basebase1Color = __instance.GetAllComponentsInChildren <SkinnedMeshRenderer>();



            {
                foreach (var basebase01Color in basebase1Color)
                {
                    if (basebase01Color.name.Contains("Bio_Reactor_mesh_geo"))
                    {
                        basebase01Color.material.color = new Color32(Convert.ToByte(Config.fabricatorValue), Convert.ToByte(Config.fabricatorgValue), Convert.ToByte(Config.fabricatorbValue), 1);
                    }
                }
            }



            return(true);
        }
コード例 #6
0
        internal static bool Prefix(BaseBioReactor __instance, ref BaseBioReactorGeometry model)
        {
            CyBioReactorMini.GetMiniReactor(__instance).OnPdaOpen(model);

            return(false); // Full override
        }