private void OnLoadDisplay(DisplayData data) { if (_isBeingDestroyed) { return; } _grid.ClearPage(); var grouped = _mono.Storage.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) { QuickLogger.Debug("Destroying Tab", true); Destroy(buttonPrefab); } return; } var item = grouped.ElementAt(i); LoadDisplay(data, item.Key, item.Value); } _grid.UpdaterPaginator(grouped.Count); }
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 OnLoadProgrammingGrid(DisplayData data) { try { if (_isBeingDestroyed) { return; } QuickLogger.Debug($"OnLoadProgrammingGrid : {data.ItemsGrid}", true); _programmingGrid.ClearPage(); var grouped = _mono.UpgradeManager.Upgrades; if (data.EndPosition > grouped.Count) { data.EndPosition = grouped.Count; } for (int i = data.StartPosition; i < data.EndPosition; i++) { GameObject buttonPrefab = Instantiate(data.ItemsPrefab); if (buttonPrefab == null || data.ItemsGrid == null) { if (buttonPrefab != null) { Destroy(buttonPrefab); } return; } buttonPrefab.transform.SetParent(data.ItemsGrid.transform, false); var upgradeText = buttonPrefab.GetComponentInChildren <Text>(); upgradeText.text = grouped.ElementAt(i).Format(); var deleteButton = GameObjectHelpers.FindGameObject(buttonPrefab, "DeleteBTN")?.GetComponent <Button>(); deleteButton?.onClick.AddListener(Test); var function = grouped.ElementAt(i); deleteButton?.onClick.AddListener(() => { _mono.UpgradeManager.DeleteFunction(function); }); var activateButton = GameObjectHelpers.FindGameObject(buttonPrefab, "ActivationBTN")?.GetComponent <Button>(); activateButton?.onClick.AddListener(Test); activateButton?.onClick.AddListener(() => { function.ToggleUpdate(); }); } _programmingGrid.UpdaterPaginator(grouped.Count); } catch (Exception e) { QuickLogger.Error("Error Caught"); QuickLogger.Error($"Error Message: {e.Message}"); QuickLogger.Error($"Error StackTrace: {e.StackTrace}"); } }
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); } }
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}"); } }
private void OnLoadItemsGrid(DisplayData data) { if (_isBeingDestroyed) { return; } _trackedButtons.Clear(); _itemGrid.ClearPage(); var grouped = new List <Filter>(); QuickLogger.Debug("Load Filters"); foreach (var filter in _filters) { if (!filter.IsCategory()) { grouped.Add(filter); } } 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) { QuickLogger.Debug("Destroying Tab", true); Destroy(buttonPrefab); } return; } CreateFilterButton(data, buttonPrefab, grouped, i); } _itemGrid.UpdaterPaginator(grouped.Count); UpdateCheckMarks(); }
private void OnLoadDisplay(DisplayData data) { QuickLogger.Debug("Loading SeaBreeze Display"); _sbList.Clear(); var items = _mono.SeaBreezes.Keys; if (data.EndPosition > items.Count) { data.EndPosition = items.Count; } _seaBreezeGrid.ClearPage(); for (int i = data.StartPosition; i < data.EndPosition; i++) { var unit = _mono.SeaBreezes.Values.ElementAt(i); var unitNameController = unit; var unitName = unitNameController.GetName(); unitNameController.SubscribeToNameChange(OnLabelChanged); GameObject itemDisplay = Instantiate(data.ItemsPrefab); itemDisplay.transform.SetParent(data.ItemsGrid.transform, false); var text = itemDisplay.transform.Find("Text").GetComponent <Text>(); text.text = unitName; var itemButton = itemDisplay.AddComponent <CustomToggle>(); itemButton.ButtonMode = InterfaceButtonMode.TextColor; itemButton.Tag = unit; itemButton.TextComponent = text; itemButton.OnButtonClick += OnButtonClick; itemButton.BtnName = "SeaBreeze"; unitNameController.SetNameControllerTag(itemButton); _sbList.Add(itemButton); UpdateCheckedSB(); QuickLogger.Debug($"Added Unit {unitName}"); } _seaBreezeGrid.UpdaterPaginator(items.Count); }
private void OnLoadDisplay(DisplayData info) { _oxGrid.ClearPage(); var grouped = _mono.TrackedDevices.ToList(); if (info.EndPosition > grouped.Count) { info.EndPosition = grouped.Count; } for (int i = info.StartPosition; i < info.EndPosition; i++) { 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("PingBTN"); var mainBTN = mainButton.AddComponent <OxStationItemButton>(); mainBTN.Tag = grouped[i].Value; mainBTN.OxstationOxygen = InterfaceHelpers.FindGameObject(buttonPrefab, "Oxygen_Preloader_Bar_Front").GetComponent <Image>(); mainBTN.OxstationHealth = InterfaceHelpers.FindGameObject(buttonPrefab, "Health_Preloader_Bar_Front").GetComponent <Image>(); mainBTN.UpdateDisplay(); mainBTN.ButtonMode = InterfaceButtonMode.Background; mainBTN.STARTING_COLOR = _pingBTNStartColor; mainBTN.HOVER_COLOR = _pingBTNHoverColor; mainBTN.OnButtonClick = OnButtonClick; mainBTN.BtnName = "PingBTN"; } _oxGrid.UpdaterPaginator(grouped.Count); }
private void OnLoadDisplay(EatableType eatableType, GameObject itemPrefab, GameObject itemsGrid, int stPos, int endPos) { switch (eatableType) { case EatableType.Rotten: var rottenList = _mono.FridgeComponent.FridgeItems.Where(x => x.IsRotten()).ToList(); _trashPage.ClearPage(); CreateFoodItem(itemPrefab, itemsGrid, stPos, endPos, rottenList, _trashPage, EatableType.Rotten); break; case EatableType.Food: var freshList = _mono.FridgeComponent.FridgeItems.Where(x => x.GetFoodValue() > 0 && !x.IsRotten()).ToList(); _foodPage.ClearPage(); CreateFoodItem(itemPrefab, itemsGrid, stPos, endPos, freshList, _foodPage, EatableType.Food); break; case EatableType.Drink: var drinkList = _mono.FridgeComponent.FridgeItems.Where(x => x.GetFoodValue() <= 0 && x.GetWaterValue() > 0).ToList(); _waterPage.ClearPage(); CreateFoodItem(itemPrefab, itemsGrid, stPos, endPos, drinkList, _waterPage, EatableType.Drink); break; } }
private void OnLoadFilterGrid(DisplayData data) { _filterGrid.ClearPage(); _grouped = _mono.GetFilters(); if (_grouped == null) { return; } QuickLogger.Debug("Load Filters"); 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) { QuickLogger.Debug("Destroying Tab", true); Destroy(buttonPrefab); } return; } CreateButton(data, buttonPrefab, _grouped, i, true); } _filterGrid.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 OnLoadBaseGrid(DisplayData data) { try { if (_isBeingDestroyed || _baseGrid == null || _mono?.SubRoot == null) { return; } _baseGrid.ClearPage(); var grouped = BaseManager.Managers; if (grouped == null) { QuickLogger.Debug("Grouped returned null canceling operation"); return; } if (data.EndPosition > grouped.Count) { data.EndPosition = grouped.Count; } if (data.ItemsGrid?.transform == null) { QuickLogger.Debug("Items Grid returned null canceling operation"); return; } if (_baseGrid.GetCurrentPage() < 2) { CreateButton(data, Instantiate(data.ItemsPrefab), new ButtonData { Manager = _mono.Manager }, ButtonType.Home, AuxPatchers.Home(), "BaseBTN"); CreateButton(data, Instantiate(data.ItemsPrefab), new ButtonData(), ButtonType.None, AuxPatchers.GoToVehicles(), "VehiclesPageBTN"); } // QuickLogger.Debug($"Bases Count: {grouped.Count}"); //QuickLogger.Debug($"Bases Antenna: {_mono.Manager.GetCurrentBaseAntenna()}"); if (_mono.Manager.GetCurrentBaseAntenna() != null || _mono.Manager.Habitat.isCyclops) { for (int i = data.StartPosition; i < data.EndPosition; i++) { //QuickLogger.Debug($"Hab{grouped[i].Habitat} || AS{grouped[i].Habitat.gameObject.activeSelf} || TN{grouped[i].InstanceID == _mono.Manager.InstanceID} || HAN {grouped[i].HasAntenna()} || VIS {grouped[i].IsVisible} || Instance ID : {grouped[i].InstanceID}"); if (grouped[i].Habitat == null || !grouped[i].Habitat.gameObject.activeSelf || grouped[i].InstanceID == _mono.Manager.InstanceID || !grouped[i].HasAntenna() || !grouped[i].IsVisible) { continue; } //QuickLogger.Debug($"Adding Base {grouped[i].InstanceID}"); 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 Base: {grouped[i].GetBaseName()}", true); CreateButton(data, buttonPrefab, new ButtonData { Manager = grouped[i] }, ButtonType.Base, grouped[i].GetBaseName().TruncateWEllipsis(30), "BaseBTN"); } } else { QuickLogger.Debug("GetCurrentBaseAntenna most likely is null"); } _baseGrid.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 OnLoadVehicleContainersGrid(DisplayData data) { try { if (_isBeingDestroyed) { return; } _vehicleContainersGrid?.ClearPage(); var grouped = DSSHelpers.GetVehicleContainers(_currentVehicle); if (grouped == null) { return; } QuickLogger.Debug($"Vehicle Count to process: {grouped.Count}"); if (data.EndPosition > grouped.Count) { data.EndPosition = grouped.Count; } if (data.ItemsGrid?.transform == null) { return; } QuickLogger.Debug($"Adding Vehicles"); for (int i = data.StartPosition; i < data.EndPosition; i++) { if (grouped[i] == null) { continue; } GameObject buttonPrefab = Instantiate(data.ItemsPrefab); if (buttonPrefab == null || data.ItemsGrid == null) { if (buttonPrefab != null) { QuickLogger.Debug("Destroying Tab", true); Destroy(buttonPrefab); } return; } CreateButton(data, buttonPrefab, new ButtonData { Container = grouped[i] }, ButtonType.Container, i.ToString(), "VehicleContainerBTN"); } _vehicleContainersGrid?.UpdaterPaginator(grouped.Count); } catch (Exception e) { QuickLogger.Error("Error Caught"); QuickLogger.Error($"Error Message: {e.Message}"); QuickLogger.Error($"Error StackTrace: {e.StackTrace}"); } }
private void OnLoadVehicleGrid(DisplayData data) { try { if (_vehicleGrid == null) { return; } _vehicleGrid.ClearPage(); var grouped = _mono?.Manager?.DockingManager?.Vehicles; if (grouped == null) { return; } if (data.EndPosition > grouped.Count) { data.EndPosition = grouped.Count; } if (data.ItemsGrid?.transform == null) { return; } QuickLogger.Debug($"Adding Vehicles"); for (int i = data.StartPosition; i < data.EndPosition; i++) { if (grouped[i] == null) { 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($"Creating Vehicle Button: {grouped[i].GetName()}"); CreateButton(data, buttonPrefab, new ButtonData { Vehicle = grouped[i] }, ButtonType.Vehicle, grouped[i].GetName(), "VehicleBTN"); } _vehicleGrid.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 OnLoadDisplay(DisplayData data) { List <FCSController> items = null; if (SelectedTab == QTTabs.Global) { items = BaseManager.GlobalUnits.Where(x => x != _mono).ToList(); } else if (SelectedTab == QTTabs.Intra) { items = _mono.Manager.BaseUnits.Where(x => x != _mono).ToList(); } if (items == null) { QuickLogger.Error <QTDisplayManager>("Items list returned null"); return; } if (data.EndPosition > items.Count) { data.EndPosition = items.Count; } _teleportGrid.ClearPage(); for (int i = data.StartPosition; i < data.EndPosition; i++) { var unit = items[i]; var unitName = unit.GetName(); if (unit == _mono) { continue; } GameObject itemDisplay = Instantiate(data.ItemsPrefab); var statusLBL = InterfaceHelpers.FindGameObject(itemDisplay, "Status_LBL"); if (itemDisplay == null || data.ItemsGrid == null) { if (itemDisplay != null) { Destroy(itemDisplay); } return; } itemDisplay.transform.SetParent(data.ItemsGrid.transform, false); var textField = itemDisplay.transform.Find("Location_LBL").gameObject; var text = textField.GetComponent <Text>(); text.text = unitName; var statusUpdater = itemDisplay.AddComponent <ItemDisplayStatusHandler>(); statusUpdater.Initialize((QuantumTeleporterController)unit, textField, statusLBL, this, MaxInteractionRange); var itemButton = itemDisplay.AddComponent <InterfaceButton>(); itemButton.ButtonMode = InterfaceButtonMode.TextColor; itemButton.Tag = unit; itemButton.TextComponent = text; itemButton.OnButtonClick += OnButtonClick; itemButton.BtnName = "Unit"; itemButton.MaxInteractionRange = MaxInteractionRange; QuickLogger.Debug($"Added Unit {unitName}"); } _teleportGrid.UpdaterPaginator(items.Count); }
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); }
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}"); } }