using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using System.Collections;
using System.Collections.Generic;
using System;
using GCGame.Table;
using GCGame;
using Games.GlobeDefine;

public class MasterItemInfo
{
    public ulong Guid;
    public string Name;
    public int Level;
    public int Profession;
}

public class MasterInfoItem : UIItemSelect
{

    public Image _Icon;
    public Text _Name;
    public Image _ProIcon;
    public Text _Level;
    public Button _BtnRelieve;
    public Button _BtnMaster;
         
    private RelationDataProto _RelieveItemInfo;

    public override void Show(Hashtable hash)
    {
        base.Show();

        var info = (RelationDataProto)hash["InitObj"];
        if (hash.ContainsKey("IsRelieve"))
        {
            _BtnRelieve.gameObject.SetActive(true);
            _BtnMaster.gameObject.SetActive(false);
        }
        else
        {
            _BtnRelieve.gameObject.SetActive(false);
            _BtnMaster.gameObject.SetActive(true);
        }
        ShowItem(info);
    }

    private void ShowItem(RelationDataProto info)
    {
        _RelieveItemInfo = info;
        LoadAssetBundle.Instance.SetImageSprite(_ProIcon, Utils.GetProfessionIconName((CharacterDefine.PROFESSION)info.Prof));
        LoadAssetBundle.Instance.SetImageSprite(_Icon, Utils.GetProfessionSpriteName(info.Prof));
        _Name.text = info.Name;
        _Level.text = "Lv." + info.Level;
    }

    public void OnBtnRelieve()
    {
        GameManager.gameManager.PlayerDataPool.m_MasterInfo.MasterRelieve(_RelieveItemInfo.Guid, _RelieveItemInfo.Name);
    }

    public void OnBtnMaster()
    {
        GameManager.gameManager.PlayerDataPool.m_MasterInfo.MasterPlayer(_RelieveItemInfo.Guid, _RelieveItemInfo.Name, _RelieveItemInfo.Prof, _RelieveItemInfo.Level);
    }
}