//-------------------------------------------------------- // [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; float m_Time = 0; //0.3秒刷新一次数量 private void LateUpdate() { m_Time += Time.deltaTime; if (m_Time > 0.3f) { m_Time = 0; if (ItemTipUtility.mainTipData.goodId > 0) { var config = StoreConfig.Get(ItemTipUtility.mainTipData.goodId); if (m_Item.count != null) m_Item.count.text = (config.ItemCnt * BuyItemController.Instance.wannaBuyCount.value).ToString(); } } } 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); if (m_Item.count != null) m_Item.count.text = string.Empty; 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().GetItemByGuid(guid); if (itemModel != null) { var createTime = itemModel.GetUseDataFirstValue((int)ItemUseDataKey.createTime); if (createTime > 0) { DateTime 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); } } } }