private void OnArenaInfoListener(string path, INodeData data) { info = data as HonorArenaInfo; string oldText = ScoreLabel.text.ToString(); ScoreLabel.text = info.point; StoneLabel.text = info.ticket.ToString(); UpdateIdelReward(); if (!String.IsNullOrEmpty(oldText) && !String.IsNullOrEmpty(info.point) && !info.point.Equals(oldText)) { Messenger.Raise(EventName.HonorArenaRankNeedReq); } }
private void UpdateIdelReward() { HonorArenaInfo info = HonorArenaManager.Instance.Info; // EB.Debug.Log(EB.Time.FromPosixTime(info.last_one_hour).ToLocalTime()); int onehoursNum = 0; long ts = EB.Time.Now - info.last_one_hour; if (info.last_one_hour > 0 && ts > 0) { hour = (int)(ts / (10 * 60)); onehoursNum = HonorArenaConfig.Instance.GetOneHourByReward(rank); } reward = info.reward + (hour * onehoursNum / 6); reward = Math.Min(reward, HonorArenaConfig.Instance.GetHonorArenaUpperLimit()); RewardBtnRedPoint.CustomSetActive(reward > onehoursNum); ProgressBar.value = HonorArenaConfig.Instance.GetHonorArenaUpperLimit() == 0 ? 0 : reward * 1.0f / HonorArenaConfig.Instance.GetHonorArenaUpperLimit(); string forme = "{0}/" + HonorArenaConfig.Instance.GetHonorArenaUpperLimit(); ProgressBarLabel.text = string.Format(forme, reward); }