From 5dd4c4454f10890ca98c63b330be557a28e1c79e Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期六, 18 八月 2018 16:24:01 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 System/OpenServerActivity/OSRedEnvelopeModel.cs |   24 +++++++-----------------
 System/FairyAu/GiveRedBagTipsWin.cs             |    1 +
 System/FairyAu/PlayerRedPacketDatas.cs          |   23 +++++++++++++++++++++++
 3 files changed, 31 insertions(+), 17 deletions(-)

diff --git a/System/FairyAu/GiveRedBagTipsWin.cs b/System/FairyAu/GiveRedBagTipsWin.cs
index b8cb6f3..2eae54c 100644
--- a/System/FairyAu/GiveRedBagTipsWin.cs
+++ b/System/FairyAu/GiveRedBagTipsWin.cs
@@ -180,6 +180,7 @@
         protected override void OnAfterClose()
         {
             RedBagTipsWin._RedBagTipsWin._RedBool = false;
+            redPacket.RedEnvelopeID = redPacket.RedBagId;
         }
 
 
diff --git a/System/FairyAu/PlayerRedPacketDatas.cs b/System/FairyAu/PlayerRedPacketDatas.cs
index a2d0192..418fa3c 100644
--- a/System/FairyAu/PlayerRedPacketDatas.cs
+++ b/System/FairyAu/PlayerRedPacketDatas.cs
@@ -58,6 +58,8 @@
     private const int Redpoint_key1 = 1070202;
     public  Redpoint redPointStre1 = new Redpoint(10702, Redpoint_key1);
 
+    public int RedEnvelopeID = 0;//鍙戠孩鍖呯殑ID锛堢敤浜庨粯璁ゅ脊鍑哄紑锛�
+
     public override void Init()
     {
         PlayerDatas.Instance.fairyData.OnRefreshFairyMine += OnRefreshFairyMine;
@@ -71,6 +73,7 @@
     public void OnBeforePlayerDataInitialize()
     {
         UseLimit = 0;
+        RedEnvelopeID = 0;
         IsRedBagGetBool = false;
         RedBagId = 0;
     }
@@ -161,7 +164,11 @@
                     _DicRedBag[(int)info.RedPacketInfo[i].RedPacketID].State = (int)info.RedPacketInfo[i].State;
                     _DicRedBag[(int)info.RedPacketInfo[i].RedPacketID].Wish = (string)info.RedPacketInfo[i].Wish;
                     if (Event_RedEnvelopeToRefresh != null)
+                    {
                         Event_RedEnvelopeToRefresh(_DicRedBag[(int)info.RedPacketInfo[i].RedPacketID]);
+                        RedBagPoppingOpen();
+                    }
+                        
                 }
 
             }
@@ -173,6 +180,22 @@
         RedPacketRedDot();
     }
 
+    private void RedBagPoppingOpen()
+    {
+        if (_DicRedBag.ContainsKey(RedEnvelopeID) && WindowCenter.Instance.CheckOpen<RedBagTipsWin>())
+        {
+            var redBag = _DicRedBag[RedEnvelopeID];
+            if (redBag.GetWay != 5 && redBag.GetWay != 0 && redBag.PlayerID == PlayerDatas.Instance.PlayerId && redBag.State == 1)
+            {
+                RedBagId = RedEnvelopeID;
+                WindowCenter.Instance.Open<RedOPenBGMWin>();//鎵撳紑棰嗗彇鐣岄潰
+            }
+        }
+
+
+    }
+
+
     public void IsRedBagGet()
     {
         IsRedBagGetBool = false;
diff --git a/System/OpenServerActivity/OSRedEnvelopeModel.cs b/System/OpenServerActivity/OSRedEnvelopeModel.cs
index 43f4939..069a870 100644
--- a/System/OpenServerActivity/OSRedEnvelopeModel.cs
+++ b/System/OpenServerActivity/OSRedEnvelopeModel.cs
@@ -24,8 +24,7 @@
                 return m_RedEnvelopeModel ?? (m_RedEnvelopeModel = ModelCenter.Instance.GetModel<RedEnvelopeModel>());
             }
         }
-        PlayerRedPacketDatas m_RedPacket;
-        PlayerRedPacketDatas redPacket { get { return m_RedPacket ?? (m_RedPacket = ModelCenter.Instance.GetModel<PlayerRedPacketDatas>()); } }
+
         bool servereInited = false;
 
         public override void Init()
@@ -334,23 +333,14 @@
             if (envelopeModel.TryGetEnvelope(_id, out _envelope))
             {
                 if (_envelope.player == PlayerDatas.Instance.PlayerId &&
-                    _envelope.type != 0
+                    _envelope.type == OSRedEnvelopeType
                     && _envelope.state == 1)
                 {
-                    if (_envelope.type == OSRedEnvelopeType)
-                    {
-                        envelopeModel.cacheEnvelopeId = _envelope.id;
-                        envelopeModel.envelopeSfx = _envelope.id;
-                        CAB12_tagCMGrabFamilyRedPacket _pak = new CAB12_tagCMGrabFamilyRedPacket();
-                        _pak.RedPaketID = (uint)_envelope.id;
-                        GameNetSystem.Instance.SendInfo(_pak);
-                    }
-                    else
-                    {
-                        redPacket.RedBagId = _envelope.id;
-                        WindowCenter.Instance.Open<RedOPenBGMWin>();//鎵撳紑棰嗗彇鐣岄潰
-                    }
-                    
+                    envelopeModel.cacheEnvelopeId = _envelope.id;
+                    envelopeModel.envelopeSfx = _envelope.id;
+                    CAB12_tagCMGrabFamilyRedPacket _pak = new CAB12_tagCMGrabFamilyRedPacket();
+                    _pak.RedPaketID = (uint)_envelope.id;
+                    GameNetSystem.Instance.SendInfo(_pak);
                 }
             }
         }

--
Gitblit v1.8.0