private void SelectSlot(WeaponSlotGUI slot)
    {
        _unSelectedBackgroundSize   = slot.BackgroundTr.sizeDelta;
        slot.BackgroundTr.sizeDelta = _unSelectedBackgroundSize * 1.1f;

        _unSelectedCooldownwidth  = slot.CooldownTr.sizeDelta.x;
        slot.CooldownTr.sizeDelta = new Vector2(_unSelectedCooldownwidth * 1.1f, slot.CooldownTr.sizeDelta.y);
    }
    private void LateUpdate()
    {
        if (_player == null)
        {
            _player = FindObjectOfType <PlayerControlBattle>();
            if (_player != null)
            {
                Setup();
            }
            return;
        }
        SetChildren(_player.Count());
        int i = 0;

        foreach (Slot slot in _player)
        {
            Attack        currattack = slot.Attack;
            WeaponSlotGUI slotGUI    = transform.GetChild(i).GetComponent <WeaponSlotGUI>();
            if (_player.SlotInputIndex == i && i != _selectedSlot)
            {
                if (_selectedSlot != -1)
                {
                    UnSelectSlot(transform.GetChild(_selectedSlot).GetComponent <WeaponSlotGUI>());
                }
                SelectSlot(slotGUI);
                _selectedSlot = i;
            }
            if (currattack != null)
            {
                if (!slotGUI.WeaponImageComponent.enabled)
                {
                    slotGUI.WeaponImageComponent.enabled = true;
                    slotGUI.CooldownTr.GetComponent <Image>().enabled = true;
                }

                if (slotGUI.WeaponImageComponent.sprite != _sprites[currattack])
                {
                    slotGUI.WeaponImageComponent.sprite = _sprites[currattack];
                }

                slotGUI.CooldownTr.sizeDelta = new Vector2(slotGUI.CooldownTr.sizeDelta.x, 60 * currattack.Cooldown.TimeRemainingRatio);
            }
            else if (slotGUI.WeaponImageComponent.enabled)
            {
                slotGUI.WeaponImageComponent.enabled = false;
                slotGUI.CooldownTr.GetComponent <Image>().enabled = false;
            }
            ++i;
        }
    }
    protected void Setup()
    {
        WeaponSlotGUI slot  = transform.GetChild(0).GetComponent <WeaponSlotGUI>();
        Image         image = slot.BackgroundImage;

        image.color = MyColorLib.SetColorsAndA(_player.Team.TeamColor, image.color.a);
        Color invertedColor = _player.Team.TeamColor.InvertColor();

        slot.TextKeyComponent.color        = invertedColor;
        slot.TextSlotNumberComponent.color = invertedColor;

        foreach (var attack in _player.GetComponentsInChildren <Attack>())
        {
            _sprites.Add(attack, Sprite.Create(attack.DefaultImage, new Rect(0f, 0f, attack.DefaultImage.width, attack.DefaultImage.height), new Vector2(0.5f, 0.5f)));
        }
    }
 private void UnSelectSlot(WeaponSlotGUI slot)
 {
     slot.BackgroundTr.sizeDelta = _unSelectedBackgroundSize;
     slot.CooldownTr.sizeDelta   = new Vector2(_unSelectedCooldownwidth, slot.CooldownTr.sizeDelta.y);
 }