少年修仙传客户端代码仓库
client_linchunjie
2018-09-01 ca3c8fc746d0c7030357997ec1f2d98ac7c136c4
1792【bug】开服红包点击红包打开预制体背景错误
1个文件已修改
51 ■■■■■ 已修改文件
System/OpenServerActivity/OpenServerRedEnvelopeWin.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/OpenServerActivity/OpenServerRedEnvelopeWin.cs
@@ -64,29 +64,13 @@
            model.OSRedEnvelopeUpdateEvent += OSRedEnvelopeUpdateEvent;
            model.OSRedEnvelopeInfoEnvent += OSRedEnvelopeInfoEnvent;
            TimeUtility.OnServerOpenDayRefresh += OnServerOpenDayRefresh;
            WindowCenter.Instance.windowAfterOpenEvent += WindowAfterOpenEvent;
            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()
@@ -97,6 +81,7 @@
            model.OSRedEnvelopeUpdateEvent -= OSRedEnvelopeUpdateEvent;
            model.OSRedEnvelopeInfoEnvent -= OSRedEnvelopeInfoEnvent;
            TimeUtility.OnServerOpenDayRefresh -= OnServerOpenDayRefresh;
            WindowCenter.Instance.windowAfterOpenEvent -= WindowAfterOpenEvent;
        }
        protected override void OnAfterClose()
@@ -130,6 +115,36 @@
        }
        #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();