public void fillTab(InventoryTabType tabType, bool isSelected, TabEventChannelSO changeTabEvent)
 {
     _tabName.StringReference   = tabType.TabName;
     _actionButton.interactable = !isSelected;
     _actionButton.onClick.RemoveAllListeners();
     _actionButton.onClick.AddListener(() => changeTabEvent.RaiseEvent(tabType));
 }
Example #2
0
    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 FillInventory(TabType _selectedTabType = TabType.none, bool _isNearPot = false)
    {
        isNearPot = _isNearPot;

        if ((_selectedTabType != TabType.none) && (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)
        {
            FillTypeTabs(tabTypesList, selectedTab);
            List <ItemStack> listItemsToShow = currentInventory.Items.FindAll(o => o.Item.ItemType.TabType == selectedTab);
            FillItems(listItemsToShow);
        }
        else
        {
            Debug.Log("There's no item tab type ");
        }
    }
 public void RaiseEvent(InventoryTabType item)
 {
     if (OnEventRaised != null)
     {
         OnEventRaised.Invoke(item);
     }
 }
Example #5
0
    public void fillTab(InventoryTabType tabType, bool isSelected)
    {
        _tabImage.sprite           = tabType.TabIcon;
        _actionButton.interactable = !isSelected;

        if (isSelected)
        {
            _tabImage.color = _selectedIconColor;
        }
        else
        {
            _tabImage.color = _deselectedIconColor;
        }

        _actionButton.onClick.RemoveAllListeners();
        _actionButton.onClick.AddListener(() => _changeTabEvent.RaiseEvent(tabType));
    }
    public void FillTabs(List <InventoryTabType> typesList, InventoryTabType selectedType, TabEventChannelSO changeTabEvent)
    {
        if (instantiatedGameObjects == null)
        {
            instantiatedGameObjects = new List <InventoryTypeTabFiller>();
        }

        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.Log("Maximum tabs reached");
                }
                bool isSelected = typesList[i] == selectedType;
                //fill
                instantiatedGameObjects[i].fillTab(typesList[i], isSelected);
                instantiatedGameObjects[i].gameObject.SetActive(true);
            }
            else if (i < instantiatedGameObjects.Count)
            {
                //Desactive
                instantiatedGameObjects[i].gameObject.SetActive(false);
            }
        }
        StartCoroutine(waitBeforeDesactiveLayout());
    }
 void ChangeTabEventRaised(InventoryTabType tabType)
 {
     FillInventory(tabType.TabType);
 }
 void FillTypeTabs(List <InventoryTabType> typesList, InventoryTabType selectedType)
 {
     tabFiller.FillTabs(typesList, selectedType, ChangeTabEvent);
 }
Example #9
0
    IEnumerator ShowA(InventoryTabType tab, HeroSlotState state)
    {
        //인벤토리 열릴시 NewCheck해제
        onCheckNewHeroEarned();

        SizeControl();

        //canvas.enabled = false;
        canvas.gameObject.SetActive(true);

        if (state == HeroSlotState.Battle)
        {
            objTitle.SetActive(false);

            //.isOn = true;
            scrollBattleHero.GetComponent <CanvasRenderer>().SetAlpha(0f);
            heroTypeButtonPanel.SetActive(false);
        }
        else if (state == HeroSlotState.Territory)
        {
            objTitle.SetActive(false);

            //toggleTown.Select();
            heroTypeButtonPanel.SetActive(false);
            objListRoot.GetComponent <RectTransform>().sizeDelta = originalListSize;
        }
        else if (state == HeroSlotState.Training)
        {
            objTitle.SetActive(false);
            heroTypeButtonPanel.SetActive(true);
        }
        else
        {
            objTitle.SetActive(true);
            heroTypeButtonPanel.SetActive(true);
            objListRoot.GetComponent <RectTransform>().sizeDelta = originalListSize;
        }

        //if(state != HeroSlotState.Internal)
        //    OnValueChangedToggleListType("Battle");
        //else
        //    OnValueChangedToggleListType("Town");


        for (int i = 0; i < heroSlotContainerList.Count; i++)
        {
            heroSlotContainerList[i].state = state;
        }

        scrollBattleHero.gameObject.SetActive(tab == InventoryTabType.Battle);
        scrollTownHero.gameObject.SetActive(tab == InventoryTabType.Territory);

        if (onOpened != null)
        {
            onOpened();
        }

        yield return(null);


        if (tab == InventoryTabType.Battle)
        {
            scrollBattleHero.normalizedPosition = new Vector2(scrollBattleHero.normalizedPosition.x, 1f);
        }
        else if (tab == InventoryTabType.Territory)
        {
            scrollTownHero.normalizedPosition = new Vector2(scrollTownHero.normalizedPosition.x, 1f);
        }


        if (isRegisteredSorting)
        {
            sortBehavior.SortHeroList(sortBehavior.heroSortType);
            isRegisteredSorting = false;
        }



        scrollBattleHero.GetComponent <CanvasRenderer>().SetAlpha(1f);
        scrollTownHero.GetComponent <CanvasRenderer>().SetAlpha(1f);

        canvas.enabled = true;



        coroutineShow = null;

        yield break;
    }
Example #10
0
    void Show(InventoryTabType tab = InventoryTabType.Battle, HeroSlotState state = HeroSlotState.Inventory)
    {
        currentHeroSlotState = state;
        sortToggle.isOn      = false;
        SortingTypeButtonPanel.SetActive(sortToggle.isOn);

        //slotBG.offsetMin = new Vector2(slotBG.offsetMin.x, -0.25f);
        //slotBG.offsetMax = new Vector2(slotBG.offsetMax.x, 0);

        if (!sortToggle.gameObject.activeSelf)
        {
            sortToggle.gameObject.SetActive(true);
        }

        if (coroutineShow != null)
        {
            return;
        }

        if (state == HeroSlotState.Territory || state == HeroSlotState.Training)
        {
            sortBehavior.SortHeroList(HeroSortingType.Auto, state);
        }
        else
        {
            sortBehavior.SortHeroList(currentSortType, HeroSlotState.Inventory);
        }

        if (tab == InventoryTabType.Battle)
        {
            toggleTown.isOn   = false;
            toggleBattle.isOn = true;// Select();
            heroInventoryScrollViewContent.gameObject.SetActive(true);
            territoryheroInventoryScrollViewContent.gameObject.SetActive(false);
            UIHeroSlotContainer[] temp = heroInventoryScrollViewContent.GetComponentsInChildren <UIHeroSlotContainer>();

            if (temp.Length > 0)
            {
                notHeroText.gameObject.SetActive(false);
            }
            else
            {
                notHeroText.gameObject.SetActive(true);
            }
        }
        else
        {
            toggleTown.isOn   = true;//Select();
            toggleBattle.isOn = false;
            heroInventoryScrollViewContent.gameObject.SetActive(false);
            territoryheroInventoryScrollViewContent.gameObject.SetActive(true);
            UIHeroSlotContainer[] temp = territoryheroInventoryScrollViewContent.GetComponentsInChildren <UIHeroSlotContainer>();

            if (temp.Length > 0)
            {
                notHeroText.gameObject.SetActive(false);
            }
            else
            {
                notHeroText.gameObject.SetActive(true);
            }
        }

        coroutineShow = StartCoroutine(ShowA(tab, state));
    }