From cdc87413b30e6aff4a9aaa1bbc8fc778ad073bb4 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期一, 13 八月 2018 16:05:15 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 Fight/PreFightMission.cs                                                       |  116 ++++++++++++++++++++++++++++++++------
 System/Welfare/MultipleExpWin.cs                                               |    5 +
 System/Welfare/OperationTimeHepler.cs                                          |   17 ++---
 System/DailyQuest/ResourcesBackModel.cs                                        |    3 +
 Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA349_tagMCRecoverNum.cs |    7 -
 System/DailyQuest/ResourcesBackBoxBack.cs                                      |    2 
 Fight/Stage/Dungeon/DungeonStage.cs                                            |    2 
 Core/NetworkPackage/ServerPack/HA3_Function/HA349_tagMCRecoverNum.cs           |    6 +
 8 files changed, 121 insertions(+), 37 deletions(-)

diff --git a/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA349_tagMCRecoverNum.cs b/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA349_tagMCRecoverNum.cs
index c48e1fb..47daf0c 100644
--- a/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA349_tagMCRecoverNum.cs
+++ b/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA349_tagMCRecoverNum.cs
@@ -4,10 +4,7 @@
 
 // A3 49 资源找回次数 #tagMCRecoverNum
 
-
-
-public class DTCA349_tagMCRecoverNum : DtcBasic {
-
+public class DTCA349_tagMCRecoverNum : DtcBasic {

     ResourcesBackModel m_ResourcesBackModel;
     ResourcesBackModel onResourcesBackModel { get { return m_ResourcesBackModel ?? (m_ResourcesBackModel = ModelCenter.Instance.GetModel<ResourcesBackModel>()); } }
     public override void Done(GameNetPackBasic vNetPack)
@@ -21,5 +18,5 @@
         onResourcesBackModel.ResourcesBackAcceptance(vNetData);
 
 
-    }

+    }
 }

diff --git a/Core/NetworkPackage/ServerPack/HA3_Function/HA349_tagMCRecoverNum.cs b/Core/NetworkPackage/ServerPack/HA3_Function/HA349_tagMCRecoverNum.cs
index 001c2de..4124c9a 100644
--- a/Core/NetworkPackage/ServerPack/HA3_Function/HA349_tagMCRecoverNum.cs
+++ b/Core/NetworkPackage/ServerPack/HA3_Function/HA349_tagMCRecoverNum.cs
@@ -5,7 +5,7 @@
 

 public class HA349_tagMCRecoverNum : GameNetPackBasic {

     public byte Num;    // 找回信息数

-    public  tagMCRecoverNumInfo[] NumInfo = null;    // 找回信息列表

+    public  tagMCRecoverNumInfo[] NumInfo;    // 找回信息列表

 

     public HA349_tagMCRecoverNum () {

         _cmd = (ushort)0xA349;

@@ -20,6 +20,7 @@
             TransBytes (out NumInfo[i].RecoverCnt, vBytes, NetDataType.BYTE);

             TransBytes (out NumInfo[i].ExtraCnt, vBytes, NetDataType.BYTE);

             TransBytes (out NumInfo[i].ExtraData, vBytes, NetDataType.BYTE);

+            TransBytes (out NumInfo[i].ExtraData2, vBytes, NetDataType.BYTE);

         }

     }

 

@@ -27,7 +28,8 @@
         public byte Index;        // 找回项索引

         public byte RecoverCnt;        // 可找回次数

         public byte ExtraCnt;        // VIP额外次数

-        public byte ExtraData;        // 额外参数

+        public byte ExtraData;        // 额外参数1

+        public byte ExtraData2;        // 额外参数2

     }

 

 }

diff --git a/Fight/PreFightMission.cs b/Fight/PreFightMission.cs
index 699a06c..54979b5 100644
--- a/Fight/PreFightMission.cs
+++ b/Fight/PreFightMission.cs
@@ -102,22 +102,6 @@
         UILoader.LoadPrefab(_actorShowConfig.cam);
     }
 
-    public void CreateAllMissionNpc()
-    {
-        if (s_MissionDict.Count == 0)
-        {
-            return;
-        }
-
-        foreach (var _mission in s_MissionDict.Values)
-        {
-            if (_mission.status == 1)
-            {
-                HandlerMission(_mission.id);
-            }
-        }
-    }
-
     public void HandleNewPlayerMission(H0820_tagMissionDict h0820)
     {
         if (h0820.MissionID == 1)
@@ -190,6 +174,7 @@
 
     public void Start()
     {
+        mDestroy = false;
         NewGuideModel _model = ModelCenter.Instance.GetModel<NewGuideModel>();
         _model.arrowScale = 1;
 
@@ -445,13 +430,20 @@
         GA_Hero _hero = PlayerDatas.Instance.hero;
         while (true)
         {
+            if (mDestroy)
+            {
+                yield break;
+            }
             if (_hero.IsIdle())
             {
                 break;
             }
             yield return null;
         }
-        PlayerDatas.Instance.hero.MoveToPosition(pos);
+        if (!mDestroy)
+        {
+            PlayerDatas.Instance.hero.MoveToPosition(pos);
+        }
     }
 
     private void HandlerMission(uint missionId)
@@ -468,7 +460,6 @@
 
         if (s_MissionDict.ContainsKey(missionId))
         {
-            DesignDebug.LogFormat("宸茬粡鍒涘缓杩囩殑浠诲姟ID: {0}", missionId);
             return;
         }
 
@@ -1532,6 +1523,95 @@
 
         DesignDebug.Log("鍓嶆湡缁撴潫...");
     }
+    private bool mDestroy = false;
+    public void Destroy()
+    {
+        mDestroy = true;
+        if (m_FuncNpc != null)
+        {
+            GAMgr.Instance.ServerDie(m_FuncNpc.ServerInstID);
+            GAMgr.Instance.Release(m_FuncNpc);
+            m_FuncNpc = null;
+        }
+
+        missionNpcDict.Clear();
+        s_MissionDict.Clear();
+        s_MissionImpasseDict.Clear();
+        refreshNpcHandlerList.Clear();
+
+        if (m_SimpleTransfer)
+        {
+            Object.Destroy(m_SimpleTransfer.gameObject);
+            m_SimpleTransfer = null;
+        }
+
+        if (m_ObstacleEffect)
+        {
+            Object.Destroy(m_ObstacleEffect.gameObject);
+            m_ObstacleEffect = null;
+        }
+
+        if (m_HuaShouEffect)
+        {
+            Object.Destroy(m_HuaShouEffect.gameObject);
+            m_HuaShouEffect = null;
+        }
+
+        if (m_FabaoEffect)
+        {
+            SFXPlayUtility.Instance.Release(m_FabaoEffect);
+            m_FabaoEffect = null;
+        }
+
+        // 璧勬簮鍗歌浇
+        if (!AssetSource.sceneFromEditor)
+        {
+            UnityEngine.SceneManagement.SceneManager.UnloadSceneAsync("Map000_Xsdt");
+            AssetBundleUtility.Instance.UnloadAssetBundle("maps/map000_xsdt", true, false);
+        }
+
+        List<GActor> _list = GAMgr.Instance.GetTypeList(E_ActorClassType.NpcClientFightNorm);
+        if (_list != null)
+        {
+            for (int i = _list.Count - 1; i >= 0; --i)
+            {
+                GAMgr.Instance.ServerDie(_list[i].ServerInstID);
+                GAMgr.Instance.Release(_list[i]);
+            }
+        }
+
+        _list = GAMgr.Instance.GetTypeList(E_ActorClassType.NpcClientFightBoss);
+        if (_list != null)
+        {
+            for (int i = _list.Count - 1; i >= 0; --i)
+            {
+                GAMgr.Instance.ServerDie(_list[i].ServerInstID);
+                GAMgr.Instance.Release(_list[i]);
+            }
+        }
+
+        _list = GAMgr.Instance.GetTypeList(E_ActorClassType.NpcClientFunc);
+        if (_list != null)
+        {
+            for (int i = _list.Count - 1; i >= 0; --i)
+            {
+                GAMgr.Instance.ServerDie(_list[i].ServerInstID);
+                GAMgr.Instance.Release(_list[i]);
+            }
+        }
+
+        GameObjectPoolManager.Instance.UnLoadNPC(1000);
+        GameObjectPoolManager.Instance.UnLoadNPC(1003);
+        GameObjectPoolManager.Instance.UnLoadNPC(1006);
+        GameObjectPoolManager.Instance.UnLoadNPC(1007);
+        GameObjectPoolManager.Instance.UnLoadNPC(1008);
+        GameObjectPoolManager.Instance.UnLoadNPC(1009);
+
+        if (!AssetSource.mobFromEditor)
+        {
+            AssetBundleUtility.Instance.UnloadAssetBundle("mob/prefab_race_n017a", true, true);
+        }
+    }
 
     private SimpleMapTrasfer CreateTransfer()
     {
diff --git a/Fight/Stage/Dungeon/DungeonStage.cs b/Fight/Stage/Dungeon/DungeonStage.cs
index 7b8c3a7..6a6909e 100644
--- a/Fight/Stage/Dungeon/DungeonStage.cs
+++ b/Fight/Stage/Dungeon/DungeonStage.cs
@@ -122,7 +122,7 @@
             CameraController.Instance.StopShake();
         }
 
-        PreFightMission.Instance.refreshNpcHandlerList.Clear();
+        PreFightMission.Instance.Destroy();
         GAMgr.Instance.UnInit();
         DropItemManager.ReleaseAll();
         SFXPlayUtility.Instance.Unitialize();
diff --git a/System/DailyQuest/ResourcesBackBoxBack.cs b/System/DailyQuest/ResourcesBackBoxBack.cs
index 9b2fb87..e8b53f1 100644
--- a/System/DailyQuest/ResourcesBackBoxBack.cs
+++ b/System/DailyQuest/ResourcesBackBoxBack.cs
@@ -163,6 +163,7 @@
                     Equation.Instance.AddKeyValue("reLV", playerlv);
                     Equation.Instance.AddKeyValue("reExp", config.ReExp);
                     Equation.Instance.AddKeyValue("extraData", resourcesBackClass.ExtraData);
+                    Equation.Instance.AddKeyValue("extraData2", resourcesBackClass.ExtraData2);
                     Equation.Instance.AddKeyValue("expRate", 1);
                     Equation.Instance.AddKeyValue("tjgExp", resourcesBackClass.TjgExp);
                     Image Icon = m_Coent.GetChild(i).Find("Icon").GetComponent<Image>();
@@ -304,6 +305,7 @@
                     Equation.Instance.AddKeyValue("reLV", playerlv);
                     Equation.Instance.AddKeyValue("reExp", config.ReExp);
                     Equation.Instance.AddKeyValue("extraData", resourcesBackClass.ExtraData);
+                    Equation.Instance.AddKeyValue("extraData2", resourcesBackClass.ExtraData2);
                     Equation.Instance.AddKeyValue("expRate", 1);
                     Equation.Instance.AddKeyValue("tjgExp", resourcesBackClass.TjgExp);
                     if (resourcesBackClass.RewardList[i] == "exp")
diff --git a/System/DailyQuest/ResourcesBackModel.cs b/System/DailyQuest/ResourcesBackModel.cs
index 66ee135..125ced3 100644
--- a/System/DailyQuest/ResourcesBackModel.cs
+++ b/System/DailyQuest/ResourcesBackModel.cs
@@ -25,6 +25,7 @@
         public int CostCopper; //閾滈挶鎵惧洖閾滈挶娑堣��
         public RewardRecovery CopperReward;//閾滈挶鎵惧洖濂栧姳
         public int ExtraData;//棰濆鍙傛暟
+        public int ExtraData2;//棰濆鍙傛暟2
         public string[] RewardList;//濂栧姳鍒楄〃
         public ulong TjgExp;//缁忛獙(鑴辨満鎸�)
         public int Times;//鍙壘鍥炴椂闂�
@@ -236,6 +237,7 @@
                     resourcesBackDic.RecoverCnt = vNetData.NumInfo[i].RecoverCnt;
                     resourcesBackDic.ExtraCnt = vNetData.NumInfo[i].ExtraCnt;
                     resourcesBackDic.ExtraData = vNetData.NumInfo[i].ExtraData;
+                    resourcesBackDic.ExtraData2 = vNetData.NumInfo[i].ExtraData2;
 
                 }
                 else
@@ -247,6 +249,7 @@
                     resourcesBackClass.RecoverCnt = vNetData.NumInfo[i].RecoverCnt;
                     resourcesBackClass.ExtraCnt = vNetData.NumInfo[i].ExtraCnt;
                     resourcesBackClass.ExtraData = vNetData.NumInfo[i].ExtraData;
+                    resourcesBackClass.ExtraData2 = vNetData.NumInfo[i].ExtraData2;
                     resourcesBackClass.RelatedID = configRB.RelatedID;
                     var configDQC = ConfigManager.Instance.GetTemplate<DailyQuestConfig>(configRB.RelatedID);//鏃ュ父浠诲姟琛�
                     resourcesBackClass.NameOfActivity = configDQC.Title;
diff --git a/System/Welfare/MultipleExpWin.cs b/System/Welfare/MultipleExpWin.cs
index c35d485..72b33c3 100644
--- a/System/Welfare/MultipleExpWin.cs
+++ b/System/Welfare/MultipleExpWin.cs
@@ -15,6 +15,7 @@
     public class MultipleExpWin : Window
     {
         [SerializeField] Text m_MultipleTime;
+        [SerializeField] Text m_MultipleDate;
         [SerializeField] Text m_ActivityRule;
         [SerializeField] Image m_MultipleIcon1;
         [SerializeField] Image m_MultipleIcon2;
@@ -64,6 +65,10 @@
             {
                 OperationMultiExp operation = operationBase as OperationMultiExp;
                 m_MultipleTime.text = operation.ToDisplayTime();
+                m_MultipleDate.text = StringUtility.Contact(Language.Get("OperationDate"), operation.startDate.ToDisplay(),
+                    operation.startDate == operation.endDate ? string.Empty : "鈥�",
+                    operation.startDate == operation.endDate ? string.Empty :
+                    operation.endDate.ToDisplay(operation.startDate.year != operation.endDate.year));
                 m_ActivityRule.text = Language.Get("MultipleExp_Rule_2", operation.GetMultipleCHS());
                 m_MultipleIcon1.SetSprite(StringUtility.Contact("MultipleExp_Icon_", operation.multiple / 10000));
                 m_MultipleIcon2.SetSprite(StringUtility.Contact("MultipleExp_Icon_", operation.multiple / 10000));
diff --git a/System/Welfare/OperationTimeHepler.cs b/System/Welfare/OperationTimeHepler.cs
index 916c5a3..203f306 100644
--- a/System/Welfare/OperationTimeHepler.cs
+++ b/System/Welfare/OperationTimeHepler.cs
@@ -890,17 +890,12 @@
         {
             var textBuilder = OperationTimeHepler.textBuilder;
             textBuilder.Length = 0;
-            textBuilder.Append(startDate.ToDisplay());
-            if (startDate == endDate)
-            {
-                textBuilder.Append("锛�");
-            }
-            else
-            {
-                textBuilder.Append("鈥�");
-                textBuilder.Append(endDate.ToDisplay(startDate.year != endDate.year));
-                textBuilder.Append("锛�");
-            }
+            //textBuilder.Append(startDate.ToDisplay());
+            //if (startDate != endDate)
+            //{
+            //    textBuilder.Append("鈥�");
+            //    textBuilder.Append(endDate.ToDisplay(startDate.year != endDate.year));
+            //}
             if (allDay)
             {
                 textBuilder.Append(Language.Get("OpenAllDay"));

--
Gitblit v1.8.0