internal static PowerIndicatorIcon CreatePowerIndicatorIcon(Canvas canvas, float xoffset, float yoffset, float zoffset, float scale) { var iconGo = new GameObject("IconGo", typeof(RectTransform)); iconGo.transform.SetParent(canvas.transform, false); iconGo.transform.localPosition = new Vector3(xoffset, yoffset, zoffset); iconGo.transform.localScale = new Vector3(scale, scale, scale); uGUI_Icon icon = iconGo.AddComponent <uGUI_Icon>(); var arial = (Font)Resources.GetBuiltinResource(typeof(Font), "Arial.ttf"); var textGO = new GameObject("TextGo"); textGO.transform.SetParent(iconGo.transform, false); Text text = textGO.AddComponent <Text>(); text.font = arial; text.material = arial.material; text.text = "??"; text.fontSize = 22; text.alignment = TextAnchor.LowerCenter; text.color = Color.white; Outline outline = textGO.AddComponent <Outline>(); outline.effectColor = Color.black; RectTransform rectTransform = text.GetComponent <RectTransform>(); rectTransform.localScale = Vector3.one; rectTransform.anchoredPosition3D = Vector3.zero; rectTransform.anchoredPosition += new Vector2(0f, -15f); return(new PowerIndicatorIcon(icon, text)); }
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 GameObject CreateModuleDisplay(Vector3 position, Quaternion rotation) { const float scale = 0.215f; Canvas canvas = new GameObject("Canvas", typeof(RectTransform)).AddComponent <Canvas>(); Transform t = canvas.transform; t.SetParent(this.transform, false); canvas.sortingLayerID = 1; uGUI_GraphicRaycaster raycaster = canvas.gameObject.AddComponent <uGUI_GraphicRaycaster>(); var rt = t as RectTransform; RectTransformExtensions.SetParams(rt, new Vector2(0.5f, 0.5f), new Vector2(0.5f, 0.5f)); RectTransformExtensions.SetSize(rt, 0.5f, 0.5f); t.localPosition = position; t.localRotation = rotation; t.localScale = new Vector3(scale, scale, scale); canvas.scaleFactor = 0.01f; canvas.renderMode = RenderMode.WorldSpace; canvas.referencePixelsPerUnit = 100; CanvasScaler scaler = canvas.gameObject.AddComponent <CanvasScaler>(); scaler.dynamicPixelsPerUnit = 20; uGUI_Icon icon = canvas.gameObject.AddComponent <uGUI_Icon>(); return(canvas.gameObject); }
private void SetModuleVisibility(string slot, GameObject module) { if (module is null) { QuickLogger.Debug($"SetModuleVisibility in slot {slot} module was null", true); return; } TechType techType = this.Modules.GetTechTypeInSlot(slot); bool hasItem = techType != TechType.None; uGUI_Icon icon = module.GetComponent <uGUI_Icon>(); if (hasItem) { Atlas.Sprite atlasSprite = SpriteManager.Get(techType); if (atlasSprite is null) { QuickLogger.Debug($"sprite for {module.name} was null when it should not have been", true); } icon.sprite = atlasSprite; } else { icon.sprite = null; // Clear the sprite when empty } module.SetActive(hasItem); icon.enabled = hasItem; }
private void OnLoadItemsGrid(DisplayData data) { try { if (_isBeingDestroyed) { return; } QuickLogger.Debug($"OnLoadBaseItemsGrid : {data.ItemsGrid}", true); _itemsGrid.ClearPage(); var grouped = _mono.DeepDrillerContainer.GetItemsWithin(); 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 amount = buttonPrefab.GetComponentInChildren <Text>(); amount.text = grouped.ElementAt(i).Value.ToString(); var itemBTN = buttonPrefab.AddComponent <InterfaceButton>(); itemBTN.ButtonMode = InterfaceButtonMode.Background; itemBTN.STARTING_COLOR = _startColor; itemBTN.HOVER_COLOR = _hoverColor; itemBTN.BtnName = "ItemBTN"; itemBTN.TextLineOne = string.Format(FCSDeepDrillerBuildable.TakeFormatted(), Language.main.Get(grouped.ElementAt(i).Key)); itemBTN.Tag = grouped.ElementAt(i).Key; itemBTN.OnButtonClick = OnButtonClick; uGUI_Icon trashIcon = InterfaceHelpers.FindGameObject(buttonPrefab, "Icon").AddComponent <uGUI_Icon>(); trashIcon.sprite = SpriteManager.Get(grouped.ElementAt(i).Key); } _itemsGrid.UpdaterPaginator(grouped.Count()); } catch (Exception e) { QuickLogger.Error("Error Caught"); QuickLogger.Error($"Error Message: {e.Message}"); QuickLogger.Error($"Error StackTrace: {e.StackTrace}"); } }
private void CreateButton(DisplayData data, GameObject buttonPrefab, ButtonData buttonData, ButtonType buttonType, string btnText, string btnName) { buttonPrefab.transform.SetParent(data.ItemsGrid.transform, false); var mainBtn = buttonPrefab.AddComponent <DSSUIButton>(); var text = buttonPrefab.GetComponentInChildren <Text>(); text.text = btnText; mainBtn.ButtonMode = InterfaceButtonMode.Background; mainBtn.STARTING_COLOR = _startColor; mainBtn.HOVER_COLOR = _hoverColor; mainBtn.BtnName = btnName; mainBtn.OnButtonClick = OnButtonClick; switch (buttonType) { case ButtonType.Home: mainBtn.TextLineOne = AuxPatchers.Home(); mainBtn.Tag = new TransferData { Manager = buttonData.Manager, ButtonType = buttonType }; break; case ButtonType.Item: var amount = buttonPrefab.GetComponentInChildren <Text>(); amount.text = buttonData.Amount.ToString(); mainBtn.Tag = buttonData.TechType; uGUI_Icon trashIcon = InterfaceHelpers.FindGameObject(buttonPrefab, "Icon").AddComponent <uGUI_Icon>(); trashIcon.sprite = SpriteManager.Get(buttonData.TechType); break; case ButtonType.Vehicle: mainBtn.TextLineOne = string.Format(AuxPatchers.ViewVehicleStorageFormat(), buttonData.Vehicle.GetName()); mainBtn.Tag = new TransferData { Vehicle = buttonData.Vehicle }; uGUI_Icon trashIcon2 = InterfaceHelpers.FindGameObject(buttonPrefab, "Icon").AddComponent <uGUI_Icon>(); trashIcon2.sprite = SpriteManager.Get(buttonData.Vehicle is SeaMoth ? TechType.Seamoth : TechType.Exosuit); mainBtn.Vehicle = buttonData.Vehicle; mainBtn.Label = text; break; case ButtonType.Container: mainBtn.TextLineOne = ""; mainBtn.Tag = new TransferData { Container = buttonData.Container }; uGUI_Icon trashIcon3 = InterfaceHelpers.FindGameObject(buttonPrefab, "Icon").AddComponent <uGUI_Icon>(); trashIcon3.sprite = SpriteManager.Get(TechType.VehicleStorageModule); mainBtn.Label = text; break; case ButtonType.Base: mainBtn.TextLineOne = AuxPatchers.ViewBaseStorageFormat(); mainBtn.Tag = new TransferData { Manager = buttonData.Manager, ButtonType = buttonType }; break; } }
public void Awake() { DestroyImmediate(GetComponent <uGUI_MapRoomResourceNode>()); text = transform.Find("text").GetComponent <TextMeshProUGUI>(); hover = transform.Find("hover").gameObject; background = transform.Find("bg").gameObject; icon = transform.Find("icon").GetComponent <uGUI_Icon>(); }
public void DisableIcon(string slot) { GameObject canvasObject = this[slot].gameObject; uGUI_Icon icon = canvasObject.GetComponent <uGUI_Icon>(); canvasObject.SetActive(false); icon.enabled = false; icon.sprite = null; // Clear the sprite when empty }
private void OnLoadDnaGrid(DisplayData info) { _dnaGrid.ClearPage(); var grouped = _mono.HydroHarvContainer.Items.ToList(); if (info.EndPosition > grouped.Count) { info.EndPosition = grouped.Count; } for (int i = info.StartPosition; i < info.EndPosition; i++) { var techType = grouped[i].Key; GameObject buttonPrefab = Instantiate(info.ItemsPrefab); if (buttonPrefab == null || info.ItemsGrid == null) { if (buttonPrefab != null) { Destroy(buttonPrefab); } return; } buttonPrefab.transform.SetParent(info.ItemsGrid.transform, false); buttonPrefab.GetComponentInChildren <Text>().text = grouped[i].Value.ToString(); var mainButton = buttonPrefab.FindChild("MainButton"); var mainBTN = mainButton.AddComponent <ItemButton>(); mainBTN.Mode = ButtonMode.Take; mainBTN.Type = techType; mainBTN.ButtonMode = InterfaceButtonMode.Background; mainBTN.STARTING_COLOR = _startColor; mainBTN.HOVER_COLOR = _hoverColor; mainBTN.OnButtonClick = _mono.HydroHarvContainer.RemoveItemFromContainer; uGUI_Icon icon = InterfaceHelpers.FindGameObject(mainButton, "Icon").AddComponent <uGUI_Icon>(); icon.sprite = SpriteManager.Get(techType); var deleteButton = buttonPrefab.FindChild("DeleteBTN"); var deleteBTN = deleteButton.AddComponent <ItemButton>(); deleteBTN.ButtonMode = InterfaceButtonMode.Background; deleteBTN.Mode = ButtonMode.Delete; deleteBTN.Type = techType; deleteBTN.STARTING_COLOR = _startColor; deleteBTN.HOVER_COLOR = _hoverColor; deleteBTN.OnButtonClick = _mono.HydroHarvContainer.DeleteItemFromContainer; uGUI_Icon trashIcon = InterfaceHelpers.FindGameObject(deleteButton, "Icon").AddComponent <uGUI_Icon>(); trashIcon.sprite = SpriteManager.Get(TechType.Trashcans); } }
public void EnableIcon(string slot, TechType techType) { GameObject canvasObject = this[slot].gameObject; uGUI_Icon icon = canvasObject.GetComponent <uGUI_Icon>(); if (techType != TechType.None) { icon.sprite = SpriteManager.Get(techType); icon.enabled = true; canvasObject.SetActive(true); } }
private void OnLoadItemsGrid(DisplayData data) { try { if (_isBeingDestroyed) { return; } QuickLogger.Debug($"OnLoadItemsGrid : {data.ItemsGrid}", true); _grid.ClearPage(); var grouped = _mono.PowerManager.GetItemsWithin().ToList(); 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); uGUI_Icon icon = InterfaceHelpers.FindGameObject(buttonPrefab, "Icon").AddComponent <uGUI_Icon>(); icon.sprite = SpriteManager.Get(grouped.ElementAt(i)); } UpdateItemCount(grouped.Count(), _mono.PowerManager.MaxSlots); _grid.UpdaterPaginator(grouped.Count()); } catch (Exception e) { QuickLogger.Error("Error Caught"); QuickLogger.Error($"Error Message: {e.Message}"); QuickLogger.Error($"Error StackTrace: {e.StackTrace}"); } }
internal static Canvas CreateModuleDisplay(GameObject anchor, Vector3 position, Quaternion rotation, TechType startingState) { const float scale = 0.215f; Canvas canvas = new GameObject("Canvas", typeof(RectTransform)).AddComponent <Canvas>(); Transform t = canvas.transform; t.SetParent(anchor.transform, false); canvas.sortingLayerID = 1; uGUI_GraphicRaycaster raycaster = canvas.gameObject.AddComponent <uGUI_GraphicRaycaster>(); var rt = t as RectTransform; RectTransformExtensions.SetParams(rt, new Vector2(0.5f, 0.5f), new Vector2(0.5f, 0.5f)); RectTransformExtensions.SetSize(rt, 0.5f, 0.5f); t.localPosition = position; t.localRotation = rotation; t.localScale = new Vector3(scale, scale, scale); canvas.scaleFactor = 0.01f; canvas.renderMode = RenderMode.WorldSpace; canvas.referencePixelsPerUnit = 100; CanvasScaler scaler = canvas.gameObject.AddComponent <CanvasScaler>(); scaler.dynamicPixelsPerUnit = 20; uGUI_Icon icon = canvas.gameObject.AddComponent <uGUI_Icon>(); if (startingState > TechType.None) { icon.sprite = SpriteManager.Get(startingState); icon.enabled = true; canvas.gameObject.SetActive(true); } else { canvas.gameObject.SetActive(false); icon.enabled = false; } return(canvas); }
private void LoadDisplay(DisplayData data, TechType elementTechType, int techTypeCount) { GameObject buttonPrefab = Instantiate(ExStorageDepotBuildable.ItemPrefab); buttonPrefab.transform.SetParent(data.ItemsGrid.transform, false); var mainBtn = buttonPrefab.AddComponent <InterfaceButton>(); var text = buttonPrefab.GetComponentInChildren <Text>(); text.text = techTypeCount.ToString(); mainBtn.ButtonMode = InterfaceButtonMode.Background; mainBtn.STARTING_COLOR = _startColor; mainBtn.HOVER_COLOR = _hoverColor; mainBtn.TextLineOne = string.Format(ExStorageDepotBuildable.TakeItemFormat(), Language.main.Get(elementTechType)); mainBtn.OnButtonClick = OnButtonClick; mainBtn.BtnName = "ItemBTN"; mainBtn.Tag = elementTechType; uGUI_Icon icon = buttonPrefab.transform.Find("Image").gameObject.AddComponent <uGUI_Icon>(); icon.sprite = SpriteManager.Get(elementTechType); }
private void LoadDisplay(TechType elementTechType, int techTypeCount) { QuickLogger.Debug("Load Fridge Display"); GameObject itemDisplay = Instantiate(ExStorageDepotBuildable.ItemPrefab); itemDisplay.transform.SetParent(_grid.transform, false); itemDisplay.GetComponentInChildren <Text>().text = techTypeCount.ToString(); ItemButton itemButton = itemDisplay.AddComponent <ItemButton>(); itemButton.Type = elementTechType; itemButton.Amount = techTypeCount; itemButton.OnButtonClick = _mono.Storage.AttemptToTakeItem; uGUI_Icon icon = itemDisplay.transform.Find("Image").gameObject.AddComponent <uGUI_Icon>(); icon.sprite = SpriteManager.Get(elementTechType); _trackedResourcesDisplayElements.Add(elementTechType, itemDisplay); }
private void Initialize() { if (icon == null) { var entry = GetComponent <uGUI_PingEntry>(); icon = entry.icon; label = entry.label; } if (colorButton == null) { colorButton = PingColorButton.Create(transform, Color.white); colorButton.transform.localPosition = new Vector3(500, 0, 0); colorButton.onClick += OnColorButtonClick; } if (colorPicker == null) { colorPicker = BeaconColorPicker.Create(transform); colorPicker.gameObject.AddComponent <LayoutElement>().ignoreLayout = true; colorPicker.gameObject.SetActive(false); colorPicker.rectTransform.anchoredPosition = new Vector2(200, 0); } if (iconButton == null) { iconButton = PingColorButton.Create(transform, Color.clear); iconButton.transform.localPosition = new Vector3(-302, 0, 0); iconButton.onClick += OnIconButtonClick; } if (iconPicker == null) { iconPicker = BeaconIconPicker.Create(transform); iconPicker.gameObject.AddComponent <LayoutElement>().ignoreLayout = true; iconPicker.gameObject.SetActive(false); iconPicker.rectTransform.anchoredPosition = new Vector2(0, 0); } }
private void CreateFoodItem(GameObject itemPrefab, GameObject itemsGrid, int stPos, int endPos, List <EatableEntities> list, GridHelper page, EatableType eatableType) { var grouped = list.GroupBy(x => x.TechType).Select(x => x.First()).ToList(); if (endPos > grouped.Count) { endPos = grouped.Count; } for (int i = stPos; i < endPos; i++) { var techType = grouped[i].TechType; GameObject foodIcon = Instantiate(itemPrefab); if (foodIcon == null || itemsGrid == null) { if (foodIcon != null) { Destroy(foodIcon); } return; } foodIcon.transform.SetParent(itemsGrid.transform, false); foodIcon.GetComponentInChildren <Text>().text = "x" + list.Count(x => x.TechType == techType); var itemButton = foodIcon.AddComponent <ItemButton>(); itemButton.Type = techType; itemButton.EatableType = eatableType; itemButton.OnButtonClick = _mono.FridgeComponent.RemoveItem; uGUI_Icon icon = InterfaceHelpers.FindGameObject(foodIcon, "ItemImage").AddComponent <uGUI_Icon>(); icon.sprite = SpriteManager.Get(techType); } page.UpdaterPaginator(grouped.Count); }
private void OnLoadOperationsGrid(DisplayData data) { try { if (_isBeingDestroyed || _mono == null || _mono?.Manager == null) { return; } _operationsGrid.ClearPage(); var grouped = BaseManager.Operations; if (grouped == null) { QuickLogger.Debug("Grouped returned null canceling operation"); return; } //if (!string.IsNullOrEmpty(_toCurrentSearchString?.Trim())) //{ // grouped = grouped.Where(p => p.Value.UnitID.StartsWith(_toCurrentSearchString.Trim(), StringComparison.OrdinalIgnoreCase)).ToDictionary(p => p.Key, p => p.Value); //} if (data.EndPosition > grouped.Count) { data.EndPosition = grouped.Count; } if (data.ItemsGrid?.transform == null) { QuickLogger.Debug("Grid returned null canceling operation"); return; } for (int i = data.StartPosition; i < data.EndPosition; i++) { var connectable = grouped.ElementAt(i); if (connectable.FromDevice == null || connectable.ToDevice == null) { continue; } GameObject buttonPrefab = Instantiate(data.ItemsPrefab); if (buttonPrefab == null || data.ItemsGrid == null) { if (buttonPrefab != null) { QuickLogger.Debug("Destroying Tab", true); Destroy(buttonPrefab); } return; } buttonPrefab.transform.SetParent(data.ItemsGrid.transform, false); var button = buttonPrefab.AddComponent <OperationInterfaceButton>(); button.BtnName = "OperationBTN"; button.Tag = null; button.TextLineOne = $"{connectable.FromDevice.UnitID} => {Language.main.Get(connectable.TechType)} => {connectable.ToDevice.UnitID}"; //buttonPrefab.GetComponentInChildren<Text>().text = connectable.Value.UnitID; uGUI_Icon icon = InterfaceHelpers.FindGameObject(InterfaceHelpers.FindGameObject(buttonPrefab, "FromIcon"), "Image").AddComponent <uGUI_Icon>(); icon.sprite = connectable.FromDevice.IsBase() ? SpriteManager.Get(TechType.BaseRoom) : SpriteManager.Get(connectable.FromDevice.GetTechType()); uGUI_Icon icon1 = InterfaceHelpers.FindGameObject(InterfaceHelpers.FindGameObject(buttonPrefab, "TechTypeIcon"), "Image").AddComponent <uGUI_Icon>(); icon1.sprite = SpriteManager.Get(connectable.TechType); uGUI_Icon icon2 = InterfaceHelpers.FindGameObject(InterfaceHelpers.FindGameObject(buttonPrefab, "ToIcon"), "Image").AddComponent <uGUI_Icon>(); icon2.sprite = connectable.ToDevice.IsBase() ? SpriteManager.Get(TechType.BaseRoom) : SpriteManager.Get(connectable.ToDevice.GetTechType()); var deleteBTN = buttonPrefab.GetComponentInChildren <Button>(); deleteBTN.onClick.AddListener(() => { _mono.Manager.DeleteOperator(connectable); }); } _operationsGrid.UpdaterPaginator(grouped.Count); } catch (Exception e) { QuickLogger.Error("Error Caught"); QuickLogger.Error($"Error Message: {e.Message}"); QuickLogger.Error($"Error StackTrace: {e.StackTrace}"); } }
private void OnLoadBaseItemsGrid(DisplayData data) { try { if (_isBeingDestroyed) { return; } QuickLogger.Debug($"OnLoadBaseItemsGrid : {data.ItemsGrid}", true); _baseItemsGrid.ClearPage(); if (_currentBase == null) { return; } var grouped = _currentBase.GetItemsWithin().OrderBy(x => x.Key).ToList(); if (!string.IsNullOrEmpty(_currentSearchString?.Trim())) { grouped = grouped.Where(p => Language.main.Get(p.Key).StartsWith(_currentSearchString.Trim(), StringComparison.OrdinalIgnoreCase)).ToList(); } QuickLogger.Debug($"Grouped Count = {grouped.Count} || Search: {_currentSearchString}", true); 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 amount = buttonPrefab.GetComponentInChildren <Text>(); amount.text = grouped.ElementAt(i).Value.ToString(); var itemBTN = buttonPrefab.AddComponent <InterfaceButton>(); itemBTN.ButtonMode = InterfaceButtonMode.Background; itemBTN.STARTING_COLOR = _startColor; itemBTN.HOVER_COLOR = _hoverColor; itemBTN.BtnName = "ItemBTN"; itemBTN.TextLineOne = string.Format(AuxPatchers.TakeFormatted(), Language.main.Get(grouped.ElementAt(i).Key)); itemBTN.Tag = grouped.ElementAt(i).Key; itemBTN.OnButtonClick = OnButtonClick; uGUI_Icon trashIcon = InterfaceHelpers.FindGameObject(buttonPrefab, "Icon").AddComponent <uGUI_Icon>(); trashIcon.sprite = SpriteManager.Get(grouped.ElementAt(i).Key); } _counter.text = _currentBase.GetTotalString(); _baseItemsGrid.UpdaterPaginator(grouped.Count()); } catch (Exception e) { QuickLogger.Error("Error Caught"); QuickLogger.Error($"Error Message: {e.Message}"); QuickLogger.Error($"Error StackTrace: {e.StackTrace}"); } }
private void OnLoadVisibilityGrid(DisplayData data) { try { if (_isBeingDestroyed || _mono == null || _mono?.Manager == null) { return; } _visibilityGrid.ClearPage(); var grouped = _mono.Manager.FCSConnectables; if (grouped == null) { QuickLogger.Debug("Grouped returned null canceling operation"); return; } if (!string.IsNullOrEmpty(_visibilityCurrentSearchString?.Trim())) { grouped = grouped.Where(p => p.Value.UnitID.StartsWith(_visibilityCurrentSearchString.Trim(), StringComparison.OrdinalIgnoreCase)).ToDictionary(p => p.Key, p => p.Value); } if (data.EndPosition > grouped.Count) { data.EndPosition = grouped.Count; } if (data.ItemsGrid?.transform == null) { QuickLogger.Debug("Grid returned null canceling operation"); return; } for (int i = data.StartPosition; i < data.EndPosition; i++) { var connectable = grouped.ElementAt(i); if (connectable.Value.IsBase() || !connectable.Value.CanBeVisible()) { continue; } GameObject buttonPrefab = Instantiate(data.ItemsPrefab); if (buttonPrefab == null || data.ItemsGrid == null) { if (buttonPrefab != null) { QuickLogger.Debug("Destroying Tab", true); Destroy(buttonPrefab); } return; } QuickLogger.Debug($"Adding Unit: {connectable.Value.UnitID}", true); buttonPrefab.transform.SetParent(data.ItemsGrid.transform, false); var button = buttonPrefab.AddComponent <OperationInterfaceButton>(); button.BtnName = "VisibilityItemBTN"; button.Tag = new OperatorButtonData { Button = button, Connectable = connectable.Value }; button.TextLineOne = $"Make {Language.main.Get(connectable.Value.GetTechType())} visible to the terminal"; button.OnButtonClick = OnButtonClick; button.SetCheck(connectable.Value.IsVisible); buttonPrefab.GetComponentInChildren <Text>().text = connectable.Value.UnitID; uGUI_Icon icon = InterfaceHelpers.FindGameObject(buttonPrefab, "Icon").AddComponent <uGUI_Icon>(); icon.sprite = connectable.Value.IsBase() ? SpriteManager.Get(TechType.BaseRoom) : SpriteManager.Get(connectable.Value.GetTechType()); } _visibilityGrid.UpdaterPaginator(grouped.Count); } catch (Exception e) { QuickLogger.Error("Error Caught"); QuickLogger.Error($"Error Message: {e.Message}"); QuickLogger.Error($"Error StackTrace: {e.StackTrace}"); } }
private void OnLoadItemsGrid(DisplayData data) { if (_isBeingDestroyed || _mono == null || _mono?.Manager == null) { return; } _itemTechTypeGrid.ClearPage(); _itemTechTypeList.Clear(); var grouped = Mod.AllTechTypes; if (grouped == null) { QuickLogger.Debug("Grouped returned null canceling operation"); return; } if (!string.IsNullOrEmpty(_itemCurrentSearchString?.Trim())) { grouped = grouped.Where(p => Language.main.Get(p).StartsWith(_itemCurrentSearchString.Trim(), StringComparison.OrdinalIgnoreCase)).ToList(); } if (data.EndPosition > grouped.Count) { data.EndPosition = grouped.Count; } QuickLogger.Debug($"1"); if (data.ItemsGrid?.transform == null) { QuickLogger.Debug("Grid returned null canceling operation"); return; } QuickLogger.Debug($"2"); for (int i = data.StartPosition; i < data.EndPosition; i++) { GameObject buttonPrefab = GameObject.Instantiate(DSSModelPrefab.OperatorItemPrefab); if (buttonPrefab == null || data.ItemsGrid == null) { if (buttonPrefab != null) { QuickLogger.Debug("Destroying Tab", true); Destroy(buttonPrefab); } return; } var button = buttonPrefab.AddComponent <OperationInterfaceButton>(); if (grouped[i] == _itemTechType) { button.SetCheck(true); } buttonPrefab.transform.SetParent(data.ItemsGrid.transform, false); button.BtnName = "ItemTechBTN"; button.OnButtonClick = OnButtonClick; button.Tag = new OperatorButtonData { Button = button, TechType = grouped[i] }; button.TextLineOne = $"Send {Language.main.Get(grouped[i])}"; buttonPrefab.GetComponentInChildren <Text>().text = Language.main.Get(grouped[i]); uGUI_Icon icon = InterfaceHelpers.FindGameObject(buttonPrefab, "Icon").AddComponent <uGUI_Icon>(); icon.sprite = SpriteManager.Get(grouped[i]); _itemTechTypeList.Add(button); } _itemTechTypeGrid.UpdaterPaginator(grouped.Count); }
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 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()); uGUI_Icon icon = gasPodButtonObj.transform.Find("Image").gameObject.AddComponent <uGUI_Icon>(); icon.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); } }
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); }
internal Indicator(uGUI_Icon icon, Text text) { Icon = icon; Text = text; }
internal Indicator(uGUI_Icon icon, Text text) { Icon = icon; Text = text; SetEnabled(false); }
public void Awake() { manager = GetComponentInParent <SeaTruckScannerModuleManager>(); raycaster = GetComponent <uGUI_GraphicRaycaster>(); scanner_cullable = transform.Find("scanner_cullable"); List <uGUI_MapRoomResourceNode> mapRoomNodes = new List <uGUI_MapRoomResourceNode>(); scanner_cullable.Find("list").gameObject.GetComponentsInChildren(true, mapRoomNodes); List <uGUI_SeaTruckResourceNode> seatruckNodes = new List <uGUI_SeaTruckResourceNode>(); foreach (uGUI_MapRoomResourceNode mapRoomNode in mapRoomNodes) { uGUI_SeaTruckResourceNode seatruckNode = mapRoomNode.gameObject.AddComponent <uGUI_SeaTruckResourceNode>(); resourceList.Add(seatruckNode); } resourceListRoot = scanner_cullable.Find("list").gameObject; scanningRoot = scanner_cullable.Find("scanning").gameObject; nextPageButton = scanner_cullable.Find("list/nav/scroll_down").gameObject; SetNextPageButtonEventTriggers(); prevPageButton = scanner_cullable.Find("list/nav/scroll_up").gameObject; SetPrevPageButtonEventTriggers(); scanner_cullable.Find("scanning/cancelButton").gameObject.AddComponent <uGUI_SeaTruckScannerCancel>(); activeTechTypeLabel = scanner_cullable.Find("scanning/activeTechType").GetComponent <TextMeshProUGUI>(); scanningText = scanner_cullable.Find("scanning/scanningText").GetComponent <TextMeshProUGUI>(); navText = scanner_cullable.Find("list/nav/pagenum").GetComponent <TextMeshProUGUI>(); scanningIcon = scanner_cullable.Find("scanning/icon").GetComponent <uGUI_Icon>(); startScanningSound = ScriptableObject.CreateInstance <FMODAsset>(); startScanningSound.name = "scan"; startScanningSound.path = "event:/sub/base/map room/scan"; cancelScanningSound = ScriptableObject.CreateInstance <FMODAsset>(); cancelScanningSound.name = "option_tweek"; cancelScanningSound.path = "event:/interface/option_tweek"; hoverSound = ScriptableObject.CreateInstance <FMODAsset>(); hoverSound.name = "select"; hoverSound.path = "event:/sub/base/map room/select"; pageChangeSound = ScriptableObject.CreateInstance <FMODAsset>(); pageChangeSound.name = "text_type"; pageChangeSound.path = "event:/interface/text_type"; segmentListener = transform.parent.GetComponentInParent <SeaTruckSegmentListener>(); segmentListener.onPlayerExited += OnPlayerExit; Sprite scanning_background = ImageUtils.LoadSpriteFromFile($"{Main.modFolder}/Assets/scanning_background_02.png"); Sprite scanning_foreground = ImageUtils.LoadSpriteFromFile($"{Main.modFolder}/Assets/scanning_foreground_02.png"); GameObject animation = scanningRoot.transform.Find("animation").gameObject; GameObject scanningBackground = new GameObject("scanningBackground", new Type[] { typeof(RectTransform) }); scanningBackground.transform.SetParent(scanningRoot.transform, false); scanningBackground.transform.SetSiblingIndex(0); scanningBackground.transform.localScale = new Vector3(0.62f, 0.62f, 0.62f); scanningBackground.transform.localPosition = new Vector3(0, -12f, 0); Image newScanningBackground = scanningBackground.AddComponent <Image>(); newScanningBackground.sprite = scanning_background; Image animationImage = animation.GetComponent <Image>(); animationImage.sprite = scanning_foreground; uGUI_RotateImage rotateImage = animation.GetComponent <uGUI_RotateImage>(); rotateImage.rotationTime = -4; }
private void OnLoadAutoCraftGrid(DisplayData data) { try { if (_isBeingDestroyed || _mono == null || _mono?.Manager == null) { return; } _autoCraftingGrid.ClearPage(); var grouped = BaseManager.Crafts; if (grouped == null) { QuickLogger.Debug("Grouped returned null canceling operation"); return; } //if (!string.IsNullOrEmpty(_toCurrentSearchString?.Trim())) //{ // grouped = grouped.Where(p => p.Value.UnitID.StartsWith(_toCurrentSearchString.Trim(), StringComparison.OrdinalIgnoreCase)).ToDictionary(p => p.Key, p => p.Value); //} if (data.EndPosition > grouped.Count) { data.EndPosition = grouped.Count; } if (data.ItemsGrid?.transform == null) { QuickLogger.Debug("Grid returned null canceling operation"); return; } for (int i = data.StartPosition; i < data.EndPosition; i++) { var craft = grouped.ElementAt(i); GameObject buttonPrefab = Instantiate(data.ItemsPrefab); if (buttonPrefab == null || data.ItemsGrid == null) { if (buttonPrefab != null) { QuickLogger.Debug("Destroying Tab", true); Destroy(buttonPrefab); } return; } buttonPrefab.transform.SetParent(data.ItemsGrid.transform, false); uGUI_Icon icon = InterfaceHelpers.FindGameObject(buttonPrefab, "Icon").AddComponent <uGUI_Icon>(); icon.sprite = SpriteManager.Get(craft.TechType); var deleteBTN = InterfaceHelpers.FindGameObject(buttonPrefab, "Delete")?.AddComponent <InterfaceButton>(); if (deleteBTN != null) { deleteBTN.BtnName = "AutoCraftItemDeleteBTN"; deleteBTN.TextLineOne = AuxPatchers.Delete(); deleteBTN.STARTING_COLOR = _startColor; deleteBTN.HOVER_COLOR = _hoverColor; deleteBTN.OnButtonClick = delegate { BaseManager.DeleteAutoCraft(craft); Refresh(); }; } var buttonText = buttonPrefab.GetComponentInChildren <Text>(); buttonText.text = Language.main.Get(craft.TechType); var checkbox = buttonPrefab.GetComponentInChildren <Toggle>(); checkbox.isOn = craft.IsCraftable; checkbox.onValueChanged.AddListener((value) => { craft.IsCraftable = value; }); var craftBTN = InterfaceHelpers.FindGameObject(buttonPrefab, "AutocraftBTN")?.AddComponent <InterfaceButton>(); if (craftBTN != null) { craftBTN.BtnName = "AutoCraftItemDeleteBTN"; craftBTN.TextLineOne = AuxPatchers.Craft(); craftBTN.STARTING_COLOR = _startColor; craftBTN.HOVER_COLOR = _hoverColor; craftBTN.OnButtonClick = delegate { BaseManager.PerformCraft(craft); }; } } _autoCraftingGrid.UpdaterPaginator(grouped.Count); } catch (Exception e) { QuickLogger.Error("Error Caught"); QuickLogger.Error($"Error Message: {e.Message}"); QuickLogger.Error($"Error StackTrace: {e.StackTrace}"); } }
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); }