From a0ede150686a218c92b901b1f20aef12a9913890 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期五, 14 九月 2018 09:36:59 +0800
Subject: [PATCH] 1930【1.0.15】【主干】功能预告跳转八卦炉激活,功能预告界面未关闭
---
System/OpenServerActivity/OpenServerRedEnvelopeWin.cs | 557 +++++++++++++++++++++++++++----------------------------
1 files changed, 270 insertions(+), 287 deletions(-)
diff --git a/System/OpenServerActivity/OpenServerRedEnvelopeWin.cs b/System/OpenServerActivity/OpenServerRedEnvelopeWin.cs
index e56d8ce..9718d4c 100644
--- a/System/OpenServerActivity/OpenServerRedEnvelopeWin.cs
+++ b/System/OpenServerActivity/OpenServerRedEnvelopeWin.cs
@@ -1,287 +1,270 @@
-锘�//--------------------------------------------------------
-// [Author]: 绗簩涓栫晫
-// [ Date ]: Tuesday, April 24, 2018
-//--------------------------------------------------------
-
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-using UnityEngine.UI;
-using TableConfig;
-namespace Snxxz.UI {
-
- public class OpenServerRedEnvelopeWin : Window
- {
- [SerializeField] Text m_OSRedTitle;
- [SerializeField] Text m_AchieveCoolDown;
- [SerializeField] RectTransform m_ContainerAchievement;
- [SerializeField] RectTransform m_ContainerEnvelope;
- [SerializeField] RectTransform m_ContainerNoEnvelope;
- [SerializeField] Text m_AllGetJade;
- [SerializeField] Text m_EnvelopeCount;
- [SerializeField] Text m_EnvelopeTime;
- [SerializeField] ScrollerController m_RedAchieveControl;
- [SerializeField] ScrollerController m_RedEnvelopeControl;
-
- OSRedEnvelopeModel m_Model;
- OSRedEnvelopeModel model
- {
- get
- {
- return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<OSRedEnvelopeModel>());
- }
- }
-
- RedEnvelopeModel envelopeModel { get { return ModelCenter.Instance.GetModel<RedEnvelopeModel>(); } }
-
- AchievementModel m_AchievementModel;
- AchievementModel achieveModel
- {
- get
- {
- return m_AchievementModel ?? (m_AchievementModel = ModelCenter.Instance.GetModel<AchievementModel>());
- }
- }
-
- private int m_SelectType = 1;
-
- #region Built-in
- protected override void BindController()
- {
- }
-
- protected override void AddListeners()
- {
- m_RedEnvelopeControl.OnRefreshCell += OnRefreshCell;
- }
-
- protected override void OnPreOpen()
- {
- model.FuncChangeEvent += FuncChangeEvent;
- model.OSRedAchieveUpdateEvent += OSRedAchieveUpdateEvent;
- FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
- model.OSRedEnvelopeUpdateEvent += OSRedEnvelopeUpdateEvent;
- model.OSRedEnvelopeInfoEnvent += OSRedEnvelopeInfoEnvent;
- TimeUtility.OnServerOpenDayRefresh += OnServerOpenDayRefresh;
- UpdateOSRed();
- }
-
- protected override void OnAfterOpen()
- {
- if (model.autoOpen && m_SelectType == 2)
- {
- for (int i = 0; i < model.m_OSRedEnvelopes.Count; i++)
- {
- RedEnvelopeModel.RedEnvelope envelope;
- if (envelopeModel.TryGetEnvelope(model.m_OSRedEnvelopes[i], out envelope)
- && envelope.state == 1)
- {
- if (PlayerDatas.Instance.PlayerId == envelope.player
- || model.getEnvelopeTimes > 0)
- {
- ModelCenter.Instance.GetModel<PlayerRedPacketDatas>().RedBagId = envelope.id;
- WindowCenter.Instance.Open<RedOPenBGMWin>();
- }
- }
- }
- }
- model.autoOpen = false;
- }
-
- protected override void OnPreClose()
- {
- model.FuncChangeEvent -= FuncChangeEvent;
- model.OSRedAchieveUpdateEvent -= OSRedAchieveUpdateEvent;
- FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
- model.OSRedEnvelopeUpdateEvent -= OSRedEnvelopeUpdateEvent;
- model.OSRedEnvelopeInfoEnvent -= OSRedEnvelopeInfoEnvent;
- TimeUtility.OnServerOpenDayRefresh -= OnServerOpenDayRefresh;
- }
-
- protected override void OnAfterClose()
- {
- }
-
- private float m_Time = 0.0f;
- private float m_DelayTime = 0.5f;
-
- bool IsOutOffTime = false;
- protected override void LateUpdate()
- {
- base.LateUpdate();
-
- m_Time += Time.deltaTime;
- if (m_Time > m_DelayTime)
- {
- if (TimeUtility.OpenDay < model.openDays)
- {
- UpdateCoolDown();
- }
- if (!IsOutOffTime)
- {
- if (m_SelectType == 2)
- {
- UpdateAddTime();
- }
- }
- m_Time = 0;
- }
- }
- #endregion
-
- private void OnServerOpenDayRefresh()
- {
- UpdateCoolDown();
- UpdateAddTime();
- }
-
- private void UpdateCoolDown()
- {
- var t = model.overTime - TimeUtility.ServerNow;
- m_AchieveCoolDown.text = StringUtility.Contact(Language.Get("OSActivityCoolDown"),
- TimeUtility.SecondsToDHMSCHS((int)t.TotalSeconds));
- if (TimeUtility.OpenDay >= model.openDays)
- {
- m_AchieveCoolDown.color = UIHelper.GetUIColor(TextColType.NavyYellow);
- m_AchieveCoolDown.text = Language.Get("ActivityEnd");
- }
- else
- {
- m_AchieveCoolDown.color = UIHelper.GetUIColor(TextColType.LightGreen);
- }
- }
-
- private void FuncChangeEvent()
- {
- if (m_SelectType != model.selectType)
- {
- UpdateOSRed();
- }
- }
-
- private void OSRedAchieveUpdateEvent(int _achieve)
- {
- if (model.selectType != 1)
- {
- return;
- }
- Achievement achievement;
- if(achieveModel.TryGetAchievement(model.m_OSRedAchieveDict[_achieve].CurrentAchieve, out achievement))
- {
- if (Achievement.IsReach(achievement.id, achievement.progress))
- {
- UpdateOSRed();
- return;
- }
- }
- m_RedAchieveControl.m_Scorller.RefreshActiveCellViews();
- }
-
- private void OnFuncStateChangeEvent(int _func)
- {
- if (model.selectType == 1 && model.m_AllFuncs.Contains(_func))
- {
- UpdateOSRed();
- }
- }
-
- private void OSRedEnvelopeUpdateEvent()
- {
- if (model.selectType != 2)
- {
- return;
- }
- UpdateOSRed();
- }
-
- private void UpdateOSRed()
- {
- m_SelectType = model.selectType;
- m_OSRedTitle.text = m_SelectType == 1 ? Language.Get("OSAchievementTitle") : Language.Get("OSRedEnvelopeTitle");
- m_ContainerAchievement.gameObject.SetActive(m_SelectType == 1);
- m_ContainerEnvelope.gameObject.SetActive(m_SelectType == 2);
- IsOutOffTime = false;
- UpdateCoolDown();
- if (m_SelectType == 1)
- {
- m_RedAchieveControl.Refresh();
- model.m_OSRedAchieves.Sort(model.CompareAchievement);
- for (int i = 0; i < model.m_OSRedAchieves.Count; i++)
- {
- var _cfg = ConfigManager.Instance.GetTemplate<OSRedAchieveConfig>(model.m_OSRedAchieves[i]);
- if (_cfg.func == 0 || FuncOpen.Instance.IsFuncOpen(_cfg.func))
- {
- m_RedAchieveControl.AddCell(ScrollerDataType.Header, i);
- }
- }
- m_RedAchieveControl.Restart();
- }
- else
- {
- m_RedEnvelopeControl.Refresh();
- var _line = Mathf.CeilToInt((float)model.m_OSRedEnvelopes.Count / 5);
- for (int i = 0; i < _line; i++)
- {
- m_RedEnvelopeControl.AddCell(ScrollerDataType.Header, i);
- }
- m_RedEnvelopeControl.Restart();
- OSRedEnvelopeInfoEnvent();
- m_ContainerNoEnvelope.gameObject.SetActive(model.m_OSRedEnvelopes.Count == 0);
- }
- }
-
- private void OnRefreshCell(ScrollerDataType type, CellView _cell)
- {
- OSRedEnvelopeCell cell = _cell as OSRedEnvelopeCell;
- cell.Init(_cell.index);
- }
-
- private void OSRedEnvelopeInfoEnvent()
- {
- if (m_SelectType == 2)
- {
- m_AllGetJade.text = model.totalJadeGet.ToString();
- UpdateCounts();
- UpdateAddTime();
- }
- }
-
- private void UpdateAddTime()
- {
- var t = TimeUtility.ServerNow - model.coolDownTime;
- int _seconds = model.addSeconds - (int)t.TotalSeconds % model.addSeconds;
- if (TimeUtility.OpenDay >= model.openDays)
- {
- m_EnvelopeTime.color = UIHelper.GetUIColor(TextColType.NavyYellow);
- m_EnvelopeTime.text = StringUtility.Contact("(", Language.Get("ActivityEnd"), ")");
- IsOutOffTime = true;
- }
- else if (model.getEnvelopeTimes >= model.limitCount)
- {
- m_EnvelopeTime.color = UIHelper.GetUIColor(TextColType.LightGreen);
- m_EnvelopeTime.text = Language.Get("NumberOfArrivals_Z");
- IsOutOffTime = true;
- }
- else
- {
- m_EnvelopeTime.color = UIHelper.GetUIColor(TextColType.LightGreen);
- m_EnvelopeTime.text = StringUtility.Contact("(", TimeUtility.SecondsToHMS(_seconds), Language.Get("OSRedEnvelopeAddTimes"), ")");
- }
- }
-
- private void UpdateCounts()
- {
- if (model.getEnvelopeTimes < model.limitCount)
- {
- IsOutOffTime = false;
- }
- m_EnvelopeCount.text = Mathf.Min(model.limitCount, model.getEnvelopeTimes).ToString();
- }
- }
-
-}
-
-
-
-
+锘�//--------------------------------------------------------
+// [Author]: 绗簩涓栫晫
+// [ Date ]: Tuesday, April 24, 2018
+//--------------------------------------------------------
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+using TableConfig;
+namespace Snxxz.UI {
+
+ public class OpenServerRedEnvelopeWin : Window
+ {
+ [SerializeField] Text m_OSRedTitle;
+ [SerializeField] Text m_AchieveCoolDown;
+ [SerializeField] RectTransform m_ContainerAchievement;
+ [SerializeField] RectTransform m_ContainerEnvelope;
+ [SerializeField] RectTransform m_ContainerNoEnvelope;
+ [SerializeField] Text m_AllGetJade;
+ [SerializeField] Text m_EnvelopeCount;
+ [SerializeField] Text m_EnvelopeTime;
+ [SerializeField] ScrollerController m_RedAchieveControl;
+ [SerializeField] ScrollerController m_RedEnvelopeControl;
+
+ OSRedEnvelopeModel m_Model;
+ OSRedEnvelopeModel model
+ {
+ get
+ {
+ return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<OSRedEnvelopeModel>());
+ }
+ }
+
+ RedEnvelopeModel envelopeModel { get { return ModelCenter.Instance.GetModel<RedEnvelopeModel>(); } }
+
+ AchievementModel m_AchievementModel;
+ AchievementModel achieveModel
+ {
+ get
+ {
+ return m_AchievementModel ?? (m_AchievementModel = ModelCenter.Instance.GetModel<AchievementModel>());
+ }
+ }
+
+ private int m_SelectType = 1;
+
+ #region Built-in
+ protected override void BindController()
+ {
+ }
+
+ protected override void AddListeners()
+ {
+ m_RedEnvelopeControl.OnRefreshCell += OnRefreshCell;
+ }
+
+ protected override void OnPreOpen()
+ {
+ model.FuncChangeEvent += FuncChangeEvent;
+ model.OSRedAchieveUpdateEvent += OSRedAchieveUpdateEvent;
+ FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
+ model.OSRedEnvelopeUpdateEvent += OSRedEnvelopeUpdateEvent;
+ model.OSRedEnvelopeInfoEnvent += OSRedEnvelopeInfoEnvent;
+ TimeUtility.OnServerOpenDayRefresh += OnServerOpenDayRefresh;
+ WindowCenter.Instance.windowAfterOpenEvent += WindowAfterOpenEvent;
+ UpdateOSRed();
+ }
+
+ protected override void OnAfterOpen()
+ {
+
+ }
+
+ protected override void OnPreClose()
+ {
+ model.FuncChangeEvent -= FuncChangeEvent;
+ model.OSRedAchieveUpdateEvent -= OSRedAchieveUpdateEvent;
+ FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
+ model.OSRedEnvelopeUpdateEvent -= OSRedEnvelopeUpdateEvent;
+ model.OSRedEnvelopeInfoEnvent -= OSRedEnvelopeInfoEnvent;
+ TimeUtility.OnServerOpenDayRefresh -= OnServerOpenDayRefresh;
+ WindowCenter.Instance.windowAfterOpenEvent -= WindowAfterOpenEvent;
+ }
+
+ protected override void OnAfterClose()
+ {
+ }
+
+ private float m_Time = 0.0f;
+ private float m_DelayTime = 0.5f;
+
+ protected override void LateUpdate()
+ {
+ base.LateUpdate();
+
+ m_Time += Time.deltaTime;
+ if (m_Time > m_DelayTime)
+ {
+ if (TimeUtility.OpenDay < model.openDays)
+ {
+ UpdateCoolDown();
+ }
+ m_Time = 0;
+ }
+ }
+ #endregion
+
+ private void WindowAfterOpenEvent(Window win)
+ {
+ if (win is OpenServerActivityWin)
+ {
+ AutoOpenRedpack();
+ }
+ }
+
+ void AutoOpenRedpack()
+ {
+ if (model.autoOpen && m_SelectType == 2)
+ {
+ for (int i = 0; i < model.m_OSRedEnvelopes.Count; i++)
+ {
+ RedEnvelopeModel.RedEnvelope envelope;
+ if (envelopeModel.TryGetEnvelope(model.m_OSRedEnvelopes[i], out envelope)
+ && envelope.state == 1)
+ {
+ if (PlayerDatas.Instance.PlayerId == envelope.player
+ || model.getEnvelopeTimes > 0)
+ {
+ ModelCenter.Instance.GetModel<PlayerRedPacketDatas>().RedBagId = envelope.id;
+ WindowCenter.Instance.Open<RedOPenBGMWin>();
+ }
+ }
+ }
+ }
+ model.autoOpen = false;
+ }
+
+ private void OnServerOpenDayRefresh()
+ {
+ UpdateCoolDown();
+ }
+
+ private void UpdateCoolDown()
+ {
+ var t = model.overTime - TimeUtility.ServerNow;
+ m_AchieveCoolDown.text = StringUtility.Contact(Language.Get("OSActivityCoolDown"),
+ TimeUtility.SecondsToDHMSCHS((int)t.TotalSeconds));
+ if (TimeUtility.OpenDay >= model.openDays)
+ {
+ m_AchieveCoolDown.color = UIHelper.GetUIColor(TextColType.NavyYellow);
+ m_AchieveCoolDown.text = Language.Get("ActivityEnd");
+ }
+ else
+ {
+ m_AchieveCoolDown.color = UIHelper.GetUIColor(TextColType.LightGreen);
+ }
+ }
+
+ private void FuncChangeEvent()
+ {
+ if (m_SelectType != model.selectType)
+ {
+ UpdateOSRed();
+ }
+ }
+
+ private void OSRedAchieveUpdateEvent(int _achieve)
+ {
+ if (model.selectType != 1)
+ {
+ return;
+ }
+ Achievement achievement;
+ if(achieveModel.TryGetAchievement(model.m_OSRedAchieveDict[_achieve].CurrentAchieve, out achievement))
+ {
+ if (Achievement.IsReach(achievement.id, achievement.progress))
+ {
+ UpdateOSRed();
+ return;
+ }
+ }
+ m_RedAchieveControl.m_Scorller.RefreshActiveCellViews();
+ }
+
+ private void OnFuncStateChangeEvent(int _func)
+ {
+ if (model.selectType == 1 && model.m_AllFuncs.Contains(_func))
+ {
+ UpdateOSRed();
+ }
+ }
+
+ private void OSRedEnvelopeUpdateEvent()
+ {
+ if (model.selectType != 2)
+ {
+ return;
+ }
+ UpdateOSRed();
+ }
+
+ private void UpdateOSRed()
+ {
+ m_SelectType = model.selectType;
+ m_OSRedTitle.text = m_SelectType == 1 ? Language.Get("OSAchievementTitle") : Language.Get("OSRedEnvelopeTitle");
+ m_ContainerAchievement.gameObject.SetActive(m_SelectType == 1);
+ m_ContainerEnvelope.gameObject.SetActive(m_SelectType == 2);
+ UpdateCoolDown();
+ if (m_SelectType == 1)
+ {
+ m_RedAchieveControl.Refresh();
+ model.m_OSRedAchieves.Sort(model.CompareAchievement);
+ for (int i = 0; i < model.m_OSRedAchieves.Count; i++)
+ {
+ var _cfg = Config.Instance.Get<OSRedAchieveConfig>(model.m_OSRedAchieves[i]);
+ if (_cfg.func == 0 || FuncOpen.Instance.IsFuncOpen(_cfg.func))
+ {
+ m_RedAchieveControl.AddCell(ScrollerDataType.Header, i);
+ }
+ }
+ m_RedAchieveControl.Restart();
+ }
+ else
+ {
+ m_RedEnvelopeControl.Refresh();
+ var _line = Mathf.CeilToInt((float)model.m_OSRedEnvelopes.Count / 5);
+ for (int i = 0; i < _line; i++)
+ {
+ m_RedEnvelopeControl.AddCell(ScrollerDataType.Header, i);
+ }
+ m_RedEnvelopeControl.Restart();
+ OSRedEnvelopeInfoEnvent();
+ m_ContainerNoEnvelope.gameObject.SetActive(model.m_OSRedEnvelopes.Count == 0);
+ }
+ }
+
+ private void OnRefreshCell(ScrollerDataType type, CellView _cell)
+ {
+ OSRedEnvelopeCell cell = _cell as OSRedEnvelopeCell;
+ cell.Init(_cell.index);
+ }
+
+ private void OSRedEnvelopeInfoEnvent()
+ {
+ if (m_SelectType == 2)
+ {
+ m_AllGetJade.text = model.totalJadeGet.ToString();
+ UpdateCounts();
+ UpdateAddTime();
+ }
+ }
+
+ private void UpdateAddTime()
+ {
+ m_EnvelopeTime.text = Language.Get("OSRedEnvelopeAddTimes", model.addCounts);
+ }
+
+ private void UpdateCounts()
+ {
+ m_EnvelopeCount.text = model.getEnvelopeTimes.ToString();
+ }
+ }
+
+}
+
+
+
+
--
Gitblit v1.8.0