IEnumerator Start()
        {
            yield return(null);

            if (!UIMainControl.EnableItemSelectTab())
            {
                thisObj.SetActive(false);
            }

            List <Ability> abilityList = AbilityManager.GetAbilityList();

            for (int i = 0; i < abilityList.Count; i++)
            {
                if (i == 0)
                {
                    abilityItemList[i].Init();
                }
                else
                {
                    abilityItemList.Add(UISelectItem.Clone(abilityItemList[0].rootObj, "Item" + (i + 1)));
                }

                abilityItemList[i].imgIcon.sprite = abilityList[i].icon;
                abilityItemList[i].label.text     = abilityList[i].name;

                abilityItemList[i].selectHighlight.SetActive(false);
                //abilityItemList[i].buttonObj.SetActive(false);
            }
            if (abilityList.Count == 0)
            {
                abilityItemList[0].rootObj.SetActive(false);
            }


            UnitPlayer player = GameControl.GetPlayer();

            for (int i = 0; i < player.weaponList.Count; i++)
            {
                if (i == 0)
                {
                    weaponItemList[i].Init();
                }
                else
                {
                    weaponItemList.Add(UISelectItem.Clone(weaponItemList[0].rootObj, "Item" + (i + 1)));
                }

                weaponItemList[i].imgIcon.sprite = player.weaponList[i].icon;
                weaponItemList[i].label.text     = player.weaponList[i].weaponName;

                weaponItemList[i].selectHighlight.SetActive(false);
                //weaponItemList[i].buttonObj.SetActive(false);
            }

            tabObject.SetActive(false);
        }
        void OnNewAbility(Ability ability, int replaceIndex = -1)
        {
            if (replaceIndex >= 0)
            {
                abilityItemList[replaceIndex].imgIcon.sprite = ability.icon;
                abilityItemList[replaceIndex].label.text     = ability.name;
            }
            else
            {
                int index = abilityItemList.Count;
                abilityItemList.Add(UISelectItem.Clone(abilityItemList[0].rootObj, "Item" + (index)));

                abilityItemList[index].imgIcon.sprite = ability.icon;
                abilityItemList[index].label.text     = ability.name;

                abilityItemList[index].rootObj.SetActive(true);
                abilityItemList[index].selectHighlight.SetActive(false);
            }
        }
        void OnNewWeapon(Weapon weapon, int replaceIndex = -1)
        {
            if (replaceIndex >= 0)
            {
                weaponItemList[replaceIndex].imgIcon.sprite = weapon.icon;
                weaponItemList[replaceIndex].label.text     = weapon.weaponName;
            }
            else
            {
                int index = weaponItemList.Count;
                weaponItemList.Add(UISelectItem.Clone(weaponItemList[0].rootObj, "Item" + (index)));

                weaponItemList[index].imgIcon.sprite = weapon.icon;
                weaponItemList[index].label.text     = weapon.weaponName;

                weaponItemList[index].rootObj.SetActive(true);
                weaponItemList[index].selectHighlight.SetActive(false);
            }
        }