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