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(); } }
// 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 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); }
// 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 }
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); }
internal static bool Prefix(BaseBioReactor __instance, ref BaseBioReactorGeometry model) { CyBioReactorMini.GetMiniReactor(__instance).OnPdaOpen(model); return(false); // Full override }