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

public class LevelTipTipItem : UIItemBase
{
    public Text _Name;
    public Text _Desc;
    public Image _Icon;
    public Text _BtnGOText;
    public Text _BtnDisableText;
    public GameObject _BtnGO;
    public GameObject _BtnDone;
    public GameObject _BtnGOing;
    public GameObject _BtnDisable;
    public GameObject _MonsterTag;

    #region 

    Tab_LevelCombatTipItem _TipItemTab;

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

        var tipTab = (Tab_LevelCombatTipItem)hash["InitObj"];

        ShowTipTab(tipTab);
    }

    public void ShowTipTab(Tab_LevelCombatTipItem tipTab)
    {
        _TipItemTab = tipTab;
        _Name.text = tipTab.Name;
        _Desc.text = tipTab.Tips;
        LoadAssetBundle.Instance.SetImageSprite(_Icon, tipTab.Icon);
        _BtnGOText.text = tipTab.BtnGoName;
        _BtnDisableText.text = tipTab.BtnDisableText;

        if (string.IsNullOrEmpty(tipTab.BtnGoFunc))
        {
            _BtnDisable.SetActive(false);
            _BtnGO.SetActive(false);
            _BtnDone.SetActive(false);
            _BtnGOing.SetActive(false);
        }
        else
        {
            var btnState = LevelCombatTipRoot.GetBtnState(tipTab);
            switch (btnState)
            {
                case LevelCombatTipRoot.BtnState.Disable:
                    _BtnDisable.SetActive(true);
                    _BtnGO.SetActive(false);
                    _BtnDone.SetActive(false);
                    _BtnGOing.SetActive(false);
                    break;
                case LevelCombatTipRoot.BtnState.Done:
                    _BtnDisable.SetActive(false);
                    _BtnGO.SetActive(false);
                    _BtnDone.SetActive(true);
                    _BtnGOing.SetActive(false);
                    break;
                case LevelCombatTipRoot.BtnState.Go:
                    _BtnDisable.SetActive(false);
                    _BtnGO.SetActive(true);
                    _BtnDone.SetActive(false);
                    _BtnGOing.SetActive(false);
                    break;
                case LevelCombatTipRoot.BtnState.Going:
                    _BtnDisable.SetActive(false);
                    _BtnGO.SetActive(false);
                    _BtnDone.SetActive(false);
                    _BtnGOing.SetActive(true);
                    break;
            }
        }

        if (tipTab.BtnGoFunc == "Monster")
        {
            _MonsterTag.gameObject.SetActive(true);
        }
        else
        {
            _MonsterTag.gameObject.SetActive(false);
        }
    }

    public void OnBtnGo()
    {
        LevelCombatTipRoot.GotoFun(_TipItemTab);
    }
    
    #endregion
}