private void FindLaserPoints() { if (_mono?.gameObject == null) { return; } _lasersStarters = GameObjectHelpers.FindGameObject(_mono.gameObject, "Lasers_Main"); _xBubblesGroup = GameObjectHelpers.FindGameObject(_mono.gameObject, "xBubbles_Group"); var lasersEnds = GameObjectHelpers.FindGameObject(_mono.gameObject, "Laser_Ends"); if (!_lasersStarters || !_xBubblesGroup || !lasersEnds) { return; } for (var i = 0; i < _lasersStarters.transform.childCount; i++) { var laser = _lasersStarters.transform.GetChild(i); var laserComp = laser.GetChild(0).gameObject.AddComponent <LaserScript>(); var end = lasersEnds.transform.GetChild(i); laserComp.StartPoint = laser.transform; laserComp.EndPoint = end; } if (!_mono.IsUnderWater()) { ChangeBubblesState(false); } _initialized = true; }
private void OnGenerate() { if (PlatformLegsExtended) { return; } QuickLogger.Debug("OnGenerate", true); if (!_allPlateFormsFound) { var pillar = GameObjectHelpers.FindGameObject(gameObject, "PlatfromLeg")?.AddComponent <Pillar>(); pillar?.Instantiate(this); var pillar1 = GameObjectHelpers.FindGameObject(gameObject, "PlatfromLeg_2")?.AddComponent <Pillar>(); pillar1?.Instantiate(this); var pillar2 = GameObjectHelpers.FindGameObject(gameObject, "PlatfromLeg_3")?.AddComponent <Pillar>(); pillar2?.Instantiate(this); var pillar3 = GameObjectHelpers.FindGameObject(gameObject, "PlatfromLeg_4")?.AddComponent <Pillar>(); pillar3?.Instantiate(this); var pillar4 = GameObjectHelpers.FindGameObject(gameObject, "PlatfromLeg_5")?.AddComponent <Pillar>(); pillar4?.Instantiate(this); var pillar5 = GameObjectHelpers.FindGameObject(gameObject, "PlatfromLeg_6")?.AddComponent <Pillar>(); pillar5?.Instantiate(this); var pillar6 = GameObjectHelpers.FindGameObject(gameObject, "DrillTunnelBase")?.AddComponent <Pillar>(); pillar6?.Instantiate(this, true); _allPlateFormsFound = true; } }
private void Initialize() { if (_initialized) { return; } _messageText = GameObjectHelpers.FindGameObject(gameObject, "Message")?.GetComponent <Text>(); _cancelBTNObject = GameObjectHelpers.FindGameObject(gameObject, "CancelBTN"); _cancelBTN = _cancelBTNObject?.GetComponent <Button>(); _cancelBTNText = _cancelBTNObject?.GetComponentInChildren <Text>(true); _cancelBTN?.onClick.AddListener(() => { OnCancelButtonClick?.Invoke(_messageId); HideMessageBox(); }); _confirmButtonObject = GameObjectHelpers.FindGameObject(gameObject, "ConfirmBTN"); _confirmBTNText = _confirmButtonObject?.GetComponentInChildren <Text>(true); _confirmBTN = _confirmButtonObject?.GetComponent <Button>(); _confirmBTN?.onClick.AddListener(() => { OnConfirmButtonClick?.Invoke(_messageId); HideMessageBox(); }); _initialized = true; }
public override void Initialize() { if (DumpContainer == null) { DumpContainer = new DumpContainer(); DumpContainer.Initialize(transform, "Item Display Receptical", AuxPatchers.NotAllowed(), AuxPatchers.CannotBeStored(), this, 1, 1); } var icon = GameObjectHelpers.FindGameObject(gameObject, "Icon"); _icon = icon?.AddComponent <uGUI_Icon>(); _button = InterfaceHelpers.CreateButton(icon, "IconClick", InterfaceButtonMode.Background, OnButtonClick, Color.white, Color.gray, 5.0f); _amount = GameObjectHelpers.FindGameObject(gameObject, "Text")?.GetComponent <Text>(); var addBTN = GameObjectHelpers.FindGameObject(gameObject, "AddBTN"); InterfaceHelpers.CreateButton(addBTN, "AddBTN", InterfaceButtonMode.Background, OnButtonClick, Color.gray, Color.white, 5.0f, AuxPatchers.ColorPage()); var deleteBTN = GameObjectHelpers.FindGameObject(gameObject, "DeleteBTN"); InterfaceHelpers.CreateButton(deleteBTN, "DeleteBTN", InterfaceButtonMode.Background, OnButtonClick, Color.gray, Color.white, 5.0f, AuxPatchers.ColorPage()); AddToBaseManager(); InvokeRepeating(nameof(UpdateScreen), 1f, 1f); IsInitialized = true; }
private void DisableUpgradesMeshes(GameObject prefab) { for (int i = 0; i < 6; i++) { GameObjectHelpers.FindGameObject(prefab, $"module_{i+1}")?.SetActive(false); } }
private void OnLoadProgrammingGrid(DisplayData data) { try { if (_isBeingDestroyed) { return; } QuickLogger.Debug($"OnLoadProgrammingGrid : {data.ItemsGrid}", true); _programmingGrid.ClearPage(); var grouped = _mono.UpgradeManager.Upgrades; if (data.EndPosition > grouped.Count) { data.EndPosition = grouped.Count; } for (int i = data.StartPosition; i < data.EndPosition; i++) { GameObject buttonPrefab = Instantiate(data.ItemsPrefab); if (buttonPrefab == null || data.ItemsGrid == null) { if (buttonPrefab != null) { Destroy(buttonPrefab); } return; } buttonPrefab.transform.SetParent(data.ItemsGrid.transform, false); var upgradeText = buttonPrefab.GetComponentInChildren <Text>(); upgradeText.text = grouped.ElementAt(i).Format(); var deleteButton = GameObjectHelpers.FindGameObject(buttonPrefab, "DeleteBTN")?.GetComponent <Button>(); deleteButton?.onClick.AddListener(Test); var function = grouped.ElementAt(i); deleteButton?.onClick.AddListener(() => { _mono.UpgradeManager.DeleteFunction(function); }); var activateButton = GameObjectHelpers.FindGameObject(buttonPrefab, "ActivationBTN")?.GetComponent <Button>(); activateButton?.onClick.AddListener(Test); activateButton?.onClick.AddListener(() => { function.ToggleUpdate(); }); } _programmingGrid.UpdaterPaginator(grouped.Count); } catch (Exception e) { QuickLogger.Error("Error Caught"); QuickLogger.Error($"Error Message: {e.Message}"); QuickLogger.Error($"Error StackTrace: {e.StackTrace}"); } }
public override void Initialize() { if (NameController == null) { NameController = new ExStorageDepotNameManager(); NameController.Initialize(this); } if (AnimationManager == null) { AnimationManager = gameObject.AddComponent <ExStorageDepotAnimationManager>(); } if (Storage == null) { Storage = gameObject.AddComponent <ExStorageDepotStorageManager>(); Storage.Initialize(this); } if (DumpContainer == null) { DumpContainer = gameObject.AddComponent <DumpContainer>(); DumpContainer.Initialize(transform, ExStorageDepotBuildable.DumpContainerLabel(), ExStorageDepotBuildable.FoodNotAllowed(), ExStorageDepotBuildable.ContainerFullMessage(), Storage); DumpContainer.OnDumpContainerClosed += Storage.OnDumpContainerClosed; } if (Display == null) { Display = gameObject.AddComponent <ExStorageDepotDisplayManager>(); Display.Initialize(this); } var locker = GameObjectHelpers.FindGameObject(gameObject, "Locker", SearchOption.StartsWith); var sRoot = GameObjectHelpers.FindGameObject(gameObject, "StorageRoot"); if (locker != null) { Destroy(locker); } if (sRoot != null) { Destroy(sRoot); } if (FCSConnectableDevice == null) { FCSConnectableDevice = gameObject.AddComponent <FCSConnectableDevice>(); FCSConnectableDevice.Initialize(this, Storage, new ExStoragePowerManager(), true); FCSTechFabricator.FcTechFabricatorService.PublicAPI.RegisterDevice(FCSConnectableDevice, GetPrefabID(), Mod.ExStorageTabID); } _initialized = true; }
private void FindSlots() { for (int i = 0; i < 6; i++) { _slots[i] = GameObjectHelpers.FindGameObject(gameObject, $"module_{i + 1}"); } if (_slots.Count(x => x != null) == 6) { _slotsFound = true; } }
private void Initialize() { if (_initialized) { return; } _checkMark = GameObjectHelpers.FindGameObject(gameObject, "CheckMark"); if (_checkMark == null) { QuickLogger.Debug("Cannot find the CheckMark"); } _initialized = true; }
public override void Initialize() { if (PowerManager == null) { PowerManager = gameObject.AddComponent <AlterraGenPowerManager>(); } if (ColorManager == null) { ColorManager = gameObject.AddComponent <ColorManager>(); ColorManager.Initialize(gameObject, AlterraGenBuildable.BodyMaterial); } if (AnimationManager == null) { AnimationManager = gameObject.AddComponent <AnimationManager>(); } if (DumpContainer == null) { DumpContainer = gameObject.AddComponent <DumpContainer>(); DumpContainer.Initialize(transform, "AlterraGen Receptacle", AlterraGenBuildable.NotAllowedItem(), AlterraGenBuildable.StorageFullMessage(), PowerManager, 3, 3); } if (_fcsConnectableDevice == null) { _fcsConnectableDevice = gameObject.AddComponent <FCSConnectableDevice>(); _fcsConnectableDevice.Initialize(this, PowerManager, PowerManager); FCSTechFabricator.FcTechFabricatorService.PublicAPI.RegisterDevice(_fcsConnectableDevice, GetPrefabID(), Mod.ModTabID); } if (DisplayManager == null) { DisplayManager = gameObject.AddComponent <AlterraGenDisplayManager>(); DisplayManager.Setup(this); } _xBubbles = GameObjectHelpers.FindGameObject(gameObject, "xBubbles"); IsInitialized = true; }
internal void Setup() { try { for (int i = 0; i < 6; i++) { var slot = GameObjectHelpers.FindGameObject(gameObject, $"Slot_{i + 1}"); var icon = GameObjectHelpers.FindGameObject(slot, "Icon")?.AddComponent <uGUI_Icon>(); icon?.gameObject.SetActive(false); var trans = new UpgradeTrans { Slot = $"Module{i + 1}", Icon = icon }; _slots.Add(trans); } } catch (Exception e) { QuickLogger.Error($"Message: {e.Message} | StackTrace: {e.StackTrace}"); } }
public override void Initialize() { if (PowerManager == null) { PowerManager = gameObject.AddComponent <AlterraGenPowerManager>(); } if (ColorManager == null) { ColorManager = gameObject.AddComponent <ColorManager>(); ColorManager.Initialize(gameObject, AlterraGenBuildable.BodyMaterial); } if (AnimationManager == null) { AnimationManager = gameObject.AddComponent <AnimationManager>(); } if (DumpContainer == null) { DumpContainer = gameObject.AddComponent <DumpContainer>(); DumpContainer.Initialize(transform, "AlterraGen Receptacle", "", AlterraGenBuildable.NotAllowedItem(), PowerManager); } if (_fcsConnectableDevice == null) { _fcsConnectableDevice = gameObject.AddComponent <FCSConnectableDevice>(); _fcsConnectableDevice.Initialize(this, PowerManager, PowerManager); } if (DisplayManager == null) { DisplayManager = gameObject.AddComponent <AlterraGenDisplayManager>(); DisplayManager.Setup(this); } _xBubbles = GameObjectHelpers.FindGameObject(gameObject, "xBubbles"); IsInitialized = true; }
public override bool FindAllComponents() { try { #region Canvas var canvas = gameObject.GetComponentInChildren <Canvas>()?.gameObject; if (canvas == null) { QuickLogger.Error("Canvas could not be found!"); return(false); } #endregion #region Home Screen var home = InterfaceHelpers.FindGameObject(canvas, "Home"); #endregion #region Multiplier var multiplier = InterfaceHelpers.FindGameObject(home, "Multiplier"); #endregion #region Item Count _itemCount = InterfaceHelpers.FindGameObject(home, "StorageAmount")?.GetComponent <Text>(); #endregion #region Plier _plier = InterfaceHelpers.FindGameObject(multiplier, "plier")?.GetComponent <Text>(); #endregion #region Storage Labels _storageLabels = InterfaceHelpers.FindGameObject(home, "Storage_Labels"); #endregion #region Grid var grid = InterfaceHelpers.FindGameObject(home, "Grid"); _grid = _mono.gameObject.AddComponent <GridHelper>(); _grid.OnLoadDisplay += OnLoadDisplay; _grid.Setup(16, ExStorageDepotBuildable.ItemPrefab, home, _startColor, _hoverColor, OnButtonClick); #endregion #region Dump Button var dumpBTN = InterfaceHelpers.FindGameObject(home, "Dump_Button"); InterfaceHelpers.CreateButton(dumpBTN, "DumpBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, ExStorageDepotBuildable.AddToExStorage()); #endregion #region Rename Button var renameBTN = InterfaceHelpers.FindGameObject(home, "Rename_Button"); InterfaceHelpers.CreateButton(renameBTN, "RenameBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, ExStorageDepotBuildable.RenameStorage()); #endregion #region Multiplier Previous Button var multiplierPrevBtn = InterfaceHelpers.FindGameObject(multiplier, "Prev_BTN"); InterfaceHelpers.CreateButton(multiplierPrevBtn, "LButton", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, ""); #endregion #region Multiplier Next Button var multiplierNextBtn = InterfaceHelpers.FindGameObject(multiplier, "Next_BTN"); InterfaceHelpers.CreateButton(multiplierNextBtn, "RButton", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, ""); #endregion _unitID = GameObjectHelpers.FindGameObject(home, "UnitID")?.GetComponent <Text>(); } catch (Exception e) { QuickLogger.Error($"{e.Message}:\n{e.StackTrace}"); return(false); } return(true); }
public override bool FindAllComponents() { try { #region Canvas var canvasGameObject = gameObject.GetComponentInChildren <Canvas>()?.gameObject; if (canvasGameObject == null) { QuickLogger.Error("Canvas cannot be found"); return(false); } #endregion #region Home var homePage = InterfaceHelpers.FindGameObject(canvasGameObject, "HomePage"); #endregion #region Color Picker var colorPicker = InterfaceHelpers.FindGameObject(canvasGameObject, "ColorPickerPage"); #endregion #region Items Page var itemsPage = InterfaceHelpers.FindGameObject(canvasGameObject, "ItemsPage"); #endregion #region Settings Page var settingsPage = InterfaceHelpers.FindGameObject(canvasGameObject, "SettingsPage"); #endregion #region Maintenance Page var maintenancePage = InterfaceHelpers.FindGameObject(canvasGameObject, "MaintenancePage"); #endregion #region Powered Off Page var poweredOffPage = InterfaceHelpers.FindGameObject(canvasGameObject, "PoweredOffPage"); #endregion #region Powered Off Page var programmingPage = InterfaceHelpers.FindGameObject(canvasGameObject, "ProgrammingPage"); #endregion //================= Home Page ================// #region Items Button var itemsBTN = GameObjectHelpers.FindGameObject(homePage, "ItemsBTN"); InterfaceHelpers.CreateButton(itemsBTN, "ItemsBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, FCSDeepDrillerBuildable.ItemsButton()); #endregion #region Maintenance Button var maintenanceBTN = GameObjectHelpers.FindGameObject(homePage, "MaintenanceBTN"); InterfaceHelpers.CreateButton(maintenanceBTN, "MaintenanceBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, FCSDeepDrillerBuildable.MaintenanceButton()); #endregion #region Programming Button var programmingBTN = GameObjectHelpers.FindGameObject(homePage, "ProgrammingBTN"); InterfaceHelpers.CreateButton(programmingBTN, "ProgrammingBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, FCSDeepDrillerBuildable.ProgrammingButton()); #endregion #region Programming Button var settingsBTN = GameObjectHelpers.FindGameObject(homePage, "SettingsBTN"); InterfaceHelpers.CreateButton(settingsBTN, "SettingsBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, FCSDeepDrillerBuildable.SettingsButton()); #endregion #region Power Button var hPowerBtn = GameObjectHelpers.FindGameObject(homePage, "PowerBTN"); InterfaceHelpers.CreateButton(hPowerBtn, "PowerBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, FCSDeepDrillerBuildable.PowerButton()); #endregion #region Battery Meter var batteryMeter = GameObjectHelpers.FindGameObject(homePage, "battery"); _batteryFill = batteryMeter?.FindChild("Fill")?.GetComponent <Image>(); if (_batteryFill != null) { _batteryFill.color = _colorEmpty; _batteryFill.fillAmount = 0f; } _batteryPercentage = batteryMeter?.FindChild("Percentage")?.GetComponent <Text>(); #endregion #region Oil Meter var oilMeter = GameObjectHelpers.FindGameObject(homePage, "Oil"); _oilFill = oilMeter?.FindChild("Fill")?.GetComponent <Image>(); if (_oilFill != null) { _oilFill.color = _colorEmpty; _oilFill.fillAmount = 0f; } #endregion #region Items Per Day _itemsPerDay = GameObjectHelpers.FindGameObject(homePage, "ItemsPerDayLBL")?.GetComponent <Text>(); #endregion #region Power Usage _powerUsage = GameObjectHelpers.FindGameObject(homePage, "PowerUsageLBL")?.GetComponent <Text>(); #endregion //================= Power Off Page ================// #region Power Button var pPowerBtn = GameObjectHelpers.FindGameObject(poweredOffPage, "PowerBTN"); InterfaceHelpers.CreateButton(pPowerBtn, "PowerBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, FCSDeepDrillerBuildable.PowerButton()); #endregion //================= Items Page ================// #region Items Grid _itemsGrid = _mono.gameObject.AddComponent <GridHelper>(); _itemsGrid.OnLoadDisplay += OnLoadItemsGrid; _itemsGrid.Setup(9, FCSDeepDrillerBuildable.ItemPrefab, itemsPage, _startColor, _hoverColor, OnButtonClick); #endregion _itemCounter = GameObjectHelpers.FindGameObject(itemsPage, "ItemsCounter")?.GetComponent <Text>(); //================= Settings Page ================// #region Filter Grid _filterGrid = _mono.gameObject.AddComponent <GridHelper>(); _filterGrid.OnLoadDisplay += OnLoadFilterGrid; _filterGrid.Setup(4, FCSDeepDrillerBuildable.ListItemPrefab, settingsPage, _startColor, _hoverColor, OnButtonClick); #endregion #region Solar Panel Button var solarPanelBTN = GameObjectHelpers.FindGameObject(settingsPage, "SolarPanelBTN"); _solarPanelBtnIcon = GameObjectHelpers.FindGameObject(solarPanelBTN, "Icon")?.GetComponent <Image>(); InterfaceHelpers.CreateButton(solarPanelBTN, "SolarPanelBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, FCSDeepDrillerBuildable.SolarButton()); #endregion #region Filter Toggle Button var filterToggleBTN = GameObjectHelpers.FindGameObject(settingsPage, "FilterBTN"); _filterBTNText = filterToggleBTN.GetComponentInChildren <Text>(); InterfaceHelpers.CreateButton(filterToggleBTN, "FilterBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, FCSDeepDrillerBuildable.FilterButton()); #endregion #region Export Toggle Button var exportToggleBTN = GameObjectHelpers.FindGameObject(settingsPage, "ExportToggleBTN"); _exportToggleBTNText = exportToggleBTN.GetComponentInChildren <Text>(); InterfaceHelpers.CreateButton(exportToggleBTN, "ExportToggleBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, FCSDeepDrillerBuildable.ExportToggleButton()); #endregion #region Blacklist Toggle _blackListToggle = GameObjectHelpers.FindGameObject(settingsPage, "Toggle").GetComponent <Toggle>(); _blackListToggle.onValueChanged.AddListener((toggleState) => { _mono.OreGenerator.SetBlackListMode(toggleState); }); #endregion #region Color Picker Button var colorPickerBTN = GameObjectHelpers.FindGameObject(settingsPage, "ColorPickerBTN"); InterfaceHelpers.CreateButton(colorPickerBTN, "ColorPickerBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, FCSDeepDrillerBuildable.ColorButton()); #endregion #region ColorPage _colorPage.SetupGrid(36, FCSDeepDrillerBuildable.ColorItemPrefab, colorPicker, OnButtonClick, _startColor, _hoverColor); #endregion #region Solar Panel Button var rangeToggleBTN = GameObjectHelpers.FindGameObject(settingsPage, "RangeToggleBTN"); _rangeToggleBTNIcon = GameObjectHelpers.FindGameObject(rangeToggleBTN, "Icon")?.GetComponent <Image>(); InterfaceHelpers.CreateButton(rangeToggleBTN, "RangeToggleBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, FCSDeepDrillerBuildable.ToggleRangeButton()); #endregion //================= Maintenance Page ================// #region Maintenance Home Button var maintenanceHomeBTN = GameObjectHelpers.FindGameObject(maintenancePage, "HomeBTN"); InterfaceHelpers.CreateButton(maintenanceHomeBTN, "HomeBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, FCSDeepDrillerBuildable.MaintenanceButton()); #endregion #region Oil Dump Button var oilDumpBTN = GameObjectHelpers.FindGameObject(maintenancePage, "OilBTN"); InterfaceHelpers.CreateButton(oilDumpBTN, "OilDumpBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, FCSDeepDrillerBuildable.AddOil()); #endregion #region Powercell Dump Button var powercellDumpBTN = GameObjectHelpers.FindGameObject(maintenancePage, "PowerBTN"); InterfaceHelpers.CreateButton(powercellDumpBTN, "PowercellDumpBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, FCSDeepDrillerBuildable.AddPower()); #endregion //================= Programming Page ================// #region Programming Grid _programmingGrid = _mono.gameObject.AddComponent <GridHelper>(); _programmingGrid.OnLoadDisplay += OnLoadProgrammingGrid; _programmingGrid.Setup(6, FCSDeepDrillerBuildable.ProgrammingItemPrefab, programmingPage, _startColor, _hoverColor, OnButtonClick); var addBTN = GameObjectHelpers.FindGameObject(programmingPage, "AddBTN"); InterfaceHelpers.CreateButton(addBTN, "AddProgramBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, FCSDeepDrillerBuildable.AddProgramButton()); #endregion #region Find Unit _unitID = GameObjectHelpers.FindGameObject(homePage, "UnitID")?.GetComponent <Text>(); #endregion } catch (Exception e) { QuickLogger.Error("Error Has been caught:"); QuickLogger.Error($"Message:\n {e.Message}"); QuickLogger.Error($"StackTrace:\n {e.StackTrace}"); return(false); } return(true); }
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 override void Initialize() { QuickLogger.Debug($"Initializing"); var listSolar = new List <GameObject> { GameObjectHelpers.FindGameObject(gameObject, "Cube_2_2"), GameObjectHelpers.FindGameObject(gameObject, "Cube_1_2"), GameObjectHelpers.FindGameObject(gameObject, "Cube_1"), GameObjectHelpers.FindGameObject(gameObject, "Cube_2"), GameObjectHelpers.FindGameObject(gameObject, "Cube_2_3"), GameObjectHelpers.FindGameObject(gameObject, "Cube_1_4"), GameObjectHelpers.FindGameObject(gameObject, "Cube_2_4") }; foreach (GameObject solarObj in listSolar) { var sController = solarObj.AddComponent <FCSDeepDrillerSolarController>(); sController.Setup(this); } SolarStateHash = Animator.StringToHash("SolarState"); InvokeRepeating(nameof(UpdateDrillShaftSate), 1, 1); if (OilHandler == null) { OilHandler = gameObject.AddComponent <FCSDeepDrillerOilHandler>(); OilHandler.Initialize(this); } if (_prefabId == null) { QuickLogger.Error("Prefab Identifier Component was not found"); } if (_buildable == null) { _buildable = GetComponentInParent <Constructable>(); } OreGenerator = gameObject.AddComponent <FCSDeepDrillerOreGenerator>(); OreGenerator.Initialize(this); OreGenerator.OnAddCreated += OreGeneratorOnAddCreated; if (PowerManager == null) { PowerManager = gameObject.AddComponent <FCSDeepDrillerPowerHandler>(); PowerManager.Initialize(this); var powerRelay = gameObject.AddComponent <PowerRelay>(); PowerManager.SetPowerRelay(powerRelay); } if (LaserManager == null) { LaserManager = new LaserManager(); LaserManager.Setup(this); } if (ColorManager == null) { ColorManager = gameObject.AddComponent <ColorManager>(); ColorManager.Initialize(gameObject, FCSDeepDrillerBuildable.BodyMaterial); } AudioManager = new AudioManager(gameObject.GetComponent <FMOD_CustomLoopingEmitter>()); DeepDrillerContainer = new FCSDeepDrillerContainer(); DeepDrillerContainer.Setup(this); AnimationHandler = gameObject.AddComponent <FCSDeepDrillerAnimationHandler>(); AnimationHandler.Initialize(this); LavaPitHandler = gameObject.AddComponent <FCSDeepDrillerLavaPitHandler>(); LavaPitHandler.Initialize(this); if (OilDumpContainer == null) { OilDumpContainer = gameObject.AddComponent <DumpContainer>(); OilDumpContainer.Initialize(transform, FCSDeepDrillerBuildable.OilDropContainerTitle(), FCSDeepDrillerBuildable.NotAllowedItem(), FCSDeepDrillerBuildable.StorageFull(), OilHandler, 4, 4); } if (PowercellDumpContainer == null) { PowercellDumpContainer = gameObject.AddComponent <DumpContainer>(); PowercellDumpContainer.Initialize(transform, FCSDeepDrillerBuildable.PowercellDumpContainerTitle(), FCSDeepDrillerBuildable.NotAllowedItem(), FCSDeepDrillerBuildable.StorageFull(), PowerManager, 1, 1); } if (TransferManager == null) { TransferManager = gameObject.AddComponent <FCSDeepDrillerTransferManager>(); TransferManager.Initialize(this); } if (UpgradeManager == null) { UpgradeManager = gameObject.AddComponent <FCSDeepDrillerUpgradeManager>(); UpgradeManager.Initialize(this); } _line = gameObject.GetComponent <LineRenderer>(); _line.SetVertexCount(Segments + 1); _line.useWorldSpace = false; if (FCSConnectableDevice == null) { FCSConnectableDevice = gameObject.AddComponent <FCSConnectableDevice>(); FCSConnectableDevice.Initialize(this, DeepDrillerContainer, PowerManager); FCSTechFabricator.FcTechFabricatorService.PublicAPI.RegisterDevice(FCSConnectableDevice, GetPrefabID(), Mod.DeepDrillerTabID); } OnGenerate(); IsInitialized = true; QuickLogger.Debug($"Initializing Completed"); }
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, "PBtn", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, ARSSeaBreezeFCS32Buildable.PowerBTNMessage()); #endregion #region PowerOFf PowerButton var ppowerBtn = InterfaceHelpers.FindGameObject(powerOff, "Power_BTN"); InterfaceHelpers.CreateButton(ppowerBtn, "PBtn", 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 _unitID = GameObjectHelpers.FindGameObject(home, "UnitID")?.GetComponent <Text>(); } catch (Exception e) { QuickLogger.Error($"{e.Message}:\n{e.StackTrace}"); return(false); } return(true); }
public override bool FindAllComponents() { try { #region Home var home = GameObjectHelpers.FindGameObject(gameObject, "Home"); //connections BTN var connectionsBTNObject = GameObjectHelpers.FindGameObject(home, "ConnectionsBTN"); InterfaceHelpers.CreateButton(connectionsBTNObject, "ConnectionsBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE); //Auto Craft BTN var autoCraftBTNObject = GameObjectHelpers.FindGameObject(home, "AutoCraftBTN"); InterfaceHelpers.CreateButton(autoCraftBTNObject, "AutoCraftBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE); //Visibility BTN var visiblityBTNObject = GameObjectHelpers.FindGameObject(home, "VisiblityBTN"); InterfaceHelpers.CreateButton(visiblityBTNObject, "VisibilityBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE); #endregion #region Visibility Page var visibilityPage = GameObjectHelpers.FindGameObject(gameObject, "VisibliltyPage"); _visibilityGrid = _mono.gameObject.AddComponent <GridHelper>(); _visibilityGrid.OnLoadDisplay += OnLoadVisibilityGrid; _visibilityGrid.Setup(18, DSSModelPrefab.OperatorItemPrefab, visibilityPage, _startColor, _hoverColor, OnButtonClick); _visibilityGrid.DrawPage(); var visibilityInputField = InterfaceHelpers.FindGameObject(visibilityPage, "InputField"); var visibilityText = InterfaceHelpers.FindGameObject(visibilityInputField, "Placeholder")?.GetComponent <Text>(); visibilityText.text = AuxPatchers.SearchForItemsMessage(); var visibilitySearchField = visibilityInputField.AddComponent <SearchField>(); visibilitySearchField.OnSearchValueChanged += OnVisibiltySearchValueChanged; #endregion #region Autocrafting Page var autoCraftingPage = GameObjectHelpers.FindGameObject(gameObject, "AutoCraftPage"); _autoCraftingGrid = _mono.gameObject.AddComponent <GridHelper>(); _autoCraftingGrid.OnLoadDisplay += OnLoadAutoCraftGrid; _autoCraftingGrid.Setup(6, DSSModelPrefab.AutoCraftItemPrefab, autoCraftingPage, _startColor, _hoverColor, OnButtonClick); _autoCraftingGrid.DrawPage(); var addCraftBtnObject = GameObjectHelpers.FindGameObject(autoCraftingPage, "AddBTN"); InterfaceHelpers.CreateButton(addCraftBtnObject, "AddCraftBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE); #region Autocrafting Items Page var autocraftingitemPage = GameObjectHelpers.FindGameObject(gameObject, "CraftingChoicePage"); var autocraftingitemBTNObject = GameObjectHelpers.FindGameObject(autocraftingitemPage, "CancelBTN")?.GetComponent <Button>(); autocraftingitemBTNObject.onClick.AddListener(OnCraftItemCancelButtonClick); var autocraftingBTNObject = GameObjectHelpers.FindGameObject(autocraftingitemPage, "Button")?.GetComponent <Button>(); autocraftingBTNObject?.onClick.AddListener(() => { if (BaseManager.Crafts.Any(x => x?.TechType == _craftTechType)) { _messageBoxDialog.ShowMessageBox("This craft request already exists canceling", "craft", FCSMessageBox.OK); return; } GoToPage(OperatorPages.AutoCraft); BaseManager.AddCraft(new FCSOperation { TechType = _craftTechType, Manager = _mono.Manager }); _autoCraftingGrid.DrawPage(); }); _autocraftItemTechTypeGrid = _mono.gameObject.AddComponent <GridHelper>(); _autocraftItemTechTypeGrid.OnLoadDisplay += OnLoadAutoCraftItemsGrid; _autocraftItemTechTypeGrid.Setup(18, DSSModelPrefab.AutoCraftItemPrefab, autocraftingitemPage, _startColor, _hoverColor, OnButtonClick); _autocraftItemTechTypeGrid.DrawPage(); var autoCraftItemInputField = InterfaceHelpers.FindGameObject(autocraftingitemPage, "InputField"); var autocraftItemText = InterfaceHelpers.FindGameObject(autoCraftItemInputField, "Placeholder")?.GetComponent <Text>(); autocraftItemText.text = AuxPatchers.SearchForItemsMessage(); var autoCraftItemSearchField = autoCraftItemInputField.AddComponent <SearchField>(); autoCraftItemSearchField.OnSearchValueChanged += OnSearchAutocraftTechValueChanged; #endregion #endregion #region Current Operations Page var currentOperationsPage = GameObjectHelpers.FindGameObject(gameObject, "OperationsPage"); var addOperationBtnObject = GameObjectHelpers.FindGameObject(currentOperationsPage, "AddBTN"); InterfaceHelpers.CreateButton(addOperationBtnObject, "AddBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE); _operationsGrid = _mono.gameObject.AddComponent <GridHelper>(); _operationsGrid.OnLoadDisplay += OnLoadOperationsGrid; _operationsGrid.Setup(5, DSSModelPrefab.ItemEntryPrefab, currentOperationsPage, _startColor, _hoverColor, OnButtonClick); #endregion #region From Page var fromPage = GameObjectHelpers.FindGameObject(gameObject, "FromPage"); var fromNextBTNObject = GameObjectHelpers.FindGameObject(fromPage, "Button")?.GetComponent <Button>(); fromNextBTNObject.onClick.AddListener(FromButtonClick); var fromCancelBTNObject = GameObjectHelpers.FindGameObject(fromPage, "CancelBTN")?.GetComponent <Button>(); fromCancelBTNObject.onClick.AddListener(OnOperationCancelButtonClick); _fromGrid = _mono.gameObject.AddComponent <GridHelper>(); _fromGrid.OnLoadDisplay += OnLoadFromGrid; _fromGrid.Setup(18, DSSModelPrefab.OperatorItemPrefab, fromPage, _startColor, _hoverColor, OnButtonClick); _fromGrid.DrawPage(); var fromInputField = InterfaceHelpers.FindGameObject(fromPage, "InputField"); var text = InterfaceHelpers.FindGameObject(fromInputField, "Placeholder")?.GetComponent <Text>(); text.text = AuxPatchers.SearchForItemsMessage(); var searchField = fromInputField.AddComponent <SearchField>(); searchField.OnSearchValueChanged += OnFromSearchValueChanged; #endregion #region To Page var toPage = GameObjectHelpers.FindGameObject(gameObject, "ToPage"); var toNextBTNObject = GameObjectHelpers.FindGameObject(toPage, "Button")?.GetComponent <Button>(); var toCancelBTNObject = GameObjectHelpers.FindGameObject(toPage, "CancelBTN")?.GetComponent <Button>(); toCancelBTNObject.onClick.AddListener(OnOperationCancelButtonClick); toNextBTNObject.onClick.AddListener(ToButtonClick); _toGrid = _mono.gameObject.AddComponent <GridHelper>(); _toGrid.OnLoadDisplay += OnLoadToGrid; _toGrid.Setup(18, DSSModelPrefab.OperatorItemPrefab, toPage, _startColor, _hoverColor, OnButtonClick); _toGrid.DrawPage(); var toInputField = InterfaceHelpers.FindGameObject(toPage, "InputField"); var toText = InterfaceHelpers.FindGameObject(toInputField, "Placeholder")?.GetComponent <Text>(); toText.text = AuxPatchers.SearchForItemsMessage(); var toSearchField = toInputField.AddComponent <SearchField>(); toSearchField.OnSearchValueChanged += OnToSearchValueChanged; #endregion #region Items Page var itemPage = GameObjectHelpers.FindGameObject(gameObject, "ItemPage"); var itemNextBTNObject = GameObjectHelpers.FindGameObject(itemPage, "Button")?.GetComponent <Button>(); itemNextBTNObject.onClick.AddListener(ItemButtonClick); var itemsCancelBTNObject = GameObjectHelpers.FindGameObject(itemPage, "CancelBTN")?.GetComponent <Button>(); itemsCancelBTNObject.onClick.AddListener(OnOperationCancelButtonClick); _itemTechTypeGrid = _mono.gameObject.AddComponent <GridHelper>(); _itemTechTypeGrid.OnLoadDisplay += OnLoadItemsGrid; _itemTechTypeGrid.Setup(18, DSSModelPrefab.OperatorItemPrefab, itemPage, _startColor, _hoverColor, OnButtonClick); _itemTechTypeGrid.DrawPage(); var itemInputField = InterfaceHelpers.FindGameObject(itemPage, "InputField"); var itemText = InterfaceHelpers.FindGameObject(itemInputField, "Placeholder")?.GetComponent <Text>(); itemText.text = AuxPatchers.SearchForItemsMessage(); var itemSearchField = itemInputField.AddComponent <SearchField>(); itemSearchField.OnSearchValueChanged += OnSearchItemValueChanged; #endregion #region MessageBox var messageBox = GameObjectHelpers.FindGameObject(gameObject, "MessageBox"); _messageBoxDialog = messageBox.AddComponent <FCSMessageBoxDialog>(); _messageBoxDialog.OnConfirmButtonClick += id => { switch (id) { case "cancel": GoToPage(OperatorPages.Operations); ResetData(); break; case "itemCancel": GoToPage(OperatorPages.AutoCraft); ResetData(); break; case "craft": GoToPage(OperatorPages.AutoCraft); _craftTechType = TechType.None; break; } }; #endregion } catch (Exception e) { QuickLogger.Error($"Error: {e.Message} | StackTrace: {e.StackTrace}"); return(false); } return(true); }
public override bool FindAllComponents() { try { #region Canvas var canvasGameObject = gameObject.GetComponentInChildren <Canvas>()?.gameObject; if (canvasGameObject == null) { QuickLogger.Error("Canvas cannot be found"); return(false); } #endregion #region Home var home = InterfaceHelpers.FindGameObject(canvasGameObject, "Home"); #endregion #region VehiclesPage var vehiclesPage = InterfaceHelpers.FindGameObject(canvasGameObject, "VehiclesPage"); #endregion #region VehicleDockingSettingsPage var vehiclesDockingSettingsPage = InterfaceHelpers.FindGameObject(canvasGameObject, "VehicleDockingSettingsPage"); #endregion #region Item Page var itemPage = InterfaceHelpers.FindGameObject(vehiclesDockingSettingsPage, "ItemPage"); #endregion #region Category Page var categoryPage = InterfaceHelpers.FindGameObject(vehiclesDockingSettingsPage, "CategoryPage"); #endregion #region VehiclesContainersPage var vehiclesContainersPage = InterfaceHelpers.FindGameObject(canvasGameObject, "VehiclesContainersPage"); #endregion #region BaseItemsPage var baseItemsPage = InterfaceHelpers.FindGameObject(canvasGameObject, "BaseItemsPage"); #endregion #region GettingDataPage var gettingDataPage = InterfaceHelpers.FindGameObject(canvasGameObject, "GettingData"); #endregion #region Settings var settings = InterfaceHelpers.FindGameObject(canvasGameObject, "SettingsPage"); #endregion #region PoweredOff var poweredOff = InterfaceHelpers.FindGameObject(canvasGameObject, "PowerOffPage"); #endregion #region ColorPageMain var colorMainPage = InterfaceHelpers.FindGameObject(canvasGameObject, "ColorPageMain"); #endregion #region ScreenColorPicker var screenColorPicker = InterfaceHelpers.FindGameObject(canvasGameObject, "TerminalColorPage"); #endregion #region AntennnaColorPicker _antennaColorPicker = InterfaceHelpers.FindGameObject(canvasGameObject, "AntennaColorPage"); #endregion #region Base Grid _baseGrid = _mono.gameObject.AddComponent <GridHelper>(); _baseGrid.OnLoadDisplay += OnLoadBaseGrid; _baseGrid.Setup(12, DSSModelPrefab.BaseItemPrefab, home, _startColor, _hoverColor, OnButtonClick); //Minus 2 ItemPerPage because of the added Home button #endregion #region Vehicle Grid _vehicleGrid = _mono.gameObject.AddComponent <GridHelper>(); _vehicleGrid.OnLoadDisplay += OnLoadVehicleGrid; _vehicleGrid.Setup(12, DSSModelPrefab.VehicleItemPrefab, vehiclesPage, _startColor, _hoverColor, OnButtonClick); //Minus 1 ItemPerPage because of the added Home button #endregion #region Vehicle Containers Grid _vehicleContainersGrid = _mono.gameObject.AddComponent <GridHelper>(); _vehicleContainersGrid.OnLoadDisplay += OnLoadVehicleContainersGrid; _vehicleContainersGrid.Setup(12, DSSModelPrefab.VehicleItemPrefab, vehiclesContainersPage, _startColor, _hoverColor, OnButtonClick, 5, "PrevBTN", "NextBTN", "Grid", "Paginator", "HomeBTN", "VehiclesPageBTN"); //Minus 1 ItemPerPage because of the added Home button #endregion #region Item Grid _itemGrid = _mono.gameObject.AddComponent <GridHelper>(); _itemGrid.OnLoadDisplay += OnLoadItemsGrid; _itemGrid.Setup(4, DSSModelPrefab.FilterItemPrefab, itemPage, _startColor, _hoverColor, OnButtonClick); //Minus 1 ItemPerPage because of the added Home button #endregion #region Category Grid _categoryGrid = _mono.gameObject.AddComponent <GridHelper>(); _categoryGrid.OnLoadDisplay += OnLoadCategoryGrid; _categoryGrid.Setup(4, DSSModelPrefab.FilterItemPrefab, categoryPage, _startColor, _hoverColor, OnButtonClick); //Minus 1 ItemPerPage because of the added Home button #endregion #region Base Items Page _baseItemsGrid = _mono.gameObject.AddComponent <GridHelper>(); _baseItemsGrid.OnLoadDisplay += OnLoadBaseItemsGrid; _baseItemsGrid.Setup(44, DSSModelPrefab.ItemPrefab, baseItemsPage, _startColor, _hoverColor, OnButtonClick); _counter = GameObjectHelpers.FindGameObject(baseItemsPage, "Counter").GetComponent <Text>(); #endregion #region DumpBTNButton var closeBTN = InterfaceHelpers.FindGameObject(baseItemsPage, "DumpButton"); InterfaceHelpers.CreateButton(closeBTN, "DumpBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, AuxPatchers.DumpToBase()); #endregion #region ColorPickerBTN var colorPickerBTN = InterfaceHelpers.FindGameObject(settings, "ColorPickerBTN"); InterfaceHelpers.CreateButton(colorPickerBTN, "ColorPickerBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, AuxPatchers.ColorPage()); #endregion #region RenameBTN var renameBTN = InterfaceHelpers.FindGameObject(settings, "RenameBaseBTN"); InterfaceHelpers.CreateButton(renameBTN, "RenameBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, AuxPatchers.Rename()); #endregion #region SettingsBTN var settingsBTN = InterfaceHelpers.FindGameObject(home, "SettingsBTN"); InterfaceHelpers.CreateButton(settingsBTN, "SettingsBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, AuxPatchers.SettingPage()); #endregion #region HomePowerBTN var homePowerBTN = InterfaceHelpers.FindGameObject(home, "PowerBTN"); InterfaceHelpers.CreateButton(homePowerBTN, "PowerBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, AuxPatchers.PowerButton()); #endregion #region PoweredOffPowerBTN var poweredOffPowerBTN = InterfaceHelpers.FindGameObject(poweredOff, "PowerBTN"); InterfaceHelpers.CreateButton(poweredOffPowerBTN, "PowerBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, AuxPatchers.PowerButton()); #endregion #region ColorPickerMainHomeBTN var colorPickerMainHomeBTN = InterfaceHelpers.FindGameObject(colorMainPage, "HomeBTN"); InterfaceHelpers.CreateButton(colorPickerMainHomeBTN, "SettingsBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, AuxPatchers.SettingPage()); #endregion #region SettingHomeBTN var settingsHomeBTN = InterfaceHelpers.FindGameObject(settings, "HomeBTN"); InterfaceHelpers.CreateButton(settingsHomeBTN, "HomeBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, AuxPatchers.GoToHome()); #endregion #region Terminal Color BTN var terminalColorBTN = InterfaceHelpers.FindGameObject(colorMainPage, "TerminalColorBTN"); InterfaceHelpers.CreateButton(terminalColorBTN, "TerminalColorBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, string.Format(AuxPatchers.ColorPageFormat(), AuxPatchers.Terminal())); #endregion #region VehicleSettingsBTN var vehicleSettingBTN = InterfaceHelpers.FindGameObject(settings, "AutoDockBTN"); InterfaceHelpers.CreateButton(vehicleSettingBTN, "AutoDockBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, AuxPatchers.GoToDockedVehiclesSettings()); #endregion #region Toggle _toggle = InterfaceHelpers.FindGameObject(vehiclesDockingSettingsPage, "Toggle").GetComponent <Toggle>(); _toggle.onValueChanged.AddListener(OnAutoPullToggled); #endregion #region Search var inputField = InterfaceHelpers.FindGameObject(baseItemsPage, "InputField"); if (inputField != null) { var text = InterfaceHelpers.FindGameObject(inputField, "Placeholder")?.GetComponent <Text>(); if (text != null) { text.text = AuxPatchers.SearchForItemsMessage(); } else { return(false); } var searchField = inputField.AddComponent <SearchField>(); searchField.OnSearchValueChanged += UpdateSearch; } else { //throw new MissingComponentException("Cannot find Input Field"); return(false); } #endregion #region Antenna Color BTN var antennaColorBTN = InterfaceHelpers.FindGameObject(colorMainPage, "AntennaColorBTN"); InterfaceHelpers.CreateButton(antennaColorBTN, "AntennaColorBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, string.Format(AuxPatchers.ColorPageFormat(), AuxPatchers.Antenna())); #endregion #region ColorPage _terminalColorPage.SetupGrid(90, DSSModelPrefab.ColorItemPrefab, screenColorPicker, OnButtonClick, _startColor, _hoverColor, 5, "PrevBTN", "NextBTN", "Grid", "Paginator", "HomeBTN", "ColorPickerBTN"); #endregion #region BaseItemDecription var baseItemPageDesc = InterfaceHelpers.FindGameObject(colorMainPage, "Title")?.GetComponent <Text>(); baseItemPageDesc.text = AuxPatchers.ColorMainPageDesc(); #endregion #region BaseName _baseNameLabel = InterfaceHelpers.FindGameObject(baseItemsPage, "BaseLabel")?.GetComponent <Text>(); #endregion #region BaseItemsLoading _gettingData = InterfaceHelpers.FindGameObject(gettingDataPage, "Title")?.GetComponent <Text>(); #endregion #region DockSettingsHomeBTN var dockSettingsHomeBTN = InterfaceHelpers.FindGameObject(vehiclesDockingSettingsPage, "HomeBTN"); InterfaceHelpers.CreateButton(dockSettingsHomeBTN, "SettingsBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, AuxPatchers.SettingPage()); #endregion return(true); } catch (Exception e) { QuickLogger.Error(e.Message); QuickLogger.Error(e.StackTrace); return(false); } }
public override bool FindAllComponents() { try { #region Canvas var canvasGameObject = gameObject.GetComponentInChildren <Canvas>()?.gameObject; if (canvasGameObject == null) { QuickLogger.Error("Canvas cannot be found"); return(false); } #endregion #region Home var home = InterfaceHelpers.FindGameObject(canvasGameObject, "Home"); #endregion #region NotOnBase var notOnbase = InterfaceHelpers.FindGameObject(canvasGameObject, "NotOnBase")?.GetComponentInChildren <Text>(); if (notOnbase != null) { notOnbase.text = HydroponicHarvestersBuildable.NotOnBaseMessage(); } #endregion #region Controls var controls = InterfaceHelpers.FindGameObject(home, "Controls"); #endregion #region LightButton var lightBTN = InterfaceHelpers.FindGameObject(controls, "LightBTN"); InterfaceHelpers.CreateButton(lightBTN, "LightBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, HydroponicHarvestersBuildable.ToggleLightMessage()); var ligtIcon = InterfaceHelpers.FindGameObject(lightBTN, "Icon").AddComponent <uGUI_Icon>(); ligtIcon.sprite = SpriteManager.Get(TechType.Flashlight); #endregion #region DNA Counter _dnaCounter = InterfaceHelpers.FindGameObject(home, "Limit")?.GetComponent <Text>(); #endregion #region Power Usage _powerUsage = InterfaceHelpers.FindGameObject(home, "PowerUsage")?.GetComponent <Text>(); #endregion #region ItemsCount _itemsCount = InterfaceHelpers.FindGameObject(home, "ItemsCount")?.GetComponent <Text>(); #endregion #region TimeLeft _timeLeft = InterfaceHelpers.FindGameObject(home, "TimeLeft")?.GetComponent <Text>(); #endregion #region CleanerButton var cleanerButtonObj = InterfaceHelpers.FindGameObject(controls, "CleanerBTN"); var cleanerIcon = InterfaceHelpers.FindGameObject(cleanerButtonObj, "Icon").AddComponent <uGUI_Icon>(); cleanerIcon.sprite = ImageUtils.LoadSpriteFromFile(Path.Combine(Mod.GetAssetFolder(), "FloraKleen.png")); InterfaceHelpers.CreateButton(cleanerButtonObj, "CleanerBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, HydroponicHarvestersBuildable.CleanerBTNMessage()); #endregion #region DumpBTNButton var dumpBTNButtonObj = InterfaceHelpers.FindGameObject(controls, "DumpBTN"); InterfaceHelpers.CreateButton(dumpBTNButtonObj, "DumpBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, HydroponicHarvestersBuildable.DumpBTNMessage()); #endregion #region ColorPicker Button var colorBTN = InterfaceHelpers.FindGameObject(controls, "ColorBTN"); InterfaceHelpers.CreateButton(colorBTN, "ColorBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, HydroponicHarvestersBuildable.ColorPickerBTNMessage()); #endregion #region ColorPicker var colorPicker = InterfaceHelpers.FindGameObject(canvasGameObject, "ColorPicker"); #endregion #region ColorPage _colorPage.SetupGrid(50, HydroponicHarvestersModelPrefab.ColorItemPrefab, colorPicker, OnButtonClick, _startColor, _hoverColor); #endregion #region PowerLevelButton var powerLevelBTN = InterfaceHelpers.FindGameObject(controls, "PowerLevelBTN"); _powerLevelText = InterfaceHelpers.FindGameObject(powerLevelBTN, "Text").GetComponent <Text>(); InterfaceHelpers.CreateButton(powerLevelBTN, "PowerLevelBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, HydroponicHarvestersBuildable.PowerLevelBTNMessage()); #endregion #region DNA _dnaGrid = _mono.gameObject.AddComponent <GridHelper>(); _dnaGrid.OnLoadDisplay += OnLoadDnaGrid; _dnaGrid.Setup(4, HydroponicHarvestersModelPrefab.ItemPrefab, home, _startColor, _hoverColor, OnButtonClick, 5, string.Empty, string.Empty, "Slots", string.Empty, string.Empty); #endregion _unitID = GameObjectHelpers.FindGameObject(home, "UnitID")?.GetComponent <Text>(); #region ModeButton var modeBTN = InterfaceHelpers.FindGameObject(controls, "ModeBTN"); _modeIcon = InterfaceHelpers.FindGameObject(modeBTN, "Icon").AddComponent <uGUI_Icon>(); _modeIcon.sprite = MelonIconSprite; InterfaceHelpers.CreateButton(modeBTN, "ModeBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, HydroponicHarvestersBuildable.ModeBTNMessage()); #endregion } catch (Exception e) { QuickLogger.Error($"Message: {e.Message} || StackTrace: {e.StackTrace}"); return(false); } return(true); }
private void FindVaporBlast() { _vaporFx = GameObjectHelpers.FindGameObject(gameObject, "PressurisedSteam_FCS"); }
public override void Initialize() { QuickLogger.Debug($"Initializing"); var listSolar = new List <GameObject> { GameObjectHelpers.FindGameObject(gameObject, "Cube_2_2"), GameObjectHelpers.FindGameObject(gameObject, "Cube_1_2"), GameObjectHelpers.FindGameObject(gameObject, "Cube_1"), GameObjectHelpers.FindGameObject(gameObject, "Cube_2"), GameObjectHelpers.FindGameObject(gameObject, "Cube_2_3"), GameObjectHelpers.FindGameObject(gameObject, "Cube_1_4"), GameObjectHelpers.FindGameObject(gameObject, "Cube_2_4") }; foreach (GameObject solarObj in listSolar) { var sController = solarObj.AddComponent <FCSDeepDrillerSolarController>(); sController.Setup(this); } ExtendStateHash = Animator.StringToHash("LegState"); ShaftStateHash = Animator.StringToHash("ShaftState"); ScreenStateHash = Animator.StringToHash("ScreenState"); BitSpinState = Animator.StringToHash("BitSpinState"); BitDamageState = Animator.StringToHash("BitDamageState"); SolarStateHash = Animator.StringToHash("SolarState"); _prefabId = GetComponentInParent <PrefabIdentifier>() ?? GetComponent <PrefabIdentifier>(); InvokeRepeating(nameof(UpdateDrillShaftSate), 1, 1); if (OilHandler == null) { OilHandler = gameObject.AddComponent <FCSDeepDrillerOilHandler>(); OilHandler.Initialize(this); } if (_prefabId == null) { QuickLogger.Error("Prefab Identifier Component was not found"); } if (_buildable == null) { _buildable = GetComponentInParent <Constructable>(); } OreGenerator = gameObject.AddComponent <OreGenerator>(); OreGenerator.Initialize(this); OreGenerator.OnAddCreated += OreGeneratorOnAddCreated; if (PowerManager == null) { PowerManager = gameObject.AddComponent <FCSDeepDrillerPowerHandler>(); PowerManager.Initialize(this); PowerManager.OnPowerUpdate += OnPowerUpdate; var powerRelay = gameObject.AddComponent <PowerRelay>(); PowerManager.SetPowerRelay(powerRelay); } if (LaserManager == null) { LaserManager = new LaserManager(); LaserManager.Setup(this); } if (ColorManager == null) { ColorManager = gameObject.AddComponent <ColorManager>(); ColorManager.Initialize(gameObject, FCSDeepDrillerBuildable.BodyMaterial); } AudioManager = new AudioManager(gameObject.GetComponent <FMOD_CustomLoopingEmitter>()); HealthManager = gameObject.AddComponent <FCSDeepDrillerHealthHandler>(); HealthManager.Initialize(this); HealthManager.SetHealth(100); HealthManager.OnDamaged += OnDamaged; HealthManager.OnRepaired += OnRepaired; DeepDrillerContainer = new FCSDeepDrillerContainer(); DeepDrillerContainer.Setup(this); AnimationHandler = gameObject.AddComponent <FCSDeepDrillerAnimationHandler>(); AnimationHandler.Initialize(this); LavaPitHandler = gameObject.AddComponent <FCSDeepDrillerLavaPitHandler>(); LavaPitHandler.Initialize(this); if (OilDumpContainer == null) { OilDumpContainer = gameObject.AddComponent <DumpContainer>(); OilDumpContainer.Initialize(transform, FCSDeepDrillerBuildable.OilDropContainerTitle(), FCSDeepDrillerBuildable.NotAllowedItem(), FCSDeepDrillerBuildable.StorageFull(), OilHandler, 4, 4); } if (PowercellDumpContainer == null) { PowercellDumpContainer = gameObject.AddComponent <DumpContainer>(); PowercellDumpContainer.Initialize(transform, FCSDeepDrillerBuildable.PowercellDumpContainerTitle(), FCSDeepDrillerBuildable.NotAllowedItem(), FCSDeepDrillerBuildable.StorageFull(), PowerManager, 1, 1); } if (UpgradeManager == null) { UpgradeManager = gameObject.AddComponent <UpgradeManager>(); UpgradeManager.Initialize(this); } UpdateSystemLights(PowerManager.GetPowerState()); OnGenerate(); IsInitialized = true; QuickLogger.Debug($"Initializing Completed"); }