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

public class MailItemLogic : UIItemSelect
{
    public Text _MailTitle;
    public Image _MailIcon;

    private MailData.UserMail _MailData;
    public UInt64 Mailkey
    {
        get
        {
            if(_MailData != null)
            {
                return _MailData.key;
            }
            else
            {
                return 0;
            }
        }
    }

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

        _MailData = (MailData.UserMail)hash["InitObj"];
        InitMailItem();
        UpdateRedDotTip();
    }

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

        UpdateRedDotTip();
        LoadAssetBundle.Instance.SetImageSprite(_MailIcon, GetMailIcon());
    }

    public void InitMailItem()
    {
        if (_MailData == null)
            return;

        _MailTitle.text = _MailData.SenderName;
        LoadAssetBundle.Instance.SetImageSprite(_MailIcon, GetMailIcon());
    }

    private string GetMailIcon()
    {
        if (_MailData.itemID.Length > 0 || _MailData.moneyType.Length > 0)
        {
            return ("Yabiao");
        }
        else
        {
            return ("ItemPack");
        }
    }

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

        UpdateRedDotTip();
        
        // 聊天框红点更新
        ChatFrameLogic.Instance().UpdateRedDotTip();

        // 邮件信息图标红点更新
        FriendAndMailRoot.Instance().UpdateMailRedTip();
    }

    #region update red dot tip

    public GameObject _RedDotTip;

    public void UpdateRedDotTip()
    {
        if (_MailData.bReaded == 1)
        {
            _RedDotTip.SetActive(false);
        }
        else
        {
            _RedDotTip.SetActive(true);
        }
    }

    #endregion
}