From f73e114da1c2f00875373db9948c2bebdefb2657 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期日, 28 四月 2019 16:58:35 +0800
Subject: [PATCH] 3335 任务控制Npc显隐逻辑修改

---
 System/MainInterfacePanel/TaskModel.cs |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/System/MainInterfacePanel/TaskModel.cs b/System/MainInterfacePanel/TaskModel.cs
index a6faf4e..81b04ce 100644
--- a/System/MainInterfacePanel/TaskModel.cs
+++ b/System/MainInterfacePanel/TaskModel.cs
@@ -69,6 +69,9 @@
     public Dictionary<int, Dictionary<string, int>> ReplaceDic = new Dictionary<int, Dictionary<string, int>>();//key鍊兼浛鎹㈠瓧鍏�
     public Dictionary<int, RunTaskAwardRecord> AwardRecordDic = new Dictionary<int, RunTaskAwardRecord>();//璺戠幆濂栧姳璁板綍
     public Dictionary<int, int> NPCShowDic = new Dictionary<int, int>();//鍏充簬NPC鐨勬樉闅愰棶棰�
+
+    Dictionary<int, int> m_ShowNpcCache = new Dictionary<int, int>();
+
     public delegate void OnTaskToAdd(int MissionID, int MissionState, int DiscriptionIndex);
     public static event OnTaskToAdd Event_TaskToAdd;//浠诲姟娣诲姞
     public delegate void OnTaskRefreshes(int _taskId);
@@ -186,6 +189,7 @@
         ReplaceDic.Clear();
         AwardRecordDic.Clear();
         NPCShowDic.Clear();
+        m_ShowNpcCache.Clear();
         _conversation = null;
         _DefaultDialogContent = null;
         _TaskNow = 0;
@@ -1399,6 +1403,27 @@
 
     private void StorageNPCDic(uint taskId, string key, int Value)//鍏充簬NPC鐨勬樉闅�
     {
+        if (key.Equals("Show_{visit_npc_id}"))
+        {
+            m_ShowNpcCache[(int)taskId] = Value;
+            return;
+        }
+
+        if (key.Equals("visit_npc_id"))
+        {
+            if (m_ShowNpcCache.ContainsKey((int)taskId))
+            {
+                Task0820(new H0820_tagMissionDict()
+                {
+                    MissionID = taskId,
+                    DictKey = "Show_" + Value,
+                    DictValue = (uint)m_ShowNpcCache[(int)taskId],
+                });
+                m_ShowNpcCache.Remove((int)taskId);
+            }
+            return;
+        }
+
         string[] str = key.Split('_');
         if (str[0] == "Show")
         {

--
Gitblit v1.8.0