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

public class MyAutoMedicItem : MonoBehaviour {

    public Image itemQuality;
    public Button m_ItemIconBtn;
    public Text m_ItemNameText;
    public Text m_ItemDescText;
    public Button m_MaskButton;
    public Text m_ItemCountText;
    public bool hasSameItem = false;

    public int m_ItemDataId;
    public int m_ItemTotalCount;

    private int m_OpenType;

    public void InitMyItem(int m_ItemId, int m_Type)
    {
        m_OpenType = m_Type;
        if (m_ItemId == -1)
        {
            return;
        }
        m_ItemDataId = m_ItemId;
        if (m_Type == 1)
        {          
            Tab_AutoUseItem m_AutoUseItem = TableManager.GetAutoUseItemByID(m_ItemId, 0);
            if (m_AutoUseItem != null)
            {
                LoadAssetBundle.Instance.SetImageSprite(m_ItemIconBtn.image, m_AutoUseItem.Icon);
                m_ItemNameText.text = m_AutoUseItem.Name;
                m_ItemDescText.text = m_AutoUseItem.Desc;
            }
        }else
        {
            Tab_UseDrugItem useDrugItem = TableManager.GetUseDrugItemByID(m_ItemId, 0);
            if(useDrugItem != null)
            {
                LoadAssetBundle.Instance.SetImageSprite(m_ItemIconBtn.image, useDrugItem.Icon);
                m_ItemNameText.text = useDrugItem.Name;
                m_ItemDescText.text = useDrugItem.Desc;
            }
        }
        Tab_CommonItem commonItem = TableManager.GetCommonItemByID(m_ItemId, 0);
        if(commonItem != null)
        {
            itemQuality.gameObject.SetActive(true);
            LoadAssetBundle.Instance.SetImageSprite(itemQuality, GCGame.Utils.GetItemQualityFrame(commonItem.Quality));
        }else
        {
            itemQuality.gameObject.SetActive(false);
        }
        SetItemCountText();

    }


    //根据物品的DataId获取物品的数量
    public void SetItemCountText()
    {
        var backPack = GameManager.gameManager.PlayerDataPool.BackPack;

        var itemCount = backPack.GetItemCountByDataId(m_ItemDataId);

        if(itemCount <= 0)
        {
            m_ItemCountText.text = StrDictionary.GetClientDictionaryString("#{5526}") + "0</color>";
            m_MaskButton.gameObject.SetActive(true);
            hasSameItem = false;
        }
        else
        {
            m_MaskButton.gameObject.SetActive(false);
            m_ItemCountText.text = itemCount.ToString();
            hasSameItem = true;
        }
    }


    public void  MyItemClick()
    {
        if(hasSameItem)
        {
            //设置当前的物品为自动使用的物品
            //if(m_OpenType == 1)
            //    AutoUseMedicPanelCtrl.Instance.SetShowItemInfo(m_ItemDataId);
             if(m_OpenType == 2)
            {
                PlayerPreferenceData.ShortCutItemId = m_ItemDataId;
                SkillBarLogic.Instance().SetUseItem();
            }

            UIManager.CloseUI(UIInfo.PopCanSelectItemPanel);
        }
        else
        {
            ItemTooltipsLogic.ShowItemTooltip(m_ItemDataId, ItemTooltipsLogic.ShowType.GetPath, Vector3.zero);
        }
    }
}