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; }
public void SetupGrid(int colorsPerPage, GameObject colorItemPrefab, GameObject colorPage, Action <string, object> onButtonClick, Color startColor, Color hoverColor, int maxInteractionRange = 5, string prevBtnNAme = "PrevBTN", string nextBtnName = "NextBTN", string gridName = "Grid", string paginatorName = "Paginator", string homeBtnName = "HomeBTN") { _colorsPerPage = colorsPerPage; _colorItemPrefab = colorItemPrefab; _colorPageContainer = InterfaceHelpers.FindGameObject(colorPage, gridName); _colorPageNumber = InterfaceHelpers.FindGameObject(colorPage, paginatorName)?.GetComponent <Text>(); #region Prev Color Button var prevColorBtn = InterfaceHelpers.FindGameObject(colorPage, prevBtnNAme); InterfaceHelpers.CreatePaginator(prevColorBtn, -1, ChangeColorPageBy, startColor, hoverColor); #endregion #region Next Color Button var nextColorBtn = InterfaceHelpers.FindGameObject(colorPage, nextBtnName); InterfaceHelpers.CreatePaginator(nextColorBtn, 1, ChangeColorPageBy, startColor, hoverColor); #endregion #region HomeButton var homeBTN = InterfaceHelpers.FindGameObject(colorPage, homeBtnName); InterfaceHelpers.CreateButton(homeBTN, "HomeBTN", InterfaceButtonMode.Background, onButtonClick, startColor, hoverColor, maxInteractionRange, HomeButtonMessage); #endregion _onButtonClick = onButtonClick; DrawColorPage(1); }
public void CreateButtonTest() { string name = "TestName"; string text = "TestText"; string style = string.Empty; Button expected = new Button { Name = name, Content = text, Margin = new Thickness(0, 0, 0, 0), Style = new Style() }; Button actual; actual = InterfaceHelpers.CreateButton(name, text, style); Assert.IsTrue(actual.Name == expected.Name && actual.Content == expected.Content && actual.Margin == expected.Margin); }
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 #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); }
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 Powered Off Page var poweredOffPage = InterfaceHelpers.FindGameObject(canvasGameObject, "PoweredOff"); #endregion #region ColorPickerPage var colorPickerPage = InterfaceHelpers.FindGameObject(canvasGameObject, "ColorPage"); #endregion #region OpenRackBTNButton var openRackBTN = InterfaceHelpers.FindGameObject(home, "OpenBTN"); InterfaceHelpers.CreateButton(openRackBTN, "OpenBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, AuxPatchers.OpenServerRackPage()); #endregion #region CloseRackBTNButton var closeBTN = InterfaceHelpers.FindGameObject(home, "CloseBTN"); InterfaceHelpers.CreateButton(closeBTN, "CloseBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, AuxPatchers.CloseServerRackPage()); #endregion #region ColorPickerBTN var colorPickerBTN = InterfaceHelpers.FindGameObject(home, "ColorPicker"); InterfaceHelpers.CreateButton(colorPickerBTN, "ColorPickerBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, AuxPatchers.ColorPage()); #endregion #region ColorPickerMainHomeBTN var colorPickerHomeBTN = InterfaceHelpers.FindGameObject(colorPickerPage, "HomeBTN"); InterfaceHelpers.CreateButton(colorPickerHomeBTN, "HomeBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, AuxPatchers.GoToHome()); #endregion #region ColorPage _colorPickerPage.SetupGrid(20, DSSModelPrefab.ColorItemPrefab, colorPickerPage, OnButtonClick, _startColor, _hoverColor); #endregion #region AddServerBTN var addServerBTN = InterfaceHelpers.FindGameObject(home, "AddServerBTN"); InterfaceHelpers.CreateButton(addServerBTN, "AddServerBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, AuxPatchers.AddServer()); #endregion _counter = InterfaceHelpers.FindGameObject(home, "Counter")?.GetComponent <Text>(); var poweredOffMessage = InterfaceHelpers.FindGameObject(poweredOffPage, "Text")?.GetComponent <Text>(); poweredOffMessage.text = AuxPatchers.PoweredOff(); return(true); } catch (Exception e) { QuickLogger.Error($"{e.Message} || {e.StackTrace}"); return(false); } }
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 L_Panel var lPanel = canvasGameObject.FindChild("Left_Panel")?.gameObject; if (lPanel == null) { QuickLogger.Error("Unable to find L_Panel GameObject"); return(false); } #endregion #region R_Panel var rPanel = canvasGameObject.FindChild("Right_Panel")?.gameObject; if (rPanel == null) { QuickLogger.Error("Unable to find R_Panel GameObject"); 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 confirmation var confirmation = canvasGameObject.FindChild("Confirmation")?.gameObject; if (confirmation == null) { QuickLogger.Error("Unable to find Home 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 Color Picker Button var colorPickerBtn = InterfaceHelpers.FindGameObject(rPanel, "ColorPickerBTN"); if (colorPickerBtn == null) { return(false); } InterfaceHelpers.CreateButton(colorPickerBtn, "ColorPageBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MaxInteractionRange); #endregion #region Color Picker Button var renameBtn = InterfaceHelpers.FindGameObject(rPanel, "RenameBTN"); if (renameBtn == null) { return(false); } InterfaceHelpers.CreateButton(renameBtn, "RenameBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MaxInteractionRange); #endregion #region Text Field _textField = InterfaceHelpers.FindGameObject(lPanel, "UnitName")?.GetComponent <Text>(); #endregion #region Grid _teleportGrid.Setup(7, QuantumTeleporterBuildable.ItemPrefab, home, _startColor, _hoverColor, OnButtonClick, 5, "PrevBTN", "NextBTN", "Grid", "Paginator", string.Empty); _teleportGrid.OnLoadDisplay += OnLoadDisplay; #endregion #region Color Grid var _colorGrid = InterfaceHelpers.FindGameObject(colorPicker, "Grid"); if (_colorGrid == null) { QuickLogger.Error <QTDisplayManager>("Cant find color page on home page"); return(false); } #endregion #region Color Paginator var _colorPaginator = InterfaceHelpers.FindGameObject(colorPicker, "Paginator"); if (_colorPaginator == null) { QuickLogger.Error <QTDisplayManager>("Cant find paginator on color picker page"); return(false); } #endregion #region ColorPage _colorPage.SetupGrid(30, QuantumTeleporterBuildable.ColorItemPrefab, _colorGrid, _colorPaginator.GetComponent <Text>(), OnButtonClick); #endregion #region Home Button var homeBtn = InterfaceHelpers.FindGameObject(colorPicker, "HomeBTN"); if (homeBtn == null) { return(false); } InterfaceHelpers.CreateButton(homeBtn, "HomeBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MaxInteractionRange); #endregion #region Prev Color Button var prevColorBtn = InterfaceHelpers.FindGameObject(colorPicker, "PrevBTN"); if (prevColorBtn == null) { return(false); } InterfaceHelpers.CreatePaginator(prevColorBtn, -1, _colorPage.ChangeColorPageBy, _startColor, _hoverColor); #endregion #region Next Color Button var nextColorBtn = InterfaceHelpers.FindGameObject(colorPicker, "NextBTN"); if (nextColorBtn == null) { return(false); } InterfaceHelpers.CreatePaginator(nextColorBtn, 1, _colorPage.ChangeColorPageBy, _startColor, _hoverColor); #endregion #region Global Toggle var isGlobalToggle = InterfaceHelpers.FindGameObject(lPanel, "Toggle"); if (isGlobalToggle == null) { return(false); } var globalToggleLabel = InterfaceHelpers.FindGameObject(isGlobalToggle, "Label"); if (globalToggleLabel == null) { return(false); } globalToggleLabel.GetComponent <Text>().text = QuantumTeleporterBuildable.MakeGlobalUnit(); _isGlobalToggle = isGlobalToggle.GetComponent <Toggle>(); _isGlobalToggle.onValueChanged.AddListener(delegate { ToggleValueChanged(_isGlobalToggle); }); #endregion #region Intra Tele Button var intraTele = InterfaceHelpers.FindGameObject(home, "Intra_TeleBtn"); if (intraTele == null) { return(false); } _intraTeleBtn = InterfaceHelpers.CreateButton(intraTele, "IntraTeleBtn", InterfaceButtonMode.Background, OnButtonClick, Color.black, Color.white, MaxInteractionRange); _intraTeleBtn.ChangeText(QuantumTeleporterBuildable.LocalNetwork()); #endregion #region GLobal Tele Button var globalTele = InterfaceHelpers.FindGameObject(home, "Global_TeleBtn"); if (globalTele == null) { return(false); } _globalTeleBtn = InterfaceHelpers.CreateButton(globalTele, "GlobalTeleBtn", InterfaceButtonMode.Background, OnButtonClick, Color.black, Color.white, MaxInteractionRange); _globalTeleBtn.ChangeText(QuantumTeleporterBuildable.GlobalNetwork()); #endregion #region Information Label var unitInfo = InterfaceHelpers.FindGameObject(lPanel, "UnitNameInfo"); if (unitInfo == null) { return(false); } var infoText = unitInfo.GetComponent <Text>(); infoText.text = LeftPanelText(); #endregion #region Yes Button var yesBTNGO = InterfaceHelpers.FindGameObject(confirmation, "YesBTN"); if (yesBTNGO == null) { return(false); } var yesBTN = InterfaceHelpers.CreateButton(yesBTNGO, "ConfirmYesBtn", InterfaceButtonMode.Background, OnButtonClick, Color.black, Color.white, MaxInteractionRange); yesBTN.ChangeText(QuantumTeleporterBuildable.Confirm()); #endregion #region No Button var noBTNGO = InterfaceHelpers.FindGameObject(confirmation, "NoBTN"); if (noBTNGO == null) { return(false); } var noBTN = InterfaceHelpers.CreateButton(noBTNGO, "ConfirmNoBtn", InterfaceButtonMode.Background, OnButtonClick, Color.black, Color.white, MaxInteractionRange); noBTN.ChangeText(QuantumTeleporterBuildable.Cancel()); #endregion #region Confirmation var confirmMessage = InterfaceHelpers.FindGameObject(confirmation, "Message"); if (confirmMessage == null) { return(false); } confirmMessage.GetComponent <Text>().text = QuantumTeleporterBuildable.ConfirmMessage(); #endregion #region Destination var destination = InterfaceHelpers.FindGameObject(confirmation, "Destination"); if (destination == null) { return(false); } _destination = destination.GetComponent <Text>(); #endregion return(true); }
//Constructor public EventDimensionSelector(int axis) { _axis = axis; // Create basic DimensionSelectorGrid with four columns DimensionSelectorGrid = new Grid { Name = "dimensionSelectorGrid" + axis }; var col1 = new ColumnDefinition { Width = new GridLength(Column1Width) }; var col2 = new ColumnDefinition { Width = new GridLength(Column2Width) }; var col3 = new ColumnDefinition { Width = new GridLength(Column3Width) }; var col4 = new ColumnDefinition { Width = new GridLength(Column4Width) }; DimensionSelectorGrid.ColumnDefinitions.Add(col1); DimensionSelectorGrid.ColumnDefinitions.Add(col2); DimensionSelectorGrid.ColumnDefinitions.Add(col3); DimensionSelectorGrid.ColumnDefinitions.Add(col4); // Number on the left DimensionSelectorGrid.Children.Add(InterfaceHelpers.CreateTextBlock(axis + "", "Title", gridColumn: 0)); // Create Dimension, Level and Aggregation combo boxes on the middle var panelMiddle = new StackPanel(); panelMiddle.SetValue(Grid.ColumnProperty, 1); panelMiddle.HorizontalAlignment = HorizontalAlignment.Left; panelMiddle.VerticalAlignment = VerticalAlignment.Top; panelMiddle.Children.Add(InterfaceHelpers.CreateLabel("Dimension")); _dimensionComboBox = InterfaceHelpers.CreateComboBox("axis" + axis + "_selector", width: ComboBoxWidth); panelMiddle.Children.Add(_dimensionComboBox); panelMiddle.Children.Add(InterfaceHelpers.CreateLabel("Level", top: LabelTopMargin)); _dimensionLevelComboBox = InterfaceHelpers.CreateComboBox("level" + axis + "_selector", width: ComboBoxWidth); panelMiddle.Children.Add(_dimensionLevelComboBox); panelMiddle.Children.Add(InterfaceHelpers.CreateLabel("Aggregation", top: LabelTopMargin)); _dimensionAggregationComboBox = InterfaceHelpers.CreateComboBox("aggregation" + axis + "_selector", width: ComboBoxWidth); panelMiddle.Children.Add(_dimensionAggregationComboBox); DimensionSelectorGrid.Children.Add(panelMiddle); // Filters on the right var panelRight = new StackPanel(); panelRight.SetValue(Grid.ColumnProperty, 3); panelRight.HorizontalAlignment = HorizontalAlignment.Left; panelRight.VerticalAlignment = VerticalAlignment.Top; panelRight.Children.Add(InterfaceHelpers.CreateLabel("Filter")); _dimensionContentSearch = InterfaceHelpers.CreateTextBox("txtSearchAxis" + axis); _dimensionContentSearch.Width = SearchBoxWidth; panelRight.Children.Add(_dimensionContentSearch); // Filterlist _dimensionContentFilter = new ListBox { Name = "filter" + axis + "_selector", HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Top, Width = FilterListWidth, Height = FilterListHeight, Style = Application.Current.TryFindResource("ListBox") as Style, ItemContainerStyle = Application.Current.TryFindResource("ListBoxItemWithCheckbox") as Style, SelectionMode = SelectionMode.Extended }; panelRight.Children.Add(_dimensionContentFilter); // Select all / none var selectAllNone = new StackPanel { Orientation = Orientation.Horizontal }; _selectAllButton = InterfaceHelpers.CreateButton("selectAll" + axis, "Select all", "PlainTextButton"); selectAllNone.Children.Add(_selectAllButton); selectAllNone.Children.Add(InterfaceHelpers.CreateLabel("/")); _selectNoneButton = InterfaceHelpers.CreateButton("selectNone" + axis, "none", "PlainTextButton"); selectAllNone.Children.Add(_selectNoneButton); panelRight.Children.Add(selectAllNone); DimensionSelectorGrid.Children.Add(panelRight); }
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) { throw new MissingComponentException($"A component cant be found.\nMissing Component: Canvas"); } #endregion #region Home Page var home = InterfaceHelpers.FindGameObject(canvasGameObject, "HomePage"); #endregion #region Filter Page var filterPage = InterfaceHelpers.FindGameObject(canvasGameObject, "FilterPage"); #endregion #region Category Page var categoryPage = InterfaceHelpers.FindGameObject(canvasGameObject, "CategoryPage"); #endregion #region Item Page var itemPage = InterfaceHelpers.FindGameObject(canvasGameObject, "ItemPage"); #endregion #region Filter Grid _filterGrid = _mono.gameObject.AddComponent <GridHelper>(); _filterGrid.OnLoadDisplay += OnLoadFilterGrid; _filterGrid.Setup(3, DSSModelPrefab.FilterItemPrefab, filterPage, _startColor, _hoverColor, OnButtonClick); //Minus 1 ItemPerPage because of the added Home button #endregion #region Item Grid _itemGrid = _mono.gameObject.AddComponent <GridHelper>(); _itemGrid.OnLoadDisplay += OnLoadItemsGrid; _itemGrid.Setup(3, 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(3, DSSModelPrefab.FilterItemPrefab, categoryPage, _startColor, _hoverColor, OnButtonClick); //Minus 1 ItemPerPage because of the added Home button #endregion #region Remove Server var removeServerBTN = InterfaceHelpers.FindGameObject(filterPage, "RemoveServerBTN"); InterfaceHelpers.CreateButton(removeServerBTN, "RemoveServerBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, AuxPatchers.RemoveServer()); #endregion #region Add Server var addServerBTN = InterfaceHelpers.FindGameObject(home, "AddServerBTN"); InterfaceHelpers.CreateButton(addServerBTN, "AddServerBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, AuxPatchers.InsertServer()); #endregion #region AddItemBTN var itemPageBTN = InterfaceHelpers.FindGameObject(filterPage, "AddItemBTN"); InterfaceHelpers.CreateButton(itemPageBTN, "AddItemBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, AuxPatchers.AddFilterItem()); #endregion #region AddCategoryBTN var categoryBTN = InterfaceHelpers.FindGameObject(filterPage, "AddCategoryBTN"); InterfaceHelpers.CreateButton(categoryBTN, "AddCategoryBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, AuxPatchers.AddFilterCategory()); #endregion return(true); } catch (Exception e) { QuickLogger.Error($"{e.Message}: {e.StackTrace}"); return(false); } }
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 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); }
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); }
public override bool FindAllComponents() { try { if (_isInitialized) { return(true); } #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 Amount _amountOfPodsCount = InterfaceHelpers.FindGameObject(home, "AmountOfPodsCount")?.GetComponent <Text>(); #endregion #region GasPodButton var gasPodButtonObj = InterfaceHelpers.FindGameObject(home, "GasPodButton"); InterfaceHelpers.CreateButton(gasPodButtonObj, "GasPodBTN", InterfaceButtonMode.Background, OnButtonClick, Color.black, Color.white, MAX_INTERACTION_DISTANCE, GaspodCollectorBuildable.TakeGaspod()); var image = gasPodButtonObj.transform.Find("Image"); var guiIcon = image.gameObject.EnsureComponent <uGUI_Icon>(); guiIcon.sprite = SpriteManager.Get(TechType.GasPod); #endregion #region DumpBTNButton var dumpBTNButtonObj = InterfaceHelpers.FindGameObject(home, "DumpBTN"); InterfaceHelpers.CreateButton(dumpBTNButtonObj, "DumpBTN", InterfaceButtonMode.Background, OnButtonClick, Color.black, Color.white, MAX_INTERACTION_DISTANCE, GaspodCollectorBuildable.DumpPull(), GaspodCollectorBuildable.DumpMessage()); #endregion #region Messages InterfaceHelpers.FindGameObject(home, "AmountOfPods").GetComponent <Text>().text = GaspodCollectorBuildable.AmountOfPodsMessage(); InterfaceHelpers.FindGameObject(home, "ClickToTake").GetComponent <Text>().text = GaspodCollectorBuildable.InstructionsMessage(); InterfaceHelpers.FindGameObject(home, "Battery (1)").FindChild("Battery Label").GetComponent <Text>().text = $"{GaspodCollectorBuildable.Battery()} 1"; InterfaceHelpers.FindGameObject(home, "Battery (2)").FindChild("Battery Label").GetComponent <Text>().text = $"{GaspodCollectorBuildable.Battery()} 2"; #endregion #region ColorPicker Button var colorBTN = InterfaceHelpers.FindGameObject(home, "ColorBTN"); InterfaceHelpers.CreateButton(colorBTN, "ColorBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, GaspodCollectorBuildable.ColorPicker()); #endregion #region Battery Button var batteryBTN = InterfaceHelpers.FindGameObject(home, "BatteryBTN").FindChild("Fill"); InterfaceHelpers.CreateButton(batteryBTN, "BatteryBTN", InterfaceButtonMode.Background, OnButtonClick, _greenColor, _fireBrickColor, MAX_INTERACTION_DISTANCE, GaspodCollectorBuildable.BatteryReceptacle()); #endregion #region ColorPicker var colorPicker = InterfaceHelpers.FindGameObject(canvasGameObject, "ColorPicker"); #endregion #region Color Paginator var _colorPaginator = InterfaceHelpers.FindGameObject(colorPicker, "Paginator"); #endregion #region Color Grid var _colorGrid = InterfaceHelpers.FindGameObject(colorPicker, "Grid"); #endregion #region ColorPage _colorPage.SetupGrid(66, GaspodCollectorBuildable.ColorItemPrefab, _colorGrid, _colorPaginator.GetComponent <Text>(), OnButtonClick); #endregion #region Prev Color Button var prevColorBtn = InterfaceHelpers.FindGameObject(colorPicker, "PrevBTN"); InterfaceHelpers.CreatePaginator(prevColorBtn, -1, _colorPage.ChangeColorPageBy, _startColor, _hoverColor); #endregion #region Next Color Button var nextColorBtn = InterfaceHelpers.FindGameObject(colorPicker, "NextBTN"); InterfaceHelpers.CreatePaginator(nextColorBtn, 1, _colorPage.ChangeColorPageBy, _startColor, _hoverColor); #endregion #region HomeButton var homeBTN = InterfaceHelpers.FindGameObject(colorPicker, "HomeBTN"); InterfaceHelpers.CreateButton(homeBTN, "HomeBTN", InterfaceButtonMode.Background, OnButtonClick, _startColor, _hoverColor, MAX_INTERACTION_DISTANCE, GaspodCollectorBuildable.GoHome()); #endregion #region Batteries var b1 = InterfaceHelpers.FindGameObject(home, "Battery (1)"); var b2 = InterfaceHelpers.FindGameObject(home, "Battery (2)"); _b1Fill = InterfaceHelpers.FindGameObject(b1, "Fill")?.GetComponent <Image>(); _b2Fill = InterfaceHelpers.FindGameObject(b2, "Fill")?.GetComponent <Image>(); _b1Amount = InterfaceHelpers.FindGameObject(b1, "Amount")?.GetComponent <Text>(); _b2Amount = InterfaceHelpers.FindGameObject(b2, "Amount")?.GetComponent <Text>(); #endregion return(true); } catch (Exception e) { QuickLogger.Error <GasopodCollectorDisplayManager>($"{e.Message}\n{e.StackTrace}"); return(false); } }
/// <summary> /// Creates a grid with dimension-, level- and filter-selection to be displayed right of the matrix. /// </summary> /// <param name="number">Number of the dimension (starting from 1)</param> /// <returns>A Grid that should be added to the interface.</returns> /// <author>Jannik Arndt</author> private Grid CreateSelectorGrid(int number) { const double column1Width = 30; const double column2Width = 130; const double column3Width = 10; const double column4Width = 130; const double comboBoxWidth = column2Width - 10; const double searchBoxWidth = column4Width - 10; const double filterListWidth = column4Width - 10; const double filterListHeight = 80; const double labelTopMargin = 8; // Create basic SelectorGrid with four columns var selectorGrid = new Grid { Name = "selectorGrid" + number }; var col1 = new ColumnDefinition { Width = new GridLength(column1Width) }; var col2 = new ColumnDefinition { Width = new GridLength(column2Width) }; var col3 = new ColumnDefinition { Width = new GridLength(column3Width) }; var col4 = new ColumnDefinition { Width = new GridLength(column4Width) }; selectorGrid.ColumnDefinitions.Add(col1); selectorGrid.ColumnDefinitions.Add(col2); selectorGrid.ColumnDefinitions.Add(col3); selectorGrid.ColumnDefinitions.Add(col4); // Number on the left selectorGrid.Children.Add(InterfaceHelpers.CreateTextBlock(number + "", "Title", gridColumn: 0)); // Dimension and Level-Selectors in the middle var panelMiddle = new StackPanel(); panelMiddle.SetValue(Grid.ColumnProperty, 1); panelMiddle.HorizontalAlignment = HorizontalAlignment.Left; panelMiddle.VerticalAlignment = VerticalAlignment.Top; panelMiddle.Children.Add(InterfaceHelpers.CreateLabel("Dimension")); var axisComboBox = InterfaceHelpers.CreateComboBox("axis" + number + "_selector", width: comboBoxWidth); axisComboBox.SelectionChanged += OnDimensionComboBoxSelectionChanged; panelMiddle.Children.Add(axisComboBox); panelMiddle.Children.Add(InterfaceHelpers.CreateLabel("Level", top: labelTopMargin)); var levelComboBox = InterfaceHelpers.CreateComboBox("level" + number + "_selector", width: comboBoxWidth); levelComboBox.SelectionChanged += OnLevelComboBoxSelectionChanged; panelMiddle.Children.Add(levelComboBox); selectorGrid.Children.Add(panelMiddle); // Filters on the right var panelRight = new StackPanel(); panelRight.SetValue(Grid.ColumnProperty, 3); panelRight.HorizontalAlignment = HorizontalAlignment.Left; panelRight.VerticalAlignment = VerticalAlignment.Top; panelRight.Children.Add(InterfaceHelpers.CreateLabel("Filter")); var quickSearchTextBox = InterfaceHelpers.CreateTextBox("txtSearchAxis" + number); quickSearchTextBox.TextChanged += QuickSearch; quickSearchTextBox.Width = searchBoxWidth; panelRight.Children.Add(quickSearchTextBox); // Filterlist var filterListBox = new ListBox { Name = "filter" + number + "_selector", HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Top, Width = filterListWidth, Height = filterListHeight, Style = Application.Current.TryFindResource("ListBox") as Style, ItemContainerStyle = Application.Current.TryFindResource("ListBoxItemWithCheckbox") as Style, SelectionMode = SelectionMode.Extended }; filterListBox.SelectionChanged += OnFilterListBoxSelectionChanged; panelRight.Children.Add(filterListBox); // Select all / none var selectAllNone = new StackPanel { Orientation = Orientation.Horizontal }; var selectAllButton = InterfaceHelpers.CreateButton("selectAll" + number, "Select all", "PlainTextButton"); selectAllButton.Click += FilterListBoxSelectAll; selectAllNone.Children.Add(selectAllButton); selectAllNone.Children.Add(InterfaceHelpers.CreateLabel("/")); var selectNoneButton = InterfaceHelpers.CreateButton("selectNone" + number, "none", "PlainTextButton"); selectNoneButton.Click += FilterListBoxSelectNone; selectAllNone.Children.Add(selectNoneButton); panelRight.Children.Add(selectAllNone); selectorGrid.Children.Add(panelRight); _listOfAxisComboBoxes.Add(axisComboBox); _listOfLevelComboBoxes.Add(levelComboBox); _listOfFilterComboBoxes.Add(filterListBox); _listOfSelectAllButtons.Add(selectAllButton); _listOfSelectNoneButtons.Add(selectNoneButton); _listOfQuicksearchTextfields.Add(quickSearchTextBox); _listOfQuicksearchFirstSearch.Add(true); return(selectorGrid); }
public override bool FindAllComponents() { #region Canvas var canvasGameObject = gameObject.GetComponentInChildren <Canvas>()?.gameObject; if (canvasGameObject == null) { QuickLogger.Error("Canvas cannot be found"); return(false); } canvasGameObject.gameObject.GetComponent <GraphicRaycaster>().ignoreReversedGraphics = false; #endregion #region Home var home = canvasGameObject.FindChild("Home")?.gameObject; if (home == null) { QuickLogger.Error("Unable to find Home 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 var takeWaterResult = InterfaceHelpers.CreateButton(home, "Button_1", "takeWaterBTN", InterfaceButtonMode.Background, _startColor, _hoverColor, OnButtonClick, out var takeWaterButton); takeWaterButton.TextLineOne = "Take Water"; if (!takeWaterResult) { return(false); } _startButton = takeWaterButton; var colorPickerResult = InterfaceHelpers.CreateButton(home, "Paint_BTN", "colorPickerBTN", InterfaceButtonMode.Background, OnButtonClick, out var colorPickerButton); colorPickerButton.TextLineOne = "Color Picker Page"; if (!colorPickerResult) { return(false); } var fuelTankResult = InterfaceHelpers.CreateButton(home, "Button_2", "waterContainerBTN", InterfaceButtonMode.Background, _startColor, _hoverColor, OnButtonClick, out var fuelTankButton); fuelTankButton.TextLineOne = !QPatch.Configuration.AutoGenerateMode ? "Take Water Bottle" : "Open Water Container"; if (!fuelTankResult) { return(false); } var homeBTN = InterfaceHelpers.CreateButton(colorPicker, "Home_BTN", "homeBTN", InterfaceButtonMode.Background, OnButtonClick, out var homeButton); homeButton.TextLineOne = "Home Page"; homeButton.OnInterfaceButton = SetOnInterfaceButton; if (!homeBTN) { return(false); } var nextBTN = InterfaceHelpers.CreatePaginator(colorPicker, "NextPage", 1, _colorPage.ChangeColorPageBy, out var nextButton); nextButton.TextLineOne = "Next Page"; if (!nextBTN) { return(false); } var prevBTN = InterfaceHelpers.CreatePaginator(colorPicker, "PrevPage", -1, _colorPage.ChangeColorPageBy, out var prevButton); prevButton.TextLineOne = "Previous Page"; if (!prevBTN) { return(false); } var gridResult = InterfaceHelpers.FindGameObject(colorPicker, "Grid", out var grid); if (!gridResult) { return(false); } _grid = grid; var paginatorResult = InterfaceHelpers.FindGameObject(colorPicker, "Paginator", out var paginator); if (!paginatorResult) { return(false); } _paginator = paginator.GetComponent <Text>(); var button1ProgressResult = InterfaceHelpers.FindGameObject(home, "Button_1_Progress", out var button1Progress); if (!button1ProgressResult) { return(false); } _button1Progress = button1Progress.GetComponent <Image>(); var button1ProgressNumResult = InterfaceHelpers.FindGameObject(home, "Button_1_Progress_Number", out var button1ProgressNumber); if (!button1ProgressNumResult) { return(false); } _button1ProgressNumber = button1ProgressNumber.GetComponent <Text>(); _button1ProgressNumber.text = $"(0%)"; var button2ProgressResult = InterfaceHelpers.FindGameObject(home, "Button_2_Progress", out var button2Progress); if (!button2ProgressResult) { return(false); } _button2Progress = button2Progress.GetComponent <Image>(); if (!QPatch.Configuration.AutoGenerateMode) { _button2Progress.fillAmount = 1; } var button2ProgressNumResult = InterfaceHelpers.FindGameObject(home, "Button_2_Amount_Number", out var button2ProgressNumber); if (!button2ProgressNumResult) { return(false); } _button2ProgressNumber = button2ProgressNumber.GetComponent <Text>(); _button2ProgressNumber.text = QPatch.Configuration.AutoGenerateMode ? $"0 {MiniFountainFilterBuildable.Bottles()}" : string.Empty; //var versionResult = InterfaceHelpers.FindGameObject(canvasGameObject, "Version", out var version); //if (!versionResult) //{ // return false; //} //var versionLbl = version.GetComponent<Text>(); //versionLbl.text = $"{MiniFountainFilterBuildable.Version()}: {QPatch.Version}"; 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 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 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); }