コード例 #1
0
 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);
     }
 }
コード例 #2
0
        /// <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();
            }
        }
コード例 #3
0
 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);
             }
         }
     }
 }
コード例 #4
0
        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);
        }
コード例 #5
0
 // 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);
 }