public override void Initialize() { _prefabId = GetComponentInParent <PrefabIdentifier>(); if (_prefabId == null) { QuickLogger.Error("Prefab Identifier Component was not found"); } if (_buildable == null) { _buildable = GetComponentInParent <Constructable>() ?? GetComponent <Constructable>(); } if (!FindAllComponents()) { IsInitialized = false; throw new MissingComponentException("Failed to find all components"); } if (PowerManager == null) { PowerManager = gameObject.EnsureComponent <AMMiniMedBayPowerManager>(); } if (PlayerTrigger == null) { PlayerTrigger = gameObject.FindChild("model").FindChild("Trigger").EnsureComponent <AMMiniMedBayTrigger>(); } if (PlayerTrigger != null) { PlayerTrigger.OnPlayerStay += OnPlayerStay; PlayerTrigger.OnPlayerExit += OnPlayerExit; } else { QuickLogger.Error("Player Trigger Component was not found"); } if (AnimationManager == null) { AnimationManager = gameObject.EnsureComponent <AMMiniMedBayAnimationManager>(); } if (PowerManager != null) { PowerManager.Initialize(this); PowerManager.OnPowerOutage += OnPowerOutage; PowerManager.OnPowerResume += OnPowerResume; //Setting to true to prevent power consumption when not in use on load PowerManager.SetHasBreakerTripped(true); } else { QuickLogger.Error("Power Manager Component was not found"); } PageHash = UnityEngine.Animator.StringToHash("state"); if (AudioHandler == null) { AudioHandler = new AMMiniMedBayAudioManager(gameObject.GetComponent <FMOD_CustomLoopingEmitter>()); } if (Container == null) { Container = new AMMiniMedBayContainer(this); } if (_display == null) { _display = gameObject.AddComponent <AMMiniMedBayDisplay>(); } if (Player.main.gameObject.GetComponent <NitrogenLevel>() != null) { _nitrogenLevel = Player.main.gameObject.GetComponent <NitrogenLevel>(); InvokeRepeating(nameof(UpdateNitrogenDisplay), 1, 0.5f); } IsInitialized = true; }
private static void RegisterExternalUpgrades() { UpgradeManager.RegisterReusableHandlerCreator(() => { QuickLogger.Debug("UpgradeHandler Registered: Depth Upgrades Collection"); return(new CrushDepthUpgradesHandler()); }); UpgradeManager.RegisterReusableHandlerCreator(() => { QuickLogger.Debug("UpgradeHandler Registered: CyclopsShieldModule"); return(new UpgradeHandler(TechType.CyclopsShieldModule) { OnClearUpgrades = (SubRoot cyclops) => { cyclops.shieldUpgrade = false; }, OnUpgradeCounted = (SubRoot cyclops, Equipment modules, string slot) => { cyclops.shieldUpgrade = true; }, }); }); UpgradeManager.RegisterReusableHandlerCreator(() => { QuickLogger.Debug("UpgradeHandler Registered: CyclopsSonarModule"); return(new UpgradeHandler(TechType.CyclopsSonarModule) { OnClearUpgrades = (SubRoot cyclops) => { cyclops.sonarUpgrade = false; }, OnUpgradeCounted = (SubRoot cyclops, Equipment modules, string slot) => { cyclops.sonarUpgrade = true; }, }); }); UpgradeManager.RegisterReusableHandlerCreator(() => { QuickLogger.Debug("UpgradeHandler Registered: CyclopsSeamothRepairModule"); return(new UpgradeHandler(TechType.CyclopsSeamothRepairModule) { OnClearUpgrades = (SubRoot cyclops) => { cyclops.vehicleRepairUpgrade = false; }, OnUpgradeCounted = (SubRoot cyclops, Equipment modules, string slot) => { cyclops.vehicleRepairUpgrade = true; }, }); }); UpgradeManager.RegisterReusableHandlerCreator(() => { QuickLogger.Debug("UpgradeHandler Registered: CyclopsDecoyModule"); return(new UpgradeHandler(TechType.CyclopsDecoyModule) { OnClearUpgrades = (SubRoot cyclops) => { cyclops.decoyTubeSizeIncreaseUpgrade = false; }, OnUpgradeCounted = (SubRoot cyclops, Equipment modules, string slot) => { cyclops.decoyTubeSizeIncreaseUpgrade = true; }, }); }); UpgradeManager.RegisterReusableHandlerCreator(() => { QuickLogger.Debug("UpgradeHandler Registered: CyclopsFireSuppressionModule"); return(new UpgradeHandler(TechType.CyclopsFireSuppressionModule) { OnClearUpgrades = (SubRoot cyclops) => { CyclopsHolographicHUD fss = cyclops.GetComponentInChildren <CyclopsHolographicHUD>(); if (fss != null) { fss.fireSuppressionSystem.SetActive(false); } }, OnUpgradeCounted = (SubRoot cyclops, Equipment modules, string slot) => { CyclopsHolographicHUD fss = cyclops.GetComponentInChildren <CyclopsHolographicHUD>(); if (fss != null) { fss.fireSuppressionSystem.SetActive(true); } }, }); }); }
internal static void Postfix(BaseBioReactor __instance, ProtobufSerializer serializer) { QuickLogger.Debug("OnProtoSerializeObjectTree"); CyBioReactorMini.GetMiniReactor(__instance).OnProtoSerializeObjectTree(serializer); }
public override GameObject GetGameObject() { try { QuickLogger.Debug("Making GameObject"); QuickLogger.Debug("Instantiate GameObject"); var prefab = GameObject.Instantiate(_Prefab); // Add large world entity ALLOWS YOU TO SAVE ON TERRAIN var lwe = prefab.AddComponent <LargeWorldEntity>(); lwe.cellLevel = LargeWorldEntity.CellLevel.Far; var model = prefab.FindChild("model"); SkyApplier skyApplier = prefab.AddComponent <SkyApplier>(); skyApplier.renderers = model.GetComponentsInChildren <MeshRenderer>(); skyApplier.anchorSky = Skies.Auto; //========== Allows the building animation and material colors ==========// QuickLogger.Debug("Adding Constructible"); // Add constructible var constructable = prefab.AddComponent <Constructable>(); constructable.allowedOnWall = false; constructable.allowedOnGround = true; constructable.allowedInSub = false; constructable.allowedInBase = false; constructable.allowedOnCeiling = false; constructable.allowedOutside = true; constructable.model = model; constructable.rotationEnabled = true; constructable.allowedOnConstructables = false; constructable.techType = TechType; var center = new Vector3(0f, 2.970485f, 0f); var size = new Vector3(4.03422f, 5.701298f, 3.179399f); GameObjectHelpers.AddConstructableBounds(prefab, size, center); PrefabIdentifier prefabID = prefab.AddComponent <PrefabIdentifier>(); prefabID.ClassId = this.ClassID; var lm = prefab.AddComponent <LiveMixin>(); lm.data = CustomLiveMixinData.Get(); prefab.AddComponent <TechTag>().type = TechType; prefab.AddComponent <BeaconController>(); prefab.AddComponent <AIJetStreamT242Display>(); prefab.AddComponent <AIJetStreamT242PowerManager>(); prefab.AddComponent <AIJetStreamT242HealthManager>(); prefab.AddComponent <AIJetStreamT242AnimationManager>(); prefab.AddComponent <AIJetStreamT242Controller>(); return(prefab); } catch (Exception e) { QuickLogger.Error(e.Message); return(null); } }
private IEnumerator AutoSystem() { while (true) { QuickLogger.Debug($"PSCount {PowerStorageUnits.Count} || BPS {BasePowerStorageUnits.Count}"); if (PowerStorageUnits.Count > 0) { var fController = PowerStorageUnits[0]; var powerTap = fController.PowerManager; var sum = GetSum(); var basePower = powerTap.GetBasePower() - sum; var activationTarget = fController.GetAutoActivateAt(); QuickLogger.Debug($"Sum: {sum} || Base Power {basePower}"); QuickLogger.Debug($"Activation Target: {activationTarget} || Base Power {powerTap.GetBasePower()}"); if (basePower > activationTarget) { foreach (FCSPowerStorageController controller in PowerStorageUnits) { var unit = controller.PowerManager; if (unit == null || unit.GetPowerState() == FCSPowerStates.Unpowered) { continue; } unit.SetChargeMode(PowerToggleStates.ChargeMode); QuickLogger.Debug("Auto Charge Power Storage", true); } } else if (basePower <= activationTarget) { foreach (FCSPowerStorageController controller in PowerStorageUnits) { var unit = controller.PowerManager; if (unit != null) { QuickLogger.Debug($"Unit {controller.GetPrefabIDString()}", true); var chargeMode = unit.GetChargeMode(); var powerState = unit.GetPowerState(); if (powerState == FCSPowerStates.Unpowered) { continue; } QuickLogger.Debug(unit.GetBasePower().ToString(), true); if (chargeMode == PowerToggleStates.ChargeMode) { QuickLogger.Debug("Auto Activating Power Storage", true); unit.SetChargeMode(PowerToggleStates.TrickleMode); } } else { QuickLogger.Info("Unit is null continuing with operation."); } } } } yield return(new WaitForSeconds(0.5f)); } }
public override bool FindAllComponents() { try { #region Canvas var canvas = GameObjectHelpers.FindGameObject(gameObject, "Canvas"); #endregion #region Home Page var homePage = GameObjectHelpers.FindGameObject(canvas, "HomePage"); //Battery Fill _batteryFill = GameObjectHelpers.FindGameObject(homePage, "BatteryFrameFill")?.GetComponent <Image>(); //Power State GameObjectHelpers.FindGameObject(homePage, "PowerState_LBL").GetComponent <Text>().text = AlterraGenBuildable.PowerStateLBL(); _powerStateValue = GameObjectHelpers.FindGameObject(homePage, "PoweredState_Value")?.GetComponent <Text>(); //Counter _itemCounter = GameObjectHelpers.FindGameObject(homePage, "ItemsCount").GetComponent <Text>(); UpdateItemCount(0, _mono.PowerManager.MaxSlots); //Power Unit GameObjectHelpers.FindGameObject(homePage, "PowerUnit_LBL").GetComponent <Text>().text = AlterraGenBuildable.PowerUnitLBL(); _powerUnitValue = GameObjectHelpers.FindGameObject(homePage, "PowerUnit_Value")?.GetComponent <Text>(); //Battery Percentage GameObjectHelpers.FindGameObject(homePage, "BatteryPercentage_LBL").GetComponent <Text>().text = AlterraGenBuildable.BatteryPercentageLBL(); _batteryPercentageValue = GameObjectHelpers.FindGameObject(homePage, "BatteryPercentage_Percentage")?.GetComponent <Text>(); //Breaker State GameObjectHelpers.FindGameObject(homePage, "BreakerState_LBL").GetComponent <Text>().text = AlterraGenBuildable.BreakerStateLBL(); _breakerStatusLight = GameObjectHelpers.FindGameObject(homePage, "BreakerState_StatusLight")?.GetComponent <Image>(); //Power Button var powerBTNObject = GameObjectHelpers.FindGameObject(homePage, "PowerBTN"); InterfaceHelpers.CreateButton(powerBTNObject, "PowerBTN", InterfaceButtonMode.Background, OnButtonClick, Color.white, Color.cyan, MAX_INTERACTION_DISTANCE); //Dump Button var dumpBTN = GameObjectHelpers.FindGameObject(homePage, "DumpBTN"); InterfaceHelpers.CreateButton(dumpBTN, "DumpBTN", InterfaceButtonMode.Background, OnButtonClick, Color.gray, Color.white, MAX_INTERACTION_DISTANCE); //Color Picker BTN var colorPickerBTN = GameObjectHelpers.FindGameObject(homePage, "ColorPickerBTN"); InterfaceHelpers.CreateButton(colorPickerBTN, "ColorPickerBTN", InterfaceButtonMode.Background, OnButtonClick, Color.gray, Color.white, MAX_INTERACTION_DISTANCE); _grid = _mono.gameObject.AddComponent <GridHelper>(); _grid.OnLoadDisplay += OnLoadItemsGrid; _grid.Setup(3, AlterraGenBuildable.ItemPrefab, homePage, Color.gray, Color.gray, OnButtonClick); _unitID = GameObjectHelpers.FindGameObject(homePage, "UnitID")?.GetComponent <Text>(); #endregion #region PowerOff Page var poweroffPage = GameObjectHelpers.FindGameObject(canvas, "PowerOff"); var powerBTNObject2 = GameObjectHelpers.FindGameObject(poweroffPage, "PowerBTN"); InterfaceHelpers.CreateButton(powerBTNObject2, "PowerBTN", InterfaceButtonMode.Background, OnButtonClick, Color.white, Color.cyan, MAX_INTERACTION_DISTANCE); #endregion #region Color Page var colorPage = GameObjectHelpers.FindGameObject(canvas, "ColorPage"); _colorPage.SetupGrid(35, AlterraGenBuildable.ColorItemPrefab, colorPage, OnButtonClick, Color.white, Color.cyan); #endregion } catch (Exception e) { QuickLogger.Error(e.Message); return(false); } return(true); }
public static void Postfix(ref SubRoot __instance) { QuickLogger.Debug("On Kill", true); //var manager = BaseManager.FindManager(__instance); }
internal void Patch() { QuickLogger.Info($"Patching '{OriginalItemData.ID}' from '{Name}'"); CbCoreItem.Patch(); }
internal void KillBattery() { QuickLogger.Debug($"KillBattery"); _capacity = _charge = 0; OnKillBattery?.Invoke(); }
/// <summary> /// Writes an DEBUG level log to the log file if <see cref="DebugLogsEnabled" /> is enabled. Can be optionally printed to screen.<para /> /// No action taken when <see cref="DebugLogsEnabled" /> is set to <c>false</c>; /// </summary> /// <param name="logmessage">The log message to write.</param> /// <param name="showOnScreen">if set to <c>true</c> the log message will show on screen.</param> public void Debug(string logmessage, bool showOnScreen = false) { QuickLogger.Debug(logmessage, showOnScreen, Assembly.GetCallingAssembly().GetName()); }
internal static void Postfix(ref Inventory __instance, Pickupable pickupable) { QuickLogger.Debug($"Pickupable Type {pickupable.GetTechType()}", true); }
public override bool FindAllComponents() { #region Canvas var canvasGameObject = gameObject.GetComponentInChildren <Canvas>()?.gameObject; if (canvasGameObject == null) { QuickLogger.Error("Canvas cannot be found"); return(false); } #endregion #region Main var main = canvasGameObject.FindChild("Main")?.gameObject; if (main == null) { QuickLogger.Error("Main cannot be found"); return(false); } #endregion #region Status_LBL var statuslbl = main.FindChild("Status_LBL")?.gameObject.GetComponent <Text>(); if (statuslbl == null) { QuickLogger.Error("Status_LBL cannot be found"); return(false); } statuslbl.text = AIPowerCellSocketBuildable.Status(); #endregion #region Slot1 var slot1 = main.FindChild("Battery_1")?.gameObject; if (slot1 == null) { QuickLogger.Error("Battery_1 cannot be found"); return(false); } _s1Percent = slot1.FindChild("percentage").GetComponent <Text>(); _s1Percent.text = Language.main.Get("ChargerSlotEmpty"); _s1Fill = slot1.FindChild("Fill").GetComponent <Image>(); _s1Fill.color = _colorEmpty; _s1Fill.fillAmount = 0f; #endregion #region Slot2 var slot2 = main.FindChild("Battery_2")?.gameObject; if (slot2 == null) { QuickLogger.Error("Battery_2 cannot be found"); return(false); } _s2Percent = slot2.FindChild("percentage").GetComponent <Text>(); _s2Percent.text = Language.main.Get("ChargerSlotEmpty"); _s2Fill = slot2.FindChild("Fill").GetComponent <Image>(); _s2Fill.color = _colorEmpty; _s2Fill.fillAmount = 0f; #endregion #region Slot3 var slot3 = main.FindChild("Battery_3")?.gameObject; if (slot3 == null) { QuickLogger.Error("Battery_3 cannot be found"); return(false); } _s3Percent = slot3.FindChild("percentage").GetComponent <Text>(); _s3Percent.text = Language.main.Get("ChargerSlotEmpty"); _s3Fill = slot3.FindChild("Fill").GetComponent <Image>(); _s3Fill.color = _colorEmpty; _s3Fill.fillAmount = 0f; #endregion #region Slot4 var slot4 = main.FindChild("Battery_4")?.gameObject; if (slot4 == null) { QuickLogger.Error("Battery_4 cannot be found"); return(false); } _s4Percent = slot4.FindChild("percentage").GetComponent <Text>(); _s4Percent.text = Language.main.Get("ChargerSlotEmpty"); _s4Fill = slot4.FindChild("Fill").GetComponent <Image>(); _s4Fill.color = _colorEmpty; _s4Fill.fillAmount = 0f; #endregion return(true); }
private void InitializeUpgradeHandlers() { if (initialized) { return; } QuickLogger.Debug($"UpgradeManager adding new UpgradeHandlers from external mods"); // First, register upgrades from other mods. foreach (KeyValuePair <CreateUpgradeHandler, string> pair in HandlerCreators) { CreateUpgradeHandler upgradeHandlerCreator = pair.Key; string assemblyName = pair.Value; UpgradeHandler upgrade = upgradeHandlerCreator.Invoke(Cyclops); if (upgrade == null) { QuickLogger.Warning($"UpgradeHandler from '{assemblyName}' was null"); } else if (!KnownsUpgradeModules.ContainsKey(upgrade.TechType)) { upgrade.RegisterSelf(KnownsUpgradeModules); } else { QuickLogger.Warning($"Duplicate UpgradeHandler for '{upgrade.TechType.AsString()}' from '{assemblyName}' was blocked"); } } // Next, if no external mod has provided an UpgradeHandler for the vanilla upgrades, they will be added here. // This is to allow other mods to provide new functionality to the original upgrades. QuickLogger.Debug($"UpgradeManager adding default UpgradeHandlers for unmanaged vanilla upgrades"); for (int i = 0; i < vanillaUpgrades.OriginalUpgradeIDs.Count; i++) { TechType upgradeID = vanillaUpgrades.OriginalUpgradeIDs[i]; if (!KnownsUpgradeModules.ContainsKey(upgradeID)) { UpgradeHandler vanillaUpgrade = vanillaUpgrades.CreateUpgradeHandler(upgradeID, Cyclops); vanillaUpgrade.RegisterSelf(KnownsUpgradeModules); } } upgradeHandlers = new UpgradeHandler[KnownsUpgradeModules.Count]; int u = 0; foreach (UpgradeHandler upgrade in KnownsUpgradeModules.Values) { upgradeHandlers[u++] = upgrade; } QuickLogger.Debug("Attaching events to Engine Room Upgrade Console"); if (engineRoomUpgradeConsole == null) { engineRoomUpgradeConsole = Cyclops.upgradeConsole.modules; } AttachEquipmentEvents(ref engineRoomUpgradeConsole); engineRoomUpgradeSlots = new UpgradeSlot[AuxiliaryUpgradeConsole.TotalSlots] { new UpgradeSlot(engineRoomUpgradeConsole, "Module1"), new UpgradeSlot(engineRoomUpgradeConsole, "Module2"), new UpgradeSlot(engineRoomUpgradeConsole, "Module3"), new UpgradeSlot(engineRoomUpgradeConsole, "Module4"), new UpgradeSlot(engineRoomUpgradeConsole, "Module5"), new UpgradeSlot(engineRoomUpgradeConsole, "Module6") }; initialized = true; TooLateToRegister = true; }
private void OnPowerResume() { QuickLogger.Debug($"In OnPowerResume {_healingStatus}", true); //UpdateIsHealing(_healingStatus == HealingStatus.Healing); }
internal void OnButtonClick(string btnName, object additionalObject) { switch (btnName) { case "SentPackages": if (!_mono.HasItems()) { QuickLogger.Info($"There are no items to ship canceling shipment", true); return; } TargetScreen(); break; case "OpenContainer": _mono.OpenStorage(); _animatorController.OpenDoors(); break; case "CancelBTN": MainScreen(); break; case "ColorItem": var color = (Color)additionalObject; ColorHandler.ChangeBodyColor("AlterraShipping_BaseColor", color, _mono.gameObject); QuickLogger.Debug($"{_mono.gameObject.name} Color Changed to {color.ToString()}"); _mono.SetCurrentBodyColor(color); break; case "ColorPickerBTN": ColorPickerScreen(); break; case "ColorCancelBTN": MainScreen(); break; case "CancelTransferBTN": _mono.CancelTransfer(); break; case "ShippingContainer": var target = additionalObject as AlterraShippingTarget; if (target == null) { QuickLogger.Error <AlterraShippingDisplay>("The target shipping container returned null"); return; } if (target.IsReceivingTransfer || target.IsFull()) { QuickLogger.Message( $"Target Inventory doesn't have enough free slots or is receiving a shipment", true); return; } ShippingScreen(target); break; } }
internal void DestroyBattery() { QuickLogger.Debug($"Destroy Battery"); _charge = _capacity = 0f; _isBatteryDestroyed = true; }
private bool FindAllComponents() { #region Canvas _canvasGameObject = this.gameObject.GetComponentInChildren <Canvas>()?.gameObject; if (_canvasGameObject == null) { QuickLogger.Error("Canvas not found."); return(false); } #endregion #region Top var top = _canvasGameObject.FindChild("Top")?.gameObject; if (top == null) { QuickLogger.Error("Top not found."); return(false); } #endregion #region Overlay var overlay = _canvasGameObject.FindChild("Overlay")?.gameObject; if (overlay == null) { QuickLogger.Error("Overlay not found."); return(false); } #endregion #region Page_Name _pageName = overlay.FindChild("Page_Name").GetComponent <Text>(); if (_pageName == null) { QuickLogger.Error("Page_Name not found."); return(false); } #endregion #region Message _message = top.FindChild("Message").GetComponent <Text>(); if (_message == null) { QuickLogger.Error("Message found."); return(false); } #endregion #region Main var main = _canvasGameObject.FindChild("Main")?.gameObject; if (main == null) { QuickLogger.Error("Main not found."); return(false); } #endregion #region Page_1 var page1 = main.FindChild("Page_1")?.gameObject; if (page1 == null) { QuickLogger.Error("Page_1 not found."); return(false); } #endregion #region Page_2 var page2 = main.FindChild("Page_2")?.gameObject; if (page2 == null) { QuickLogger.Error("Page_2 not found."); return(false); } #endregion #region Page_3 var page3 = main.FindChild("Page_3")?.gameObject; if (page3 == null) { QuickLogger.Error("Page_3 not found."); return(false); } #endregion #region Color Picker Page var colorPickerPage = main.FindChild("Color_Picker")?.gameObject; if (colorPickerPage == null) { QuickLogger.Error("Color_Picker not found."); return(false); } _colorPickerPage = colorPickerPage; #endregion #region Sent_Package Button var sentPackages = page1.FindChild("Sent_Package")?.gameObject; if (sentPackages == null) { QuickLogger.Error("Sent_Package not found."); return(false); } InterfaceButton sentPackages_BTN = sentPackages.AddComponent <InterfaceButton>(); sentPackages_BTN.OnButtonClick = OnButtonClick; sentPackages_BTN.BtnName = "SentPackages"; sentPackages_BTN.ButtonMode = InterfaceButtonMode.Background; sentPackages_BTN.TextLineOne = GetLanguage(DisplayLanguagePatching.SendPackageKey); sentPackages_BTN.Tag = this; #endregion #region Open_Container Button var openContainer = page1.FindChild("Open_Container")?.gameObject; if (openContainer == null) { QuickLogger.Error("Open_Container not found."); return(false); } InterfaceButton openContainer_BTN = openContainer.AddComponent <InterfaceButton>(); openContainer_BTN.OnButtonClick = OnButtonClick; openContainer_BTN.BtnName = "OpenContainer"; openContainer_BTN.ButtonMode = InterfaceButtonMode.Background; openContainer_BTN.TextLineOne = GetLanguage(DisplayLanguagePatching.OpenShippingContainerKey); openContainer_BTN.Tag = this; #endregion #region Color_Picker Button var colorPicker = page1.FindChild("Color_Picker")?.gameObject; if (colorPicker == null) { QuickLogger.Error("Color_Picker not found."); return(false); } InterfaceButton colorPicker_BTN = colorPicker.AddComponent <InterfaceButton>(); colorPicker_BTN.OnButtonClick = OnButtonClick; colorPicker_BTN.BtnName = "ColorPickerBTN"; colorPicker_BTN.ButtonMode = InterfaceButtonMode.Background; colorPicker_BTN.TextLineOne = GetLanguage(DisplayLanguagePatching.ColorPickerKey); colorPicker_BTN.Tag = this; #endregion #region Prev Button var prevBTN = page2.FindChild("Prev_BTN")?.gameObject; if (prevBTN == null) { QuickLogger.Error("Prev_BTN not found."); return(false); } PaginatorButton prev_BTN = prevBTN.AddComponent <PaginatorButton>(); prev_BTN.TextLineOne = GetLanguage(DisplayLanguagePatching.PrevPageKey); prev_BTN.ChangePageBy = ChangePageBy; prev_BTN.AmountToChangePageBy = -1; #endregion #region Next Button var nextBTN = page2.FindChild("Next_BTN")?.gameObject; if (nextBTN == null) { QuickLogger.Error("Next_BTN not found."); return(false); } PaginatorButton next_BTN = nextBTN.AddComponent <PaginatorButton>(); next_BTN.TextLineOne = GetLanguage(DisplayLanguagePatching.NextPageKey); next_BTN.ChangePageBy = ChangePageBy; next_BTN.AmountToChangePageBy = 1; #endregion #region Prev Button var colorPrevBTN = colorPickerPage.FindChild("Prev_BTN")?.gameObject; if (colorPrevBTN == null) { QuickLogger.Error("Color Prev_BTN not found."); return(false); } PaginatorButton colorPrev_BTN = colorPrevBTN.AddComponent <PaginatorButton>(); colorPrev_BTN.TextLineOne = GetLanguage(DisplayLanguagePatching.PrevPageKey); colorPrev_BTN.ChangePageBy = ChangeColorPageBy; colorPrev_BTN.AmountToChangePageBy = -1; #endregion #region Next Button var colorNextBTN = colorPickerPage.FindChild("Next_BTN")?.gameObject; if (colorNextBTN == null) { QuickLogger.Error("Color Next_BTN not found."); return(false); } PaginatorButton colorNext_BTN = colorNextBTN.AddComponent <PaginatorButton>(); colorNext_BTN.TextLineOne = GetLanguage(DisplayLanguagePatching.NextPageKey); colorNext_BTN.ChangePageBy = ChangeColorPageBy; colorNext_BTN.AmountToChangePageBy = 1; #endregion #region Cancel Button Text var cancelBtntxt = page2.FindChild("Cancel_BTN").GetComponent <Text>(); if (cancelBtntxt == null) { QuickLogger.Error("Cancel_BTN Text not found."); return(false); } cancelBtntxt.text = GetLanguage(DisplayLanguagePatching.CancelKey); #endregion #region Cancel Button var cancelBTN = page2.FindChild("Cancel_BTN")?.gameObject; if (cancelBTN == null) { QuickLogger.Error("Cancel_BTN not found."); return(false); } InterfaceButton cancel_BTN = cancelBTN.AddComponent <InterfaceButton>(); cancel_BTN.OnButtonClick = OnButtonClick; cancel_BTN.BtnName = "CancelBTN"; cancel_BTN.ButtonMode = InterfaceButtonMode.TextColor; cancel_BTN.TextLineOne = GetLanguage(DisplayLanguagePatching.CancelKey); cancel_BTN.TextComponent = cancelBtntxt; cancel_BTN.Tag = this; #endregion #region Color Cancel Button Text var colorCancelBtntxt = colorPickerPage.FindChild("Cancel_BTN").GetComponent <Text>(); if (colorCancelBtntxt == null) { QuickLogger.Error("Cancel_BTN Text not found."); return(false); } colorCancelBtntxt.text = GetLanguage(DisplayLanguagePatching.ColorBackKey); #endregion #region Color Cancel Button var colorCancelBTN = colorPickerPage.FindChild("Cancel_BTN")?.gameObject; if (colorCancelBTN == null) { QuickLogger.Error("Color Cancel_BTN not found."); return(false); } InterfaceButton colorCancel_BTN = colorCancelBTN.AddComponent <InterfaceButton>(); colorCancel_BTN.OnButtonClick = OnButtonClick; colorCancel_BTN.BtnName = "ColorCancelBTN"; colorCancel_BTN.ButtonMode = InterfaceButtonMode.TextColor; colorCancel_BTN.TextLineOne = GetLanguage(DisplayLanguagePatching.ColorBackKey); colorCancel_BTN.TextComponent = colorCancelBtntxt; colorCancel_BTN.Tag = this; #endregion #region Container _itemsGrid = page2.FindChild("Container")?.gameObject; if (_itemsGrid == null) { QuickLogger.Error("Container not found."); return(false); } #endregion #region Color Page Container _colorPageContainer = colorPickerPage.FindChild("Container")?.gameObject; if (_colorPageContainer == null) { QuickLogger.Error("Color Page Container not found."); return(false); } #endregion #region Message Page 2 var messagePag2 = page2.FindChild("Message").GetComponent <Text>(); if (messagePag2 == null) { QuickLogger.Error("Message Page 2 not found."); return(false); } messagePag2.text = GetLanguage(DisplayLanguagePatching.BasePageDescriptionKey); #endregion #region Message Color Page var messageColorPage = colorPickerPage.FindChild("Message").GetComponent <Text>(); if (messageColorPage == null) { QuickLogger.Error("Message Color Page not found."); return(false); } messageColorPage.text = GetLanguage(DisplayLanguagePatching.ColorPageDescriptionKey); #endregion #region Page_Top Text _pageTopNumber = page2.FindChild("TopNumber").GetComponent <Text>(); if (_pageTopNumber == null) { QuickLogger.Error("TopNumber Text not found."); return(false); } #endregion #region Page_Bottom Text _pageBottomNumber = page2.FindChild("BottomNumber").GetComponent <Text>(); if (_pageBottomNumber == null) { QuickLogger.Error("BottomNumber Text not found."); return(false); } #endregion #region Color Page_Top Text _colorPageTopNumber = colorPickerPage.FindChild("TopNumber").GetComponent <Text>(); if (_colorPageTopNumber == null) { QuickLogger.Error("Color TopNumber Text not found."); return(false); } #endregion #region Color Page_Bottom Text _colorPageBottomNumber = colorPickerPage.FindChild("BottomNumber").GetComponent <Text>(); if (_colorPageBottomNumber == null) { QuickLogger.Error("Color BottomNumber Text not found."); return(false); } #endregion #region Shipping Text _shippingLabel = page3.FindChild("Shipping_LBL").GetComponent <Text>(); if (_shippingLabel == null) { QuickLogger.Error("Shipping_LBL Text not found."); return(false); } _shippingLabel.text = GetLanguage(DisplayLanguagePatching.ShippingKey); #endregion #region Shipping Container Label var shippingContainerLabel = page1.FindChild("ShippingContainerLabel")?.gameObject; if (shippingContainerLabel == null) { QuickLogger.Error("ShippingContainerLabel not found."); return(false); } shippingContainerLabel.GetComponent <Text>().text = _mono.Name; _alterraShippingNameController = shippingContainerLabel.AddComponent <AlterraShippingNameController>(); _alterraShippingNameController.OnLabelChanged += OnLabelChanged; AlterraShippingNameController.Create(_mono, shippingContainerLabel); #endregion #region Cancel Button var cancelTransferBTN = Instantiate(cancelBTN); cancelTransferBTN.transform.SetParent(page3.transform, false); #region Cancel Button Text var cancelTransferBtntxt = cancelTransferBTN.GetComponent <Text>(); if (cancelTransferBtntxt == null) { QuickLogger.Error("cancelTransferBtntxt Text not found."); return(false); } #endregion InterfaceButton cancelTransfer_BTN = cancelTransferBTN.AddComponent <InterfaceButton>(); cancelTransfer_BTN.OnButtonClick = OnButtonClick; cancelTransfer_BTN.BtnName = "CancelTransferBTN"; cancelTransfer_BTN.ButtonMode = InterfaceButtonMode.TextColor; cancelTransfer_BTN.TextLineOne = GetLanguage(DisplayLanguagePatching.CancelKey); cancelTransfer_BTN.TextComponent = cancelTransferBtntxt; #endregion #region Time Left Text var timeLeftTXT = page3.FindChild("TimeLeft_LBL").GetComponent <Text>(); if (timeLeftTXT == null) { QuickLogger.Error("TimeLeft_LBL Text not found."); return(false); } _timeLeftTXT = timeLeftTXT; #endregion return(true); }
internal static Pickupable ConvertToPickupable(ItemData itemData) { QuickLogger.Debug("ConvertToPickupable", true); if (itemData == null) { QuickLogger.Debug("Item Data is null", true); return(null); } QuickLogger.Debug("1"); if (EggHandler.GetDiscoveredEgg(itemData.TechType, out TechType value)) { return(CraftData.InstantiateFromPrefab(value).GetComponent <Pickupable>()); } QuickLogger.Debug("2"); var gameObject = CraftData.GetPrefabForTechType(itemData.TechType); QuickLogger.Debug("3"); if (gameObject == null) { QuickLogger.Error($"Couldn't get the prefab for the tech-type {itemData.TechType}"); return(null); } QuickLogger.Debug("4"); var go = GameObject.Instantiate(gameObject); QuickLogger.Debug("5"); if (go == null) { QuickLogger.Debug("GameObject is null in convert to pickupable", true); QuickLogger.Debug($"TechType = {itemData.Type}", true); return(null); } switch (itemData.Type) { case ItemType.Battery: go.GetComponent <Battery>()._charge = itemData.BatteryData.Charge; break; case ItemType.Food: var eatable = go.GetComponent <Eatable>(); eatable.foodValue = itemData.FoodData.FoodValue; eatable.waterValue = itemData.FoodData.WaterValue; break; case ItemType.Fuel: go.GetComponent <FireExtinguisher>().fuel = itemData.FuelData.Fuel; break; case ItemType.PlayerTool: if (itemData.PlayerToolData.HasBattery) { var batteryTechType = itemData.PlayerToolData.BatteryInfo.TechType; var tempBattery = CraftData.GetPrefabForTechType(batteryTechType); var capacity = tempBattery?.gameObject.GetComponent <IBattery>()?.capacity; if (itemData.PlayerToolData.HasBattery && capacity != null && capacity > 0) { //var pickup = CraftData.InstantiateFromPrefab(itemData.TechType).GetComponent<Pickupable>(); var energyMixin = go.gameObject.GetComponent <EnergyMixin>(); var normalizedCharge = itemData.PlayerToolData.BatteryInfo.BatteryCharge / capacity; if (energyMixin.GetBattery() != null) { QuickLogger.Debug("Battery was already in device destroying"); } if (!energyMixin.compatibleBatteries.Contains(batteryTechType)) { energyMixin.compatibleBatteries.Add(batteryTechType); } energyMixin.SetBattery(itemData.PlayerToolData.BatteryInfo.TechType, (float)normalizedCharge); QuickLogger.Info($"Gave Player Player tool {itemData.PlayerToolData.TechType} with battery {batteryTechType}"); } else { QuickLogger.Error("While trying to get the batter capacity of the battery it returned null or 0."); } } break; case ItemType.FCSFilteredStorage: var storage = go.GetComponent <FCSFilteredStorage>(); storage.Items = itemData.FcsFilteredStorage; storage.Filters = itemData.FcsFilters; storage.ForceUpdateDisplay(); break; } QuickLogger.Debug("6"); return(go.GetComponent <Pickupable>()); }
public override GameObject GetGameObject() { try { var prefab = GameObject.Instantiate(_prefab); if (QPatch.Configuration.Config.UseCustomBoundingBox) { var center = QPatch.Configuration.Config.BoundingCenter; var size = QPatch.Configuration.Config.BoundingSize; GameObjectHelpers.AddConstructableBounds(prefab, size.ToVector3(), center.ToVector3()); } var model = prefab.FindChild("model"); //========== Allows the building animation and material colors ==========// Shader shader = Shader.Find("MarmosetUBER"); Renderer[] renderers = prefab.GetComponentsInChildren <Renderer>(); SkyApplier skyApplier = prefab.EnsureComponent <SkyApplier>(); skyApplier.renderers = renderers; skyApplier.anchorSky = Skies.Auto; // Add large world entity ALLOWS YOU TO SAVE ON TERRAIN var lwe = prefab.AddComponent <LargeWorldEntity>(); lwe.cellLevel = LargeWorldEntity.CellLevel.Far; //========== Allows the building animation and material colors ==========// // Add constructible var constructable = prefab.AddComponent <Constructable>(); constructable.allowedOutside = QPatch.Configuration.Config.AllowedOutside; constructable.allowedInBase = QPatch.Configuration.Config.AllowedInBase; constructable.allowedOnGround = QPatch.Configuration.Config.AllowedOnGround; constructable.allowedOnWall = QPatch.Configuration.Config.AllowedOnWall; constructable.rotationEnabled = QPatch.Configuration.Config.RotationEnabled; constructable.allowedOnCeiling = QPatch.Configuration.Config.AllowedOnCeiling; constructable.allowedInSub = QPatch.Configuration.Config.AllowedInSub; constructable.allowedOnConstructables = QPatch.Configuration.Config.AllowedOnConstructables; constructable.placeMaxDistance = QPatch.Configuration.Config.PlaceMaxDistance; //7f; constructable.placeMinDistance = QPatch.Configuration.Config.PlaceMinDistance; //5f; constructable.placeDefaultDistance = QPatch.Configuration.Config.PlaceDefaultDistance; //6f; constructable.model = model; constructable.techType = TechType; PrefabIdentifier prefabID = prefab.AddComponent <PrefabIdentifier>(); prefabID.ClassId = ClassID; MaterialHelpers.AddNewBubbles(prefab, new Vector3(0.722f, 1.03f, 0.775f), new Vector3(270f, 266f, 0f)); MaterialHelpers.AddNewBubbles(prefab, new Vector3(0.826f, 1.03f, -0.715f), new Vector3(270f, 266f, 0f)); MaterialHelpers.AddNewBubbles(prefab, new Vector3(-0.796f, 1.03f, -0.828f), new Vector3(270f, 266f, 0f)); MaterialHelpers.AddNewBubbles(prefab, new Vector3(-0.801f, 1.03f, 0.711f), new Vector3(270f, 266f, 0f)); prefab.AddComponent <TechTag>().type = TechType; prefab.AddComponent <FCSDemoController>(); //Add the FCSTechFabricatorTag component MaterialHelpers.ApplyGlassShaderTemplate(prefab, "_glass", Mod.ModName); prefab.AddComponent <FCSTechFabricatorTag>(); return(prefab); } catch (Exception e) { QuickLogger.Error(e.Message); return(null); } }
public override bool FindAllComponents() { #region Canvas var canvasGameObject = gameObject.GetComponentInChildren <Canvas>()?.gameObject; if (canvasGameObject == null) { QuickLogger.Error("Canvas not found."); return(false); } #endregion // == Canvas Elements == // #region Navigation Dock var navigationDock = canvasGameObject.transform.Find("Navigation_Dock")?.gameObject; if (navigationDock == null) { QuickLogger.Error("Dock: Navigation_Dock not found."); return(false); } #endregion // == Navigation Button Elements == // #region Screen Holder GameObject screenHolder = canvasGameObject.transform.Find("Screens")?.gameObject; if (screenHolder == null) { QuickLogger.Error("Screen Holder GameObject not found."); return(false); } #endregion // == Screen Holder Elements == // #region Welcome Screen var welcomeScreen = screenHolder.FindChild("WelcomePage")?.gameObject; if (welcomeScreen == null) { QuickLogger.Error("Screen: WelcomeScreen not found."); return(false); } #endregion #region Version Label var versionLbl = welcomeScreen.FindChild("Logo_Intro").FindChild("Version_Text")?.gameObject; if (versionLbl == null) { QuickLogger.Error("Cannot find Version_Text Game Object"); } string assemblyVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString(); versionLbl.GetComponent <Text>().text = $"V{assemblyVersion}"; #endregion #region Settings Screen var settingsScreen = screenHolder.FindChild("SettingsPage")?.gameObject; if (settingsScreen == null) { QuickLogger.Error("Screen: SettingsPage not found."); return(false); } #endregion #region Battery Monitor Page var batteryMonitorPage = screenHolder.FindChild("BatteryMonitorPage")?.gameObject; if (batteryMonitorPage == null) { QuickLogger.Error("Screen: BatteryMonitorPage not found."); return(false); } QuickLogger.Info("Finding Meters"); #endregion #region Battery Grid _batteryGrid = batteryMonitorPage.FindChild("Grid")?.gameObject; if (_batteryGrid == null) { QuickLogger.Error("Screen: BatteryMonitorPage not found."); return(false); } QuickLogger.Debug($"Meter Count {_batteryGrid.transform.childCount}"); for (int i = 0; i < _mono.BatteryCount; i++) { QuickLogger.Info($"Meter {i}"); var powercell = _mono.PowerManager.GetPowerCell(i); QuickLogger.Debug($"Battery {powercell.GetName()}"); powercell.SetMeter(_batteryGrid.transform.GetChild(i).gameObject); } #endregion #region Power Off Page var powerOffPage = screenHolder.FindChild("PowerOffPage")?.gameObject; if (powerOffPage == null) { QuickLogger.Error("Screen: PowerOffPage not found."); return(false); } #endregion #region Boot Page var bootingPage = screenHolder.FindChild("BootingPage")?.gameObject; if (bootingPage == null) { QuickLogger.Error("Screen: BootingPage not found."); return(false); } #endregion // == Powered off Elements #region PoweredOff LBL var poweredOffLbl = powerOffPage.FindChild("Powered_Off_LBL").GetComponent <Text>(); if (poweredOffLbl == null) { QuickLogger.Error("Screen: Powered_Off_LBL not found."); return(false); } poweredOffLbl.text = LanguageHelpers.GetLanguage(FCSPowerStorageBuildable.PoweredOffKey); #endregion // == Battery MonitorPage Elements #region Battery Monitor Power Amount Label _batteryMonitorAmountLbl = batteryMonitorPage.FindChild("Battery_Monitor_Amount_LBL").GetComponent <Text>(); if (_batteryMonitorAmountLbl == null) { QuickLogger.Error("Screen: Battery_Monitor_Amount_LBL not found."); return(false); } #endregion #region Battery Monitor Label var batteryMonitorLbl = batteryMonitorPage.FindChild("Battery_Monitor_LBL").GetComponent <Text>(); if (batteryMonitorLbl == null) { QuickLogger.Error("Screen: Battery_Monitor_LBL not found."); return(false); } batteryMonitorLbl.text = LanguageHelpers.GetLanguage(FCSPowerStorageBuildable.BatteryMetersKey); #endregion #region Trickle Mode BTN var trickleModeBtn = batteryMonitorPage.FindChild("Trickle_Mode")?.gameObject; if (trickleModeBtn == null) { QuickLogger.Error("Screen: Trickle_Mode not found."); return(false); } InterfaceButton trickleBTN = trickleModeBtn.AddComponent <InterfaceButton>(); trickleBTN.OnButtonClick += OnButtonClick; trickleBTN.ButtonMode = InterfaceButtonMode.None; trickleBTN.BtnName = "TrickleModeBTN"; #endregion #region Charge Mode BTN var chargeModeBtn = batteryMonitorPage.FindChild("Charge_Mode")?.gameObject; if (chargeModeBtn == null) { QuickLogger.Error("Screen: Charge_Mode not found."); return(false); } InterfaceButton chargeBTN = chargeModeBtn.AddComponent <InterfaceButton>(); chargeBTN.ButtonMode = InterfaceButtonMode.None; chargeBTN.OnButtonClick += OnButtonClick; chargeBTN.BtnName = "ChargeModeBTN"; #endregion // == Boot Page Elements == // #region Booting LBL var bootingLbl = bootingPage.FindChild("Booting_TXT").GetComponent <Text>(); if (bootingLbl == null) { QuickLogger.Error("Screen: _bootingLBL not found."); return(false); } bootingLbl.text = LanguageHelpers.GetLanguage(FCSPowerStorageBuildable.BootingKey); #endregion // == Settings Page Elements == // #region Color Picker var colorPicker = settingsScreen.FindChild("Color_Picker")?.gameObject; if (colorPicker == null) { QuickLogger.Error("Screen: _color_Picker not found."); return(false); } InterfaceButton colorPickerBTN = colorPicker.AddComponent <InterfaceButton>(); colorPickerBTN.OnButtonClick += OnButtonClick; colorPickerBTN.ButtonMode = InterfaceButtonMode.None; colorPickerBTN.BtnName = "ColorPickerBTN"; #endregion #region Color Picker LBL var colorPickerLbl = colorPicker.FindChild("Label").GetComponent <Text>(); if (colorPickerLbl == null) { QuickLogger.Error("Screen: Color Picker Label not found."); return(false); } colorPickerLbl.text = LanguageHelpers.GetLanguage(FCSPowerStorageBuildable.ColorPickerKey); #endregion #region Settings LBL var settingsLbl = settingsScreen.FindChild("Setting_LBL").GetComponent <Text>(); if (settingsLbl == null) { QuickLogger.Error("Screen: Settings Page Label not found."); return(false); } settingsLbl.text = LanguageHelpers.GetLanguage(FCSPowerStorageBuildable.SettingsKey); #endregion #region System Settings LBL var storageModeLbl = settingsScreen.FindChild("System_Settings_LBL").GetComponent <Text>(); if (storageModeLbl == null) { QuickLogger.Error("Screen: Storage Mode Label not found."); return(false); } storageModeLbl.text = LanguageHelpers.GetLanguage(FCSPowerStorageBuildable.SystemSettingsLblKey); #endregion #region Grid var grid = settingsScreen.FindChild("Grid")?.gameObject; if (grid == null) { QuickLogger.Error("Screen: Grid not found."); return(false); } #endregion #region Auto Activate BTN var autoActivateBtn = grid.FindChild("Auto_Activate")?.gameObject; if (autoActivateBtn == null) { QuickLogger.Error("Screen: Auto_Activate not found."); return(false); } var autoActivateTxt = autoActivateBtn.FindChild("Label").GetComponent <Text>(); if (autoActivateTxt == null) { QuickLogger.Error("Screen: Auto_Activate text not found."); return(false); } autoActivateTxt.text = LanguageHelpers.GetLanguage(FCSPowerStorageBuildable.AutoActivateKey); InterfaceButton autoABTN = autoActivateBtn.AddComponent <InterfaceButton>(); autoABTN.ButtonMode = InterfaceButtonMode.None; autoABTN.OnButtonClick += OnButtonClick; autoABTN.BtnName = "AutoActivateBTN"; #endregion #region Sync BTN var syncBtn = grid.FindChild("Sync")?.gameObject; if (syncBtn == null) { QuickLogger.Error("Screen: Sync not found."); return(false); } var syncAllBtnTxt = syncBtn.FindChild("Label").GetComponent <Text>(); if (syncAllBtnTxt == null) { QuickLogger.Error("Screen: Sync All text not found."); return(false); } syncAllBtnTxt.text = LanguageHelpers.GetLanguage(FCSPowerStorageBuildable.SyncAllKey); InterfaceButton syncBTN = syncBtn.AddComponent <InterfaceButton>(); syncBTN.ButtonMode = InterfaceButtonMode.None; syncBTN.OnButtonClick += OnButtonClick; syncBTN.BtnName = "SyncBTN"; #endregion #region Auto Activate Limit var autoActivateLimitBtn = grid.FindChild("Auto_Activate_Limit")?.gameObject; if (autoActivateLimitBtn == null) { QuickLogger.Error("Screen: Auto_Activate_Limit not found."); return(false); } var autoActivateLimitTxt = autoActivateLimitBtn.FindChild("Label").GetComponent <Text>(); if (autoActivateLimitTxt == null) { QuickLogger.Error("Screen: Auto_Activate_limit text not found."); return(false); } autoActivateLimitTxt.text = LanguageHelpers.GetLanguage(FCSPowerStorageBuildable.AutoActivateAtKey); var autoActivateLimitTextBox = autoActivateLimitBtn.FindChild("Background").FindChild("Text")?.gameObject; if (autoActivateLimitTextBox == null) { QuickLogger.Error("Screen:btnName Text not found."); return(false); } _autoActivateTextB = autoActivateLimitTextBox.GetComponent <Text>(); _autoActivateTextB.text = _mono.GetAutoActivateAt().ToString(); var autoActivateResult = CreateSystemButton(autoActivateLimitTextBox, LanguageHelpers.GetLanguage(FCSPowerStorageBuildable.AutoActivateDescKey), LanguageHelpers.GetLanguage(FCSPowerStorageBuildable.AutoActivateOnHoverKey), _mono.GetAutoActivateAt, _mono.ValidateAutoConfigUnits); if (!autoActivateResult) { return(false); } #endregion #region Base Drain Protection BTN var baseDrainProtectionBtn = grid.FindChild("Base_Drain_Protection")?.gameObject; if (baseDrainProtectionBtn == null) { QuickLogger.Error("Screen: Base_Drain_Protection not found."); return(false); } var baseDrianProtectionTxt = baseDrainProtectionBtn.FindChild("Label").GetComponent <Text>(); if (baseDrianProtectionTxt == null) { QuickLogger.Error("Screen: Base_Drain_protection text not found."); return(false); } baseDrianProtectionTxt.text = LanguageHelpers.GetLanguage(FCSPowerStorageBuildable.BaseDrainProtectionKey); InterfaceButton bDPBTN = baseDrainProtectionBtn.AddComponent <InterfaceButton>(); bDPBTN.ButtonMode = InterfaceButtonMode.None; bDPBTN.OnButtonClick += OnButtonClick; bDPBTN.BtnName = "BaseDrainBTN"; #endregion #region Base Drain Limit var baseDrainlimitBtn = grid.FindChild("Base_Drain_Limit")?.gameObject; if (baseDrainlimitBtn == null) { QuickLogger.Error("Screen: Base_Drain_Limit not found."); return(false); } var baseDrianLimitTxt = baseDrainlimitBtn.FindChild("Label").GetComponent <Text>(); if (baseDrianLimitTxt == null) { QuickLogger.Error("Screen: Base_Drain_Limit text not found."); return(false); } baseDrianLimitTxt.text = LanguageHelpers.GetLanguage(FCSPowerStorageBuildable.BaseDrainLimitKey); var baseDrainlimitTextBox = baseDrainlimitBtn.FindChild("Background").FindChild("Text")?.gameObject; if (baseDrainlimitTextBox == null) { QuickLogger.Error("Screen:baseDrainlimitTextBox Text not found."); return(false); } _baseDrainLimitTextB = baseDrainlimitTextBox.GetComponent <Text>(); _baseDrainLimitTextB.text = _mono.GetBasePowerProtectionGoal().ToString(); var baseDrainResult = CreateSystemButton(baseDrainlimitTextBox, LanguageHelpers.GetLanguage(FCSPowerStorageBuildable.BaseDrainLimitDescKey), LanguageHelpers.GetLanguage(FCSPowerStorageBuildable.BaseDrainLimitOnHoverKey), _mono.GetBasePowerProtectionGoal, _mono.ValidateBaseProtectionUnits); if (!baseDrainResult) { return(false); } #endregion //TODO Add langugae for btns #region Discharge Mode LBL var trickleModeLbl = trickleModeBtn.FindChild("Label").GetComponent <Text>(); if (trickleModeLbl == null) { QuickLogger.Error("Screen: TrickleModeLabel not found."); return(false); } trickleModeLbl.text = LanguageHelpers.GetLanguage(FCSPowerStorageBuildable.DischargeKey); #endregion #region Charge Mode LBL var chargeModeLbl = chargeModeBtn.FindChild("Label").GetComponent <Text>(); if (chargeModeLbl == null) { QuickLogger.Error("Screen: Charge Mode LBL not found."); return(false); } chargeModeLbl.text = LanguageHelpers.GetLanguage(FCSPowerStorageBuildable.ChargeKey); #endregion // == Color Picker Elements == // #region Color Picker Page var colorPickerPage = screenHolder.FindChild("ColorPickerPage")?.gameObject; if (colorPickerPage == null) { QuickLogger.Error("Screen: ColorPicker not found."); return(false); } #endregion _colorPicker = colorPickerPage.FindChild("ColorPicker")?.gameObject; if (_colorPicker == null) { QuickLogger.Error("GameObject: ColorPicker not found."); return(false); } #region Color Picker Previous Page BTN _previousPageGameObject = colorPickerPage.FindChild("Back_Arrow_BTN")?.gameObject; if (_previousPageGameObject == null) { QuickLogger.Error("Screen: Back_Arrow_BTN not found."); return(false); } var prevPageBTN = _previousPageGameObject.AddComponent <PaginatorButton>(); prevPageBTN.AmountToChangePageBy = -1; prevPageBTN.ChangePageBy = ChangePageBy; #endregion #region Color Picker Next Page BTN _nextPageGameObject = colorPickerPage.FindChild("Forward_Arrow_BTN")?.gameObject; if (_nextPageGameObject == null) { QuickLogger.Error("Screen: Forward_Arrow_BTN not found."); return(false); } var nextPageBTN = _nextPageGameObject.AddComponent <PaginatorButton>(); nextPageBTN.ChangePageBy = ChangePageBy; nextPageBTN.AmountToChangePageBy = 1; #endregion #region Color Picker Page Counter _pageCounter = colorPickerPage.FindChild("Page_Number")?.gameObject; if (_pageCounter == null) { QuickLogger.Error("Screen: Page_Number not found."); return(false); } _pageCounterText = _pageCounter.GetComponent <Text>(); if (_pageCounterText == null) { QuickLogger.Error("Screen: _pageCounterText not found."); return(false); } #endregion // == Navigation Dock Elements == // #region Settings Button var settingButton = navigationDock.transform.Find("Settings_BTN")?.gameObject; if (settingButton == null) { QuickLogger.Error("Dock: Settings_BTN not found."); return(false); } InterfaceButton settingsBTN = settingButton.AddComponent <InterfaceButton>(); settingsBTN.OnButtonClick = OnButtonClick; settingsBTN.BtnName = "SettingsBTN"; settingsBTN.ButtonMode = InterfaceButtonMode.Background; #endregion #region Home Button var homeButton = navigationDock.transform.Find("Home_BTN")?.gameObject; if (homeButton == null) { QuickLogger.Error("Dock: Home_BTN not found."); return(false); } InterfaceButton home = homeButton.AddComponent <InterfaceButton>(); home.OnButtonClick = OnButtonClick; home.BtnName = "HomeBTN"; home.ButtonMode = InterfaceButtonMode.Background; #endregion #region Power Button var powerButton = navigationDock.transform.Find("Power_BTN")?.gameObject; if (powerButton == null) { QuickLogger.Error("Dock: Power_BTN not found."); return(false); } InterfaceButton power = powerButton.AddComponent <InterfaceButton>(); power.OnButtonClick = OnButtonClick; power.BtnName = "PowerBTN"; power.ButtonMode = InterfaceButtonMode.Background; #endregion return(true); }
private void DrawDebugMenu() { GUILayout.BeginHorizontal(); _x = GUILayout.TextField(_x); if (GUILayout.Button("Apply X")) { temp.Prefab.transform.localPosition = new Vector3(float.Parse(_x), temp.Prefab.transform.localPosition.y, temp.Prefab.transform.localPosition.z); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); _y = GUILayout.TextField(_y); if (GUILayout.Button("Apply Y")) { temp.Prefab.transform.localPosition = new Vector3(temp.Prefab.transform.localPosition.x, float.Parse(_y), temp.Prefab.transform.localPosition.z); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); _z = GUILayout.TextField(_z); if (GUILayout.Button("Apply Z")) { QuickLogger.Info($"{float.Parse(_z)} || {temp.Prefab.name}", true); temp.Prefab.transform.localPosition = new Vector3(temp.Prefab.transform.localPosition.x, temp.Prefab.transform.localPosition.y, float.Parse(_z)); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); _toggle = GUILayout.Toggle(temp.Slot.activeSelf, "Prefab Visible"); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.TextField(temp.AnimatiorState.normalizedTime.ToString()); if (GUILayout.Button("Change Animation Open")) { temp.Animator.Play("Main", 0, 0.69f); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.TextField(temp.AnimatiorState.normalizedTime.ToString()); if (GUILayout.Button("Change Animation Close")) { temp.Animator.Play("Main", 0, 0.7725137f); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.TextField(temp.AnimatiorState.normalizedTime.ToString()); if (GUILayout.Button("Change Animation Done")) { temp.Animator.Play("Main", 0, 0.9937581f); } GUILayout.EndHorizontal(); //GUILayout.BeginHorizontal(); //if (GUILayout.Button("Play Animation")) //{ // Log.Info("Playing Animation"); //} //GUILayout.EndHorizontal(); //GUILayout.Space(10); //GUILayout.BeginHorizontal(); //if (GUILayout.Button("Stop Animation")) //{ // Log.Info("Stopping Animation"); //} //GUILayout.EndHorizontal(); //GUILayout.Space(10); //GUILayout.BeginHorizontal(); //if (GUILayout.Button("Get Deep harvester Count")) // GetDeepHarvesterCount(); //GUILayout.EndHorizontal(); }
public override bool FindAllComponents() { try { #region Canvas var canvasGameObject = gameObject.GetComponentInChildren <Canvas>()?.gameObject; if (canvasGameObject == null) { QuickLogger.Error("Canvas not found."); return(false); } #endregion #region Home var home = InterfaceHelpers.FindGameObject(canvasGameObject, "HomeScreen"); #endregion #region Battery var homeBattery = InterfaceHelpers.FindGameObject(home, "Battery"); _batteryPercent = InterfaceHelpers.FindGameObject(homeBattery, "Text").GetComponent <Text>(); _batteryFill = InterfaceHelpers.FindGameObject(homeBattery, "Fill").GetComponent <Image>(); #endregion #region Food var food = InterfaceHelpers.FindGameObject(canvasGameObject, "FoodScreen"); #endregion #region Drinks var drinks = InterfaceHelpers.FindGameObject(canvasGameObject, "DrinksScreen"); #endregion #region Trash var trash = InterfaceHelpers.FindGameObject(canvasGameObject, "TrashScreen"); #endregion #region Color Picker var colorPicker = InterfaceHelpers.FindGameObject(canvasGameObject, "ColorPicker"); #endregion #region PowerOff var powerOff = InterfaceHelpers.FindGameObject(canvasGameObject, "PoweredOffScreen"); #endregion #region PowerButton var powerBtn = InterfaceHelpers.FindGameObject(home, "Power_BTN"); InterfaceHelpers.CreateButton(powerBtn, "HPPBtn", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, ARSSeaBreezeFCS32Buildable.PowerBTNMessage()); #endregion #region PowerOFf PowerButton var ppowerBtn = InterfaceHelpers.FindGameObject(powerOff, "Power_BTN"); InterfaceHelpers.CreateButton(ppowerBtn, "PPBtn", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, ARSSeaBreezeFCS32Buildable.PowerBTNMessage()); #endregion #region PowerOFf PowerButton var powerOffLbl = InterfaceHelpers.FindGameObject(powerOff, "Powered_Off_LBL"); powerOffLbl.GetComponent <Text>().text = ARSSeaBreezeFCS32Buildable.NoPower(); #endregion #region DumpBTNButton var dumpBtn = InterfaceHelpers.FindGameObject(home, "DumpBTN"); InterfaceHelpers.CreateButton(dumpBtn, "DumpBTN", InterfaceButtonMode.Background, OnButtonClick, Color.black, Color.white, MAX_INTERACTION_DISTANCE, ARSSeaBreezeFCS32Buildable.DumpButton(), ARSSeaBreezeFCS32Buildable.DumpMessage()); #endregion #region FoodCButton var foodContainterBtn = InterfaceHelpers.FindGameObject(home, "FoodCBTN"); InterfaceHelpers.CreateButton(foodContainterBtn, "FoodCBTN", InterfaceButtonMode.Background, OnButtonClick, Color.black, Color.white, MAX_INTERACTION_DISTANCE, ARSSeaBreezeFCS32Buildable.FoodCButton()); #endregion #region WaterCButton var WaterContainterBtn = InterfaceHelpers.FindGameObject(home, "WaterCBTN"); InterfaceHelpers.CreateButton(WaterContainterBtn, "WaterCBTN", InterfaceButtonMode.Background, OnButtonClick, Color.black, Color.white, MAX_INTERACTION_DISTANCE, ARSSeaBreezeFCS32Buildable.WaterCButton()); #endregion #region Rename Button var RenameBtn = InterfaceHelpers.FindGameObject(home, "RenameBTN"); InterfaceHelpers.CreateButton(RenameBtn, "RenameBTN", InterfaceButtonMode.Background, OnButtonClick, Color.black, Color.white, MAX_INTERACTION_DISTANCE, ARSSeaBreezeFCS32Buildable.RenameButton()); #endregion #region Trash Button var TrashBtn = InterfaceHelpers.FindGameObject(home, "TrashCBTN"); InterfaceHelpers.CreateButton(TrashBtn, "TrashBTN", InterfaceButtonMode.Background, OnButtonClick, Color.black, Color.white, MAX_INTERACTION_DISTANCE, ARSSeaBreezeFCS32Buildable.TrashButton(), ARSSeaBreezeFCS32Buildable.TrashMessage()); #endregion #region ColorBTN Button var colorBtn = InterfaceHelpers.FindGameObject(home, "ColorPickerBTN"); InterfaceHelpers.CreateButton(colorBtn, "ColorBTN", InterfaceButtonMode.Background, OnButtonClick, Color.black, Color.white, MAX_INTERACTION_DISTANCE, ARSSeaBreezeFCS32Buildable.ColorPicker()); #endregion #region ColorPage _colorPage.SetupGrid(48, ARSSeaBreezeFCS32Buildable.ColorItemPrefab, colorPicker, OnButtonClick, _startColor, _hoverColor); #endregion #region Food Page _foodPage = _mono.gameObject.AddComponent <GridHelper>(); _foodPage.OnLoadDisplay += OnLoadFoodDisplay; _foodPage.Setup(17, ARSSeaBreezeFCS32Buildable.ItemPrefab, food, _startColor, _hoverColor, OnButtonClick); #endregion #region Drink Page _waterPage = _mono.gameObject.AddComponent <GridHelper>(); _waterPage.OnLoadDisplay += OnLoadWaterDisplay; _waterPage.Setup(17, ARSSeaBreezeFCS32Buildable.ItemPrefab, drinks, _startColor, _hoverColor, OnButtonClick); #endregion #region Trash Page _trashPage = _mono.gameObject.AddComponent <GridHelper>(); _trashPage.OnLoadDisplay += OnLoadTrashDisplay; _trashPage.Setup(17, ARSSeaBreezeFCS32Buildable.ItemPrefab, trash, _startColor, _hoverColor, OnButtonClick); #endregion #region StorageAmount _itemCounter_LBL = InterfaceHelpers.FindGameObject(home, "ItemCounter_LBL").GetComponent <Text>(); #endregion #region Unit Name _seaBreeze_LBL = InterfaceHelpers.FindGameObject(home, "SeaBreeze_LBL").GetComponent <Text>(); #endregion } catch (Exception e) { QuickLogger.Error($"{e.Message}:\n{e.StackTrace}"); return(false); } return(true); }
internal static void StartConnectingToPda(Equipment modules) { QuickLogger.Debug("PdaOverlayManager started connecting upgrade console to PDA overlay"); upgradeModules = modules; }
internal void UpdateScreenLabel(string name, NameController nameController) { QuickLogger.Debug($"Label set to {name}", true); _seaBreeze_LBL.text = name; }
private void AdditionalPatching() { QuickLogger.Debug("Additional Properties"); LanguageHandler.SetLanguageLine(HDResizeMessageKey, "Hold 'E' and click to adjust size" + Environment.NewLine); }
public override bool FindAllComponents() { #region Canvas var canvasGameObject = gameObject.GetComponentInChildren <Canvas>()?.gameObject; if (canvasGameObject == null) { QuickLogger.Error("Canvas cannot be found"); return(false); } #endregion #region Home var home = canvasGameObject.FindChild("Home")?.gameObject; if (home == null) { QuickLogger.Error("Unable to find Home GameObject"); return(false); } #endregion #region Settings var settings = canvasGameObject.FindChild("Settings")?.gameObject; if (settings == null) { QuickLogger.Error("Unable to find Settings GameObject"); return(false); } #endregion #region ColorPicker var colorPicker = canvasGameObject.FindChild("ColorPicker")?.gameObject; if (colorPicker == null) { QuickLogger.Error("Unable to find colorPicker GameObject"); return(false); } #endregion #region Doors var doorsResult = InterfaceHelpers.FindGameObject(canvasGameObject, "Doors", out var doorsOutput); if (!doorsResult) { return(false); } var doors = doorsOutput; #endregion #region Start Button var startButtonResult = InterfaceHelpers.CreateButton(home, "Button", "startBTN", InterfaceButtonMode.Background, _startColor, _hoverColor, OnButtonClick, out var startButton); startButton.TextLineOne = "Start Cooking"; if (!startButtonResult) { return(false); } _startButton = startButton; #endregion #region Color Picker var colorPickerResult = InterfaceHelpers.CreateButton(settings, "Paint_BTN", "colorPickerBTN", InterfaceButtonMode.Background, OnButtonClick, out var colorPickerButton); colorPickerButton.TextLineOne = "Color Picker Page"; if (!colorPickerResult) { return(false); } #endregion #region Settings BTN var settingsResult = InterfaceHelpers.CreateButton(home, "Settings", "settingsBTN", InterfaceButtonMode.Background, OnButtonClick, out var settingsButton); settingsButton.TextLineOne = SeaCookerBuildable.GoToSettingsPage(); if (!settingsResult) { return(false); } #endregion #region Settings Color BTN var settingsCResult = InterfaceHelpers.CreateButton(colorPicker, "Home_BTN", "settingsBTN", InterfaceButtonMode.TextColor, OnButtonClick, out var settings_C_BTN); settings_C_BTN.ChangeText($"< {SeaCookerBuildable.SettingsPage()}"); settings_C_BTN.TextLineOne = $"{SeaCookerBuildable.GoToSettingsPage()}"; if (!settingsCResult) { QuickLogger.Error($"Can't find settingsBTN"); return(false); } #endregion #region Open Input BTN var openInputBTN = InterfaceHelpers.CreateButton(doors, "Open_Input", "openInputBTN", InterfaceButtonMode.TextColor, OnButtonClick, out var openInputButton); openInputButton.TextLineOne = "Open Input Container"; if (!openInputBTN) { return(false); } #endregion #region Open Export BTN var openExportBTN = InterfaceHelpers.CreateButton(doors, "Open_Export", "openExportBTN", InterfaceButtonMode.TextColor, OnButtonClick, out var openExportButton); openExportButton.TextLineOne = "Open Export Container"; if (!openExportBTN) { return(false); } #endregion #region Next BTN var nextBTN = InterfaceHelpers.CreatePaginator(colorPicker, "NextPage", 1, _colorPage.ChangeColorPageBy, out var nextButton); nextButton.TextLineOne = "Next Page"; if (!nextBTN) { return(false); } #endregion #region Prev BTN var prevBTN = InterfaceHelpers.CreatePaginator(colorPicker, "PrevPage", -1, _colorPage.ChangeColorPageBy, out var prevButton); prevButton.TextLineOne = "Previous Page"; if (!prevBTN) { return(false); } #endregion #region Color Grid var colorGridResult = InterfaceHelpers.FindGameObject(colorPicker, "Grid", out var colorGrid); if (!colorGridResult) { return(false); } _colorGrid = colorGrid; #endregion #region SeaBreeze Grid var seaBreezeGridResult = InterfaceHelpers.FindGameObject(settings, "Grid", out var seaBreezeGrid); if (!seaBreezeGridResult) { return(false); } _seaBreezeGrid.Setup(4, SeaCookerBuildable.SeaBreezeItemPrefab, settings, Color.white, new Color(0.07f, 0.38f, 0.7f, 1f), OnButtonClick); _seaBreezeGrid.OnLoadDisplay += OnLoadDisplay; #endregion #region From Image OMIT //var fromImage = InterfaceHelpers.FindGameObject(home, "from_Image", out var from_Image); //if (!fromImage) //{ // return false; //} //_fromImage = from_Image; //uGUI_Icon fromIcon = _fromImage.gameObject.AddComponent<uGUI_Icon>(); #endregion #region To Image OMIT var toImage = InterfaceHelpers.FindGameObject(home, "to_Image", out var to_Image); if (!toImage) { return(false); } _toImage = to_Image; uGUI_Icon toIcon = _toImage.gameObject.AddComponent <uGUI_Icon>(); #endregion #region Percentage Bar var percentageResult = InterfaceHelpers.FindGameObject(home, "Preloader_Bar", out var percentage); if (!percentageResult) { return(false); } _percentage = percentage.GetComponent <Image>(); #endregion #region Version var versionResult = InterfaceHelpers.FindGameObject(canvasGameObject, "Version", out var version); if (!versionResult) { return(false); } var versionLbl = version.GetComponent <Text>(); versionLbl.text = $"{SeaCookerBuildable.Version()}: {QPatch.Version}"; #endregion #region Paginator var paginatorResult = InterfaceHelpers.FindGameObject(colorPicker, "Paginator", out var paginator); if (!paginatorResult) { return(false); } _paginator = paginator.GetComponent <Text>(); #endregion #region Seabreeze Toggle var toggleResult = InterfaceHelpers.FindGameObject(settings, "Toggle_SB_Export", out var toggle); if (!toggleResult) { QuickLogger.Error($"Cannot find Toggle_SB_Export on GameObject"); return(false); } _cusToggle = toggle.AddComponent <CustomToggle>(); _cusToggle.BtnName = "seaBreezeToggle"; _cusToggle.ButtonMode = InterfaceButtonMode.Background; _cusToggle.OnButtonClick = OnButtonClick; _cusToggle.Tag = _cusToggle; #endregion #region Auto Toggle var autoResult = InterfaceHelpers.FindGameObject(settings, "Auto_Toggle", out var autoToggle); if (!autoResult) { QuickLogger.Error($"Cannot find Auto_Toggle on GameObject"); return(false); } _autoToggle = autoToggle.AddComponent <CustomToggle>(); _autoToggle.BtnName = "autoToggle"; _autoToggle.ButtonMode = InterfaceButtonMode.Background; _autoToggle.OnButtonClick = OnButtonClick; _autoToggle.Tag = _autoToggle; #endregion return(true); }
internal static bool Prefix(BaseBioReactor __instance, ProtobufSerializer serializer) { QuickLogger.Debug("OnProtoDeserialize"); CyBioReactorMini.GetMiniReactor(__instance).OnProtoDeserialize(serializer); return(false); }
public override void OnButtonClick(string btnName, object tag) { if (btnName == string.Empty) { return; } switch (btnName) { case "startBTN": if (_mono.FoodManager.IsCooking()) { _mono.FoodManager.KillCooking(); } else { _mono.StorageManager.CookStoredFood(); } UpdateCookingButton(); break; case "HomeBTN": UpdatePage(1); break; case "settingsBTN": UpdatePage(2); UpdateSeaBreezes(); UpdateCheckedSB(); break; case "colorPickerBTN": UpdatePage(3); break; case "openInputBTN": _mono.StorageManager.OpenInputStorage(); break; case "openExportBTN": _mono.StorageManager.OpenExportStorage(); break; case "seaBreezeToggle": var item = (CustomToggle)tag; _mono.StorageManager.SetExportToSeabreeze(item.CheckState()); QuickLogger.Debug($"Toggle State: {item.CheckState()}", true); break; case "autoToggle": var autoItem = (CustomToggle)tag; var state = autoItem.CheckState(); _mono.AutoChooseSeabreeze = state; if (state) { _mono.SelectedSeaBreezeID = String.Empty; UpdateCheckedSB(); } QuickLogger.Debug($"Toggle State: {autoItem.CheckState()}", true); break; case "ColorItem": var color = (Color)tag; QuickLogger.Debug($"{_mono.gameObject.name} Color Changed to {color.ToString()}", true); _mono.ColorManager.ChangeColor(color); break; case "SeaBreezeItem": var seaBreeze = (Color)tag; _mono.ColorManager.ChangeColor(seaBreeze); break; case "SeaBreeze": var sb = (FCSConnectableDevice)tag; _mono.SelectedSeaBreezeID = sb.GetPrefabIDString(); UpdateCheckedSB(); break; } }
private bool GetPrefabs() { QuickLogger.Debug("GetPrefabs"); AssetBundle assetBundle = AssetHelper.Asset(Mod.ModFolderName, Mod.BundleName); //If the result is null return false. if (assetBundle == null) { QuickLogger.Error($"AssetBundle is Null!"); return(false); } AssetBundle = assetBundle; QuickLogger.Debug($"AssetBundle Set"); //We have found the asset bundle and now we are going to continue by looking for the model. GameObject prefab = assetBundle.LoadAsset <GameObject>("AlterraDeepDriller"); //If the prefab isn't null lets add the shader to the materials if (prefab != null) { //Lets apply the material shader ApplyShaders(prefab); _prefab = prefab; QuickLogger.Debug($"{this.FriendlyName} Prefab Found!"); } else { QuickLogger.Error($"{this.FriendlyName} Prefab Not Found!"); return(false); } //We have found the asset bundle and now we are going to continue by looking for the model. GameObject itemButton = assetBundle.LoadAsset <GameObject>("ItemButton"); //If the prefab isn't null lets add the shader to the materials if (itemButton != null) { ItemPrefab = itemButton; QuickLogger.Debug("Item Button Prefab Found!"); } else { QuickLogger.Error("Item Button Prefab Not Found!"); return(false); } //We have found the asset bundle and now we are going to continue by looking for the model. GameObject programmingItemButton = assetBundle.LoadAsset <GameObject>("ProgrammingItem"); //If the prefab isn't null lets add the shader to the materials if (programmingItemButton != null) { ProgrammingItemPrefab = programmingItemButton; QuickLogger.Debug("Programming Item Button Prefab Found!"); } else { QuickLogger.Error("Programming Item Button Prefab Not Found!"); return(false); } GameObject listItemButton = assetBundle.LoadAsset <GameObject>("TransferToggleButton"); if (listItemButton != null) { ListItemPrefab = listItemButton; QuickLogger.Debug("List Item Button Prefab Found!"); } else { QuickLogger.Error("Item Button Prefab Not Found!"); return(false); } GameObject colorItem = QPatch.GlobalBundle.LoadAsset <GameObject>("ColorItem"); if (colorItem != null) { ColorItemPrefab = colorItem; } else { QuickLogger.Error($"Color Item Not Found!"); return(false); } return(true); }
public override void OnButtonClick(string btnName, object tag) { switch (btnName) { case "ItemBTN": _mono.Storage.AttemptToTakeItem((TechType)tag); break; case "DumpBTN": QuickLogger.Debug($"In {btnName} switch", true); _mono.AnimationManager.ToggleDriveState(); _mono.DumpContainer.OpenStorage(); break; case "RenameBTN": QuickLogger.Debug($"In {btnName} switch", true); _mono.NameController.Show(); break; case "LButton": QuickLogger.Debug($"Current Multiplier = {_mono.BulkMultiplier}"); switch (_mono.BulkMultiplier) { case BulkMultipliers.TimesTen: _mono.BulkMultiplier = BulkMultipliers.TimesEight; break; case BulkMultipliers.TimesEight: _mono.BulkMultiplier = BulkMultipliers.TimesSix; break; case BulkMultipliers.TimesSix: _mono.BulkMultiplier = BulkMultipliers.TimesFour; break; case BulkMultipliers.TimesFour: _mono.BulkMultiplier = BulkMultipliers.TimesTwo; break; case BulkMultipliers.TimesTwo: _mono.BulkMultiplier = BulkMultipliers.TimesOne; break; } UpdateMultiplier(); break; case "RButton": QuickLogger.Debug($"Current Multiplier = {_mono.BulkMultiplier}"); switch (_mono.BulkMultiplier) { case BulkMultipliers.TimesEight: _mono.BulkMultiplier = BulkMultipliers.TimesTen; break; case BulkMultipliers.TimesSix: _mono.BulkMultiplier = BulkMultipliers.TimesEight; break; case BulkMultipliers.TimesFour: _mono.BulkMultiplier = BulkMultipliers.TimesSix; break; case BulkMultipliers.TimesTwo: _mono.BulkMultiplier = BulkMultipliers.TimesFour; break; case BulkMultipliers.TimesOne: _mono.BulkMultiplier = BulkMultipliers.TimesTwo; break; } UpdateMultiplier(); break; } }