//--------------------------------------------------------  
 | 
//    [Author]:           第二世界  
 | 
//    [  Date ]:           Tuesday, March 12, 2019  
 | 
//--------------------------------------------------------  
 | 
using UnityEngine;  
 | 
using System.Collections;  
 | 
using UnityEngine.UI;  
 | 
using System;  
 | 
  
 | 
namespace vnxbqy.UI  
 | 
{  
 | 
  
 | 
    public class TipItemBaseInfoWidget : MonoBehaviour  
 | 
    {  
 | 
        [SerializeField] ImageEx m_Label;  
 | 
        [SerializeField] Text m_ItemName;  
 | 
        [SerializeField] ItemBehaviour m_Item;  
 | 
        [SerializeField] Text m_Type;  
 | 
  
 | 
        [SerializeField] RectTransform m_ConditionContainer;  
 | 
        [SerializeField] Text m_Condition;  
 | 
  
 | 
        [SerializeField] RectTransform m_SurplusTimeContainer;  
 | 
        [SerializeField] Text m_SurplusTimeTitle;  
 | 
        [SerializeField] Text m_SurplusTime;  
 | 
  
 | 
        public void Display(ItemTipUtility.BaseInfo baseInfo, string guid)  
 | 
        {  
 | 
            m_Label.SetActive(false);  
 | 
            //if (baseInfo.isAuction)  
 | 
            //{  
 | 
            //    m_Label.SetActive(true);  
 | 
            //    m_Label.SetSprite("Item_Auction_2");  
 | 
            //    m_Label.gray = baseInfo.auctionSurplusTime <= 0;  
 | 
            //}  
 | 
            //else  
 | 
            //{  
 | 
            //    m_Label.SetActive(false);  
 | 
            //}  
 | 
  
 | 
            var itemConfig = ItemConfig.Get(baseInfo.itemId);  
 | 
            m_ItemName.text = itemConfig.ItemName;  
 | 
            m_ItemName.color = UIHelper.GetUIColor(itemConfig.ItemColor);  
 | 
  
 | 
            m_Item.SetItem(baseInfo.itemId, 1);  
 | 
            m_Type.text = itemConfig.ItemTypeName;  
 | 
  
 | 
            if (baseInfo.isPreview)  
 | 
            {  
 | 
                m_SurplusTimeContainer.SetActive(false);  
 | 
            }  
 | 
            else  
 | 
            {  
 | 
                if (itemConfig.ExpireTime > 0)  
 | 
                {  
 | 
                    m_SurplusTimeTitle.text = Language.Get("ItemTipTime1");  
 | 
                    if (!baseInfo.isOverdue)  
 | 
                    {  
 | 
                        if (baseInfo.overdueSurplusTime > 0)  
 | 
                        {  
 | 
                            m_SurplusTimeContainer.SetActive(true);  
 | 
                            m_SurplusTime.text = TimeUtility.SecondsToDHMSCHS(baseInfo.overdueSurplusTime);  
 | 
                        }  
 | 
                        else  
 | 
                        {  
 | 
                            m_SurplusTimeContainer.SetActive(false);  
 | 
                        }  
 | 
                    }  
 | 
                    else  
 | 
                    {  
 | 
                        m_SurplusTimeContainer.SetActive(true);  
 | 
                        m_SurplusTime.text = Language.Get("EquipInfo_Overdued");  
 | 
                    }  
 | 
                }  
 | 
                else if (itemConfig.Type == 145 && itemConfig.CDTime > 0)  
 | 
                {  
 | 
                    if (!string.IsNullOrEmpty(guid))  
 | 
                    {  
 | 
                        m_SurplusTimeTitle.text = Language.Get("ItemTipTime2");  
 | 
                        m_SurplusTimeContainer.SetActive(true);  
 | 
                        var itemModel = ModelCenter.Instance.GetModel<PackModel>().GetItemByGuid(guid);  
 | 
                        if (itemModel != null)  
 | 
                        {  
 | 
                            var createTime = itemModel.GetUseDataFirstValue((int)ItemUseDataKey.createTime);  
 | 
                            if (createTime > 0)  
 | 
                            {  
 | 
                                DateTime useTime;  
 | 
                                if (itemConfig.CDTypeEx == 1)  
 | 
                                {  
 | 
                                    //itemConfig.CDTime 为天,过0点可用  
 | 
                                    useTime = TimeUtility.GetTime((uint)createTime).AddDays(itemConfig.CDTime);  
 | 
                                    useTime = TimeUtility.GetDayStartTime(useTime.Year, useTime.Month, useTime.Day);  
 | 
                                }  
 | 
                                else  
 | 
                                {   
 | 
                                    useTime = TimeUtility.GetTime((uint)createTime).AddSeconds(itemConfig.CDTime);  
 | 
                                }  
 | 
                                if (TimeUtility.ServerNow >= useTime)  
 | 
                                {  
 | 
                                    m_SurplusTime.text = Language.Get("ItemTipTime3");  
 | 
                                }  
 | 
                                else  
 | 
                                {  
 | 
                                    m_SurplusTime.text = TimeUtility.SecondsToDHMSCHS((int)(useTime - TimeUtility.ServerNow).TotalSeconds);  
 | 
                                }  
 | 
  
 | 
                            }  
 | 
                            else  
 | 
                            {  
 | 
                                m_SurplusTimeContainer.SetActive(false);  
 | 
                            }  
 | 
                        }  
 | 
                        else  
 | 
                        {  
 | 
                            m_SurplusTimeContainer.SetActive(false);  
 | 
                        }  
 | 
                    }  
 | 
                    else  
 | 
                    {  
 | 
                        m_SurplusTimeContainer.SetActive(false);  
 | 
                    }  
 | 
                }  
 | 
                else  
 | 
                {  
 | 
                    m_SurplusTimeContainer.SetActive(false);  
 | 
                }  
 | 
            }  
 | 
  
 | 
            if (!baseInfo.isAuction)  
 | 
            {  
 | 
                m_ConditionContainer.SetActive(true);  
 | 
                if (baseInfo.moneyLimit > 0)  
 | 
                {  
 | 
                    var myMoney = UIHelper.GetMoneyCnt(1);  
 | 
                    m_Condition.text = Language.Get("OpenBoxCostMoney", baseInfo.moneyLimit);  
 | 
                    m_Condition.color = UIHelper.GetUIColor(myMoney < (ulong)baseInfo.moneyLimit ? TextColType.Red : TextColType.Green);  
 | 
                }  
 | 
                else if (baseInfo.realmLimit > 0)  
 | 
                {  
 | 
                    var realmConfig = RealmConfig.Get(baseInfo.realmLimit);  
 | 
                    m_Condition.text = StringUtility.Contact(Language.Get("RealmLimit1"), " ", realmConfig.Name);  
 | 
                    var realmLevel = PlayerDatas.Instance.baseData.realmLevel;  
 | 
                    m_Condition.color = UIHelper.GetUIColor(realmLevel < itemConfig.UseLV ? TextColType.Red : TextColType.Green);  
 | 
                }  
 | 
                else  
 | 
                {  
 | 
                    m_Condition.text = StringUtility.Contact(Language.Get("KnapS110"), " ", baseInfo.levelLimit);  
 | 
                    var playerLevel = PlayerDatas.Instance.baseData.LV;  
 | 
                    m_Condition.color = UIHelper.GetUIColor(playerLevel < itemConfig.UseLV ? TextColType.Red : TextColType.Green);  
 | 
                }  
 | 
            }  
 | 
            else  
 | 
            {  
 | 
                m_ConditionContainer.SetActive(false);  
 | 
            }  
 | 
  
 | 
        }  
 | 
  
 | 
    }  
 | 
  
 | 
}  
 | 
  
 | 
  
 | 
  
 |