using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using GCGame.Table;

public class ChildFashionItemBase : UIItemBase {

    public Image _ItemQuality;
    public Image _ItemIcon;
    public List<Text> _ItemName;
    public GameObject _GetBtn;
    public GameObject _PutBtn;
    public GameObject _OffBtn;
    public GameObject _ActiveBtn;
    public GameObject _Mark;
    public List<GameObject> _DontHaveMark;

    private int _CurSelectItemId = -1;

    [HideInInspector]
    public int _CurChildFashionTabId = -1;

    private Tab_ChildrenFashion _CurChildFashionTab = null;
    private int _ItemId;
    public override void Show(Hashtable hash)
    {
        base.Show(hash);
        _CurChildFashionTabId = (int)hash["InitObj"];
        _CurChildFashionTab = TableManager.GetChildrenFashionByID(_CurChildFashionTabId, 0);
        if(_CurChildFashionTab == null)
        {
            Debug.LogError("ChildrenFashion is null : " + _CurChildFashionTabId);
            return;
        }

        _ItemId = _CurChildFashionTab.ItemId;

        if(_ItemId == -1)
        {
            Debug.LogError("SHABI! _ItemId is -1 : ");
            this.gameObject.SetActive(false);
            return;
        }

        var commonItemTab = TableManager.GetCommonItemByID(_ItemId, 0);
        if(commonItemTab == null)
        {
            Debug.LogError("commonItemTab is null : " + _CurChildFashionTab.ItemId);
            return;
        }

        //icon 描述
        LoadAssetBundle.Instance.SetImageSprite(_ItemIcon, commonItemTab.Icon);
        LoadAssetBundle.Instance.SetImageSprite(_ItemQuality, GCGame.Utils.GetItemQualityFrame(commonItemTab.Quality));

        _ItemName[0].text= commonItemTab.Name;
        _ItemName[1].text = commonItemTab.Name;
    }

    public void ShowDontHave(bool isGain)
    {
        if(_DontHaveMark[0])
            _DontHaveMark[0].SetActive(!isGain);
        if(_DontHaveMark[1])
            _DontHaveMark[1].SetActive(!isGain);
    }

    public override void OnItemClick()
    {
        base.OnItemClick();

        if (ChildFashionPanel.Instance)
            ChildFashionPanel.Instance.OnChildFashionItem(_CurChildFashionTabId);
    }

    public void ShowMark(bool isShow)
    {
        _Mark.SetActive(isShow);
    }

    //0.未获得 1.未穿戴 2.已穿戴
    public void InitBtnState(int state)
    {
        _GetBtn.SetActive(state == 0);
        _OffBtn.SetActive(state == 2);
        _PutBtn.SetActive(state == 1);
        _ActiveBtn.SetActive(state == 4);

        ShowDontHave(state != 0);
    }

    //1.穿戴时装 0.脱下时装 2.激活时装 3.显示获取途径
    public void OnOperationBtn(int operationIndex)
    {
        if(operationIndex == 3)
        {
            OnGetBtn();
        }
        else
        {
            ReqChildrenFashion req = new ReqChildrenFashion();
            req.fashionId = _CurChildFashionTabId;
            req.operationIndex = operationIndex;
            req.SendMsg();
        }
    }

    public void OnGetBtn()
    {
        ItemTooltipsLogic.ShowItemTooltip(_ItemId, ItemTooltipsLogic.ShowType.GetPath, _ItemIcon.transform.position);
    }
}