public void RaiseEvent(InventoryTabSO item) { if (OnEventRaised != null) { OnEventRaised.Invoke(item); } }
public void FillInventory(InventoryTabType _selectedTabType = InventoryTabType.CookingItem, bool isNearPot = false) { _isNearPot = isNearPot; if ((_tabTypesList.Exists(o => o.TabType == _selectedTabType))) { _selectedTab = _tabTypesList.Find(o => o.TabType == _selectedTabType); } else { if (_tabTypesList != null) { if (_tabTypesList.Count > 0) { _selectedTab = _tabTypesList[0]; } } } if (_selectedTab != null) { SetTabs(_tabTypesList, _selectedTab); List <ItemStack> listItemsToShow = new List <ItemStack>(); listItemsToShow = _currentInventory.Items.FindAll(o => o.Item.ItemType.TabType == _selectedTab); FillInvetoryItems(listItemsToShow); } else { Debug.LogError("There's no selected tab"); } }
public void SetTab(InventoryTabSO tabType, bool isSelected) { _currentTabType = tabType; _tabImage.sprite = tabType.TabIcon; UpdateState(isSelected); }
public void ChangeTabSelection(InventoryTabSO selectedType) { for (int i = 0; i < _instantiatedGameObjects.Count; i++) { bool isSelected = _instantiatedGameObjects[i]._currentTabType == selectedType; //fill _instantiatedGameObjects[i].UpdateState(isSelected); } }
public void SetTabs(List <InventoryTabSO> typesList, InventoryTabSO selectedType) { if (_instantiatedGameObjects == null) { _instantiatedGameObjects = new List <UIInventoryTab>(); } if (gameObject.GetComponent <VerticalLayoutGroup>() != null) { gameObject.GetComponent <VerticalLayoutGroup>().enabled = true; } int maxCount = Mathf.Max(typesList.Count, _instantiatedGameObjects.Count); for (int i = 0; i < maxCount; i++) { if (i < typesList.Count) { if (i >= _instantiatedGameObjects.Count) { Debug.LogError("Maximum tabs reached"); } bool isSelected = typesList[i] == selectedType; //fill _instantiatedGameObjects[i].SetTab(typesList[i], isSelected); _instantiatedGameObjects[i].gameObject.SetActive(true); _instantiatedGameObjects[i].TabClicked += ChangeTab; } else if (i < _instantiatedGameObjects.Count) { //Desactive _instantiatedGameObjects[i].gameObject.SetActive(false); } } if (isActiveAndEnabled) // check if the game object is active and enabled so that we could start the coroutine. { StartCoroutine(waitBeforeDesactiveLayout()); } else // if the game object is inactive, disabling the layout will happen on onEnable { canDisableLayout = true; } }
void OnChangeTab(InventoryTabSO tabType) { FillInventory(tabType.TabType, _isNearPot); }
void SetTabs(List <InventoryTabSO> typesList, InventoryTabSO selectedType) { _tabsPanel.SetTabs(typesList, selectedType); }
void ChangeTab(InventoryTabSO newTabType) { TabChanged.Invoke(newTabType); }
void OnChangeTab(InventoryTabSO tabType) { FillInventory(tabType.TabType); }