public void StartTimer() { if (IsFree) { PlayerPrefs.SetString("PropFreeTimeStamp_For" + propData.Type.ToString(), Statics.GetNowTimeStamp().ToString()); date = Statics.ConvertStringToDateTime(PlayerPrefs.GetString("PropFreeTimeStamp_For" + propData.Type.ToString())); double remain = remainSeconds(); timing = remain > 0; skipDate = Time.fixedTime; if (timing) { TimerText.text = Statics.GetTime((int)remain); } TimerText.gameObject.SetActive(timing); PayBtn.gameObject.SetActive(!timing); } }
/// <summary> /// 请求资源累加数据 /// </summary> /// <param name="data">Data.</param> public void ModifyResourcesEcho(JArray data) { modifyTimeout = (int)data[0] + 1; List <ResourceData> receiveResources = JsonManager.GetInstance().DeserializeObject <List <ResourceData> >(data[1].ToString()); List <ResourceData> _receiveResources = JsonManager.GetInstance().DeserializeObject <List <ResourceData> >(data[2].ToString()); Timer.RemoveTimer("WorkshopModifyResourceTimer"); timerText.text = string.Format("下次刷新: {0}", Statics.GetTime(modifyTimeout)); Timer.AddTimer("WorkshopModifyResourceTimer", modifyTimeout, (timer) => { timerText.text = string.Format("下次刷新: {0}", Statics.GetTime(timer.Second)); }, (timer) => { timerText.text = string.Format("下次刷新: {0}", Statics.GetTime(timer.Second)); Messenger.Broadcast(NotifyTypes.ModifyResources); }); ResourceData receive; WorkshopResourceContainer findContainer; string msg = ""; for (int i = 0; i < receiveResources.Count; i++) { receive = receiveResources[i]; if (receive.Num != 0) { msg += string.Format("<color=\"{2}\">{0} {1}</color>\n", Statics.GetResourceName(receive.Type), (receive.Num > 0 ? ("+" + receive.Num.ToString()) : receive.Num.ToString()), receive.Num > 0 ? "#00FF00" : "#FF0000"); if (toggleGroup0.gameObject.activeSelf) { findContainer = resourceContainers.Find(item => item.Type == receive.Type); //更新资源的工作家丁数 if (findContainer != null) { findContainer.UpdateNum(receive.Num); } } } } if (msg != "") { Statics.CreatePopMsg(Vector3.zero, msg, Color.white, 30); } //刷新产出总量 if (_receiveResources.Count > 0) { resultResources = _receiveResources; RefreshResultResourcesView(); } }
void Update() { if (timing) { float dt = Time.fixedTime; if (dt - skipDate > skipTimeout) { skipDate = dt; double remain = remainSeconds(); TimerText.text = Statics.GetTime((int)remain); if (remain < 0) { timing = false; TimerText.gameObject.SetActive(timing); PayBtn.gameObject.SetActive(!timing); } } } }
public void RefreshView() { switch (propData.Type) { case PropType.NocturnalClothing: IconImage.sprite = PropSprites[0]; break; case PropType.Bodyguard: IconImage.sprite = PropSprites[1]; break; case PropType.LimePowder: IconImage.sprite = PropSprites[2]; break; case PropType.Scout: IconImage.sprite = PropSprites[3]; break; default: break; } date = DateTime.MinValue; timing = false; if (IsFree) { if (!string.IsNullOrEmpty(PlayerPrefs.GetString("PropFreeTimeStamp_For" + propData.Type.ToString()))) { date = Statics.ConvertStringToDateTime(PlayerPrefs.GetString("PropFreeTimeStamp_For" + propData.Type.ToString())); double remain = remainSeconds(); timing = remain > 0; skipDate = Time.fixedTime; if (timing) { TimerText.text = Statics.GetTime((int)remain); } } } TimerText.gameObject.SetActive(timing); PayBtn.gameObject.SetActive(!timing); }
// Use this for initialization void Start() { EventTriggerListener.Get(PayBtn.gameObject).onClick = onClick; date = DateTime.MinValue; timing = false; if (IsFree) { if (!string.IsNullOrEmpty(PlayerPrefs.GetString("BankFreeTimeStamp"))) { date = Statics.ConvertStringToDateTime(PlayerPrefs.GetString("BankFreeTimeStamp")); double remain = remainSeconds(); timing = remain > 0; skipDate = Time.fixedTime; if (timing) { TimerText.text = Statics.GetTime((int)remain); } } } TimerText.gameObject.SetActive(timing); PayBtn.gameObject.SetActive(!timing); }