//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Tuesday, July 10, 2018 //-------------------------------------------------------- using UnityEngine; using System.Collections; using UnityEngine.UI; using System.Collections.Generic; using TableConfig; using System; namespace Snxxz.UI { //极品白拿 public class NeedForWhiteInvestment : MonoBehaviour { [SerializeField] Text m_Text_Day; [SerializeField] Text m_Text_AddPower; [SerializeField] Text m_Text_NeedMoeny; [SerializeField] Text m_Text_Name; [SerializeField] ItemCell m_ItemCell_One; [SerializeField] ItemCell m_ItemCell_Two; [SerializeField] ItemCell m_ItemCell_Three; [SerializeField] Button m_Button_OnClick; [SerializeField] ImageEx m_ButtonImage; [SerializeField] Text m_Text_Button; [SerializeField] GameObject m_Image_Miss; [SerializeField] GameObject m_Image_Receive; NeedForWhiteModel m_NeedForWhiteModel; NeedForWhiteModel needForWhiteModel { get { return m_NeedForWhiteModel ?? (m_NeedForWhiteModel = ModelCenter.Instance.GetModel()); } } ItemTipsModel _itemTipsModel; ItemTipsModel itemTipsModel { get { return _itemTipsModel ?? (_itemTipsModel = ModelCenter.Instance.GetModel()); } } private int Get_Id = 0; private bool IsWhetherToCount = false; public void GetId(int id) { Get_Id = id; IsWhetherToCount = false; SetReceiveInformation(id); if (needForWhiteModel.NeedForWhiteDic.ContainsKey(id)) { var NeedForWhite = needForWhiteModel.NeedForWhiteDic[id]; m_Text_Day.text = string.Format(Language.Get("Full_Refund"), NeedForWhite.Day); m_Text_AddPower.text = string.Format(Language.Get("Add_Power"), NeedForWhite.AddPower); m_Text_Name.text = NeedForWhite.Name; int Money = (int)UIHelper.GetMoneyCnt(1); var buySateClass = needForWhiteModel.BuySate[id]; if (Money >= NeedForWhite.NeedMoney) { m_Text_NeedMoeny.color = UIHelper.GetUIColor(TextColType.Green); } else { if (buySateClass.receive == 0) { m_Text_NeedMoeny.color = UIHelper.GetUIColor(TextColType.Red); } else { m_Text_NeedMoeny.color = UIHelper.GetUIColor(TextColType.Green); } } m_Text_NeedMoeny.text = NeedForWhite.NeedMoney.ToString(); var Job = PlayerDatas.Instance.baseData.Job; List NeedForWhiteItem = NeedForWhite.AwardItem.GetAwardItem(Job); m_ItemCell_One.gameObject.SetActive(false); m_ItemCell_Two.gameObject.SetActive(false); m_ItemCell_Three.gameObject.SetActive(false); for (int i = 0; i < NeedForWhiteItem.Count; i++) { int Type = i; AwardItem item = NeedForWhiteItem[i]; var Item = Config.Instance.Get(item.item.id); ItemCellModel cellModel = new ItemCellModel(item.item.id, true, (ulong)item.item.count, item.isBind); switch (Type) { case 0: m_ItemCell_One.gameObject.SetActive(true); m_ItemCell_One.Init(cellModel); m_ItemCell_One.cellBtn.RemoveAllListeners(); m_ItemCell_One.cellBtn.AddListener(() => { ItemAttrData attrData = new ItemAttrData(item.item.id, false, (ulong)item.item.count, -1, item.isBind); itemTipsModel.SetItemTipsModel(attrData); }); break; case 1: m_ItemCell_Two.gameObject.SetActive(true); m_ItemCell_Two.Init(cellModel); m_ItemCell_Two.cellBtn.RemoveAllListeners(); m_ItemCell_Two.cellBtn.AddListener(() => { ItemAttrData attrData = new ItemAttrData(item.item.id, false, (ulong)item.item.count, -1, item.isBind); itemTipsModel.SetItemTipsModel(attrData); }); break; case 2: m_ItemCell_Three.gameObject.SetActive(true); m_ItemCell_Three.Init(cellModel); m_ItemCell_Three.cellBtn.RemoveAllListeners(); m_ItemCell_Three.cellBtn.AddListener(() => { ItemAttrData attrData = new ItemAttrData(item.item.id, false, (ulong)item.item.count, -1, item.isBind); itemTipsModel.SetItemTipsModel(attrData); }); break; default: break; } } } } private void SetReceiveInformation(int id) { m_Image_Miss.SetActive(false); m_Image_Receive.SetActive(false); var NeedForWhite = needForWhiteModel.NeedForWhiteDic[id]; if (needForWhiteModel.BuySate.ContainsKey(id)) { TimeSpan ts = (DateTime.Now - needForWhiteModel.DateTime_S); int second = (int)ts.TotalSeconds + needForWhiteModel.OpenTimeS; var buySateClass = needForWhiteModel.BuySate[id]; if (buySateClass.receive == 0)//------未购买 { if (needForWhiteModel.FreeGoodsOpenTimeS - second > 0) { m_ButtonImage.gray = false; ; m_Text_Button.text = Language.Get("Buy_Now"); m_Button_OnClick.RemoveAllListeners(); m_Button_OnClick.AddListener(() => { PurchaseBulletBox(id); }); } else//------------错过 { m_Image_Miss.SetActive(true); m_ButtonImage.gray = true; m_Text_Button.text = Language.Get("TheCumulativeOnlineMiss"); m_Button_OnClick.RemoveAllListeners(); m_Button_OnClick.AddListener(() => { SysNotifyMgr.Instance.ShowTip("Missing_Tips"); }); } } else if (buySateClass.receive == 1)//---------已领取 { m_Text_Button.text = Language.Get("RealmPractice110"); m_ButtonImage.gray = true; m_Image_Receive.SetActive(true); m_Button_OnClick.RemoveAllListeners(); m_Button_OnClick.AddListener(() => { SysNotifyMgr.Instance.ShowTip("Pick_Up_Tips"); }); } else//------可领 { m_Image_Receive.SetActive(true); TimeSpan ts1 = (DateTime.Now - buySateClass.dateTime); int _second = (int)ts1.TotalSeconds + buySateClass.receive; if (NeedForWhite.ReturnTime > _second)//---时间未到 { IsWhetherToCount = true; m_ButtonImage.gray = false; m_Button_OnClick.RemoveAllListeners(); m_Button_OnClick.AddListener(() => { SysNotifyMgr.Instance.ShowTip("Waiting_For_Prompt");}); } else//--倒计时结束可领l { IsWhetherToCount = false; m_ButtonImage.gray = false; m_Button_OnClick.interactable = true; m_Text_Button.text = Language.Get("Z1043"); m_Button_OnClick.RemoveAllListeners(); m_Button_OnClick.AddListener(() => { needForWhiteModel.BuyReceive(id); }); } } } } private void LateUpdate() { if (IsWhetherToCount) { var NeedForWhite = needForWhiteModel.NeedForWhiteDic[Get_Id]; var buySateClass = needForWhiteModel.BuySate[Get_Id]; TimeSpan ts1 = (DateTime.Now - buySateClass.dateTime); int _second = (int)ts1.TotalSeconds + buySateClass.receive; if (NeedForWhite.ReturnTime - _second > 0) { TimeLeftSecond(NeedForWhite.ReturnTime - _second); } else { IsWhetherToCount = false; m_ButtonImage.gray = false; m_Text_Button.text = Language.Get("Z1043"); m_Button_OnClick.RemoveAllListeners(); m_Button_OnClick.AddListener(() => { needForWhiteModel.BuyReceive(Get_Id); }); } } else { IsWhetherToCount = false; } } private void TimeLeftSecond(int second) { string timeString = string.Empty; TimeSpan ts = new TimeSpan(second * TimeSpan.TicksPerSecond); int Day = (int)ts.TotalDays; int hour = (int)ts.TotalHours % 24; int minute = (int)ts.TotalMinutes % 60; int _second = (int)ts.TotalSeconds % 60; if (ts.TotalDays > 0)//天 { timeString = Day + Language.Get("L1074") + hour + Language.Get("Hour") + minute + Language.Get("Minute") + _second + Language.Get("RealmWin_Bewrite_35"); } else if (ts.TotalHours > 0)//时 { timeString = 0 + Language.Get("L1074") + hour + Language.Get("Hour") + minute + Language.Get("Minute") + _second + Language.Get("RealmWin_Bewrite_35"); } else if (ts.TotalMinutes > 0)//分 { timeString = 0 + Language.Get("L1074") + 0 + Language.Get("Hour") + minute + Language.Get("Minute") + _second + Language.Get("RealmWin_Bewrite_35"); } else//秒 { timeString = 0 + Language.Get("L1074") + 0 + Language.Get("Hour") + 0 + Language.Get("Minute") + _second + Language.Get("RealmWin_Bewrite_35"); } m_Text_Button.text = string.Format(Language.Get("Time_Left"), timeString); } public void PurchaseBulletBox(int ID) { var NeedForWhite = needForWhiteModel.NeedForWhiteDic[ID]; int Money = (int)UIHelper.GetMoneyCnt(1); if (Money >= NeedForWhite.NeedMoney) { ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), string.Format(Language.Get("Consumption_Tips"), NeedForWhite.NeedMoney, NeedForWhite.Name, NeedForWhite.NeedMoney, NeedForWhite.Day), (bool isOk) => { if (isOk) { needForWhiteModel.BuyReceive(ID); } }); } else { WindowCenter.Instance.Open(); } } } }