From 6c625bf8c05cf809491f807d1c3ee58d26d2cf49 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期一, 11 三月 2019 20:59:04 +0800
Subject: [PATCH] Merge branch 'master' into Equip

---
 Fight/Stage/MapEditor/Game/ClientSceneManager.cs |   43 +++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 41 insertions(+), 2 deletions(-)

diff --git a/Fight/Stage/MapEditor/Game/ClientSceneManager.cs b/Fight/Stage/MapEditor/Game/ClientSceneManager.cs
index 060872b..72a4106 100644
--- a/Fight/Stage/MapEditor/Game/ClientSceneManager.cs
+++ b/Fight/Stage/MapEditor/Game/ClientSceneManager.cs
@@ -10,6 +10,7 @@
     private Dictionary<int, IEventHandler> m_EventHandlerDict = new Dictionary<int, IEventHandler>();
     private List<IEventHandler> m_ReadyRemoveEventHandlerList = new List<IEventHandler>();
     private Dictionary<int, uint> m_TriggerIDToMissionIDDict = new Dictionary<int, uint>();
+    private Dictionary<int, TriggerHandler> m_TriggerHandlerDict = new Dictionary<int, TriggerHandler>();
     private List<int> m_ReadyRemoveTriggerList = new List<int>();
     private Dictionary<int, List<GActorNpcFight>> m_EventActorDict = new Dictionary<int, List<GActorNpcFight>>();
 
@@ -177,6 +178,8 @@
             m_TransferGroupList.Add(new TransferGroup(_trasfer));
         }
 
+        TriggerHandler.OnEnter += OnTriggerEnter;
+        TriggerHandler.OnExit += OnTriggerExit;
     }
 
     public void UnInit()
@@ -187,12 +190,22 @@
         }
         m_TransferGroupList.Clear();
 
+        ReConnectClear();
+
+        TriggerHandler.OnEnter -= OnTriggerEnter;
+        TriggerHandler.OnExit -= OnTriggerExit;
+
+        m_Inited = false;
+    }
+
+    public void ReConnectClear()
+    {
         foreach (var _triggerID in m_TriggerIDToMissionIDDict.Keys)
         {
             DelayUnTrigger(_triggerID);
         }
-
-        m_Inited = false;
+        m_TriggerIDToMissionIDDict.Clear();
+        m_TriggerHandlerDict.Clear();
     }
 
     public void Update()
@@ -200,6 +213,11 @@
         foreach (var _trasfer in m_TransferGroupList)
         {
             _trasfer.Update();
+        }
+
+        foreach (var _triggerHandler in m_TriggerHandlerDict.Values)
+        {
+            _triggerHandler.Update();
         }
 
         m_ReadyRemoveEventHandlerList.Clear();
@@ -248,6 +266,7 @@
 
     private IEnumerator DelayTrigger(uint missionID, int triggerID)
     {
+        // ID涓�0, 绾﹀畾涓烘竻绌鸿Е鍙�
         if (triggerID == 0)
         {
             yield return SnxxzGame.Instance.StartCoroutine(DelayUnTrigger(triggerID));
@@ -285,6 +304,8 @@
                 continue;
             }
 
+            var _triggerHandler = new TriggerHandler(_trigger);
+            m_TriggerHandlerDict[_trigger.id] = _triggerHandler;
             foreach (var _eventID in _trigger.evevntIDs)
             {
                 if (!m_MapData.eventDict.ContainsKey(_eventID))
@@ -304,4 +325,22 @@
             break;
         }
     }
+
+    private void OnTriggerEnter(int id)
+    {
+        Debug.Log("杩涘叆浜嗚Е鍙戝櫒鑼冨洿: " + id);
+    }
+
+    private void OnTriggerExit(int id)
+    {
+        if (m_TriggerHandlerDict.ContainsKey(id))
+        {
+            Debug.Log("閫�鍑轰簡瑙﹀彂鍣ㄨ寖鍥�: " + id);
+            CA225_tagCMClientTaskCount _a225 = new CA225_tagCMClientTaskCount
+            {
+                CountID = 10000
+            };
+            GameNetSystem.Instance.SendInfo(_a225);
+        }
+    }
 }
\ No newline at end of file

--
Gitblit v1.8.0