From bd2c2f1bd3ab7624f62bae55b041b71c0bc352ce Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期一, 13 八月 2018 15:45:34 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 Fight/PreFightMission.cs                                                       |  116 ++++++++++++--
 System/KnapSack/Logic/PackModelInterface.cs                                    |  103 ++++++------
 System/DailyQuest/ResourcesBackModel.cs                                        |    3 
 Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA349_tagMCRecoverNum.cs |    7 
 System/KnapSack/Logic/ItemTipsModel.cs                                         |  179 +++++++++++-----------
 System/RuneTower/RuneTowerWin.cs                                               |   14 +
 System/DailyQuest/ResourcesBackBoxBack.cs                                      |    2 
 Fight/Stage/Dungeon/DungeonStage.cs                                            |    2 
 Core/NetworkPackage/ServerPack/HA3_Function/HA349_tagMCRecoverNum.cs           |    6 
 9 files changed, 262 insertions(+), 170 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/KnapSack/Logic/ItemTipsModel.cs b/System/KnapSack/Logic/ItemTipsModel.cs
index 964511a..c768a91 100644
--- a/System/KnapSack/Logic/ItemTipsModel.cs
+++ b/System/KnapSack/Logic/ItemTipsModel.cs
@@ -1648,118 +1648,115 @@
             this.ChildType = childType;
             this.isCustom = false;
             this.extraInfos = null;
-            if (type == PackType.rptEquip)
-            {
-                Dictionary<int, EquipmentInitialization> p_strengInfoDict = strengthengmodel._EqInfo;
-                if (p_strengInfoDict.ContainsKey(index))
-                {
-                    SetStrengthData(strengthengmodel.StrengthenTheCeiling(index), strengthengmodel.GameDefineIndex(index));
-                }
-
-                WashProCount washPro = washModel.GetWashEquipInfo(index);
-                if (washPro != null)
-                {
-                    SetWashModel(washModel.OnGetWashType(index), washPro.XLAttrLV, washModel.WashProValues(index));
-                }
-                SetGemModel(PlayerStoneData.Instance.GetStoneInfo(index));
-                SetSuitData(itemId,index);
-            } 
-            
-            SetLegendData(GetUseDataModel(17), GetUseDataModel(19));
-            SetExhaustedData(GetUseDataModel(21),GetUseDataModel(23));
-            SetWingsRefineMat(GetUseDataModel((int)ItemUseDataKey.Def_IudetWingMaterialItemID),GetUseDataModel((int)ItemUseDataKey.Def_IudetWingMaterialItemCount));
             isHavePutLimit = true;
-
-            if (GetUseDataModel(20) != null)
+            this.isCustom = CheckIsCustomItem();
+            if(isCustom)
             {
-                if (GetUseDataModel(20)[0] == 1)
+                AppointItemConfig appointItemConfig = ConfigManager.Instance.GetTemplate<AppointItemConfig>(itemId);
+                if (appointItemConfig != null)
                 {
-                    isHavePutLimit = false;
+                    if (appointItemConfig.CancelUseLimit == 1)
+                    {
+                        isHavePutLimit = false;
+                    }
+                    SetCustomAttrData(appointItemConfig);
                 }
+                this.itemId = itemConfig.EffectValueA1;
+                this.itemConfig = ConfigManager.Instance.GetTemplate<ItemConfig>(this.itemId);
             }
             else
             {
-                this.isCustom = CheckIsCustomItem();
-                if (this.isCustom)
+                if (isPreview)
                 {
-                    AppointItemConfig appointItemConfig = ConfigManager.Instance.GetTemplate<AppointItemConfig>(itemId);
-                    if (appointItemConfig != null)
+                    List<int> legendIdlist = new List<int>();
+                    List<int> legendValuelist = new List<int>();
+                    if (itemConfig.EquipPlace != (int)RoleEquipType.retWing)
                     {
-                        if (appointItemConfig.CancelUseLimit == 1)
+                        if (itemTipsModel.legendAttrIDPreviewDict.ContainsKey(itemConfig.EquipPlace))
                         {
-                            isHavePutLimit = false;
+                            foreach (var attrType in itemTipsModel.legendAttrIDPreviewDict[itemConfig.EquipPlace].Keys)
+                            {
+                                switch (attrType)
+                                {
+                                    case LegendAttrType.Pursuit:
+                                        legendIdlist.AddRange(itemTipsModel.legendAttrIDPreviewDict[itemConfig.EquipPlace][attrType]);
+                                        break;
+                                    case LegendAttrType.Fixed:
+                                        legendIdlist.AddRange(itemTipsModel.legendAttrIDPreviewDict[itemConfig.EquipPlace][attrType]);
+                                        break;
+                                }
+                            }
                         }
-                        SetCustomAttrData(appointItemConfig);
+                        int i = 0;
+                        for (i = 0; i < legendIdlist.Count; i++)
+                        {
+                            if (itemTipsModel.legendAttrColorValuePreviewDict.ContainsKey(legendIdlist[i]))
+                            {
+                                if (itemTipsModel.legendAttrColorValuePreviewDict[legendIdlist[i]].ContainsKey(itemConfig.ItemColor))
+                                {
+                                    legendValuelist.Add(itemTipsModel.legendAttrColorValuePreviewDict[legendIdlist[i]][itemConfig.ItemColor]);
+                                }
+                            }
+                            else if (itemTipsModel.legendAttrLvValuePreviewDict.ContainsKey(legendIdlist[i]))
+                            {
+                                if (itemTipsModel.legendAttrLvValuePreviewDict[legendIdlist[i]].ContainsKey(itemConfig.LV))
+                                {
+                                    legendValuelist.Add(itemTipsModel.legendAttrLvValuePreviewDict[legendIdlist[i]][itemConfig.LV]);
+                                }
+                            }
+                        }
                     }
-                    this.itemId = itemConfig.EffectValueA1;
-                    this.itemConfig = ConfigManager.Instance.GetTemplate<ItemConfig>(this.itemId);
+                    else
+                    {
+                        if (itemTipsModel.wingsLegendAttrValuePreviewDict.ContainsKey(itemConfig.LV))
+                        {
+                            Dictionary<int, List<int>> attrIdDict = itemTipsModel.wingsLegendAttrValuePreviewDict[itemConfig.LV];
+                            foreach (var attrId in attrIdDict.Keys)
+                            {
+                                legendIdlist.Add(attrId);
+                                legendValuelist.Add(attrIdDict[attrId][0]);
+                            }
 
-                  
+                        }
+                    }
+
+                    if (legendIdlist.Count == legendValuelist.Count)
+                    {
+                        SetLegendData(legendIdlist, legendValuelist);
+                    }
                 }
                 else
                 {
-                    if(isPreview)
+                    if (GetUseDataModel(20) != null)
                     {
-                        List<int> legendIdlist = new List<int>();
-                        List<int> legendValuelist = new List<int>();
-                        if(itemConfig.EquipPlace != (int)RoleEquipType.retWing)
+                        if (GetUseDataModel(20)[0] == 1)
                         {
-                            if (itemTipsModel.legendAttrIDPreviewDict.ContainsKey(itemConfig.EquipPlace))
-                            {
-                                foreach (var attrType in itemTipsModel.legendAttrIDPreviewDict[itemConfig.EquipPlace].Keys)
-                                {
-                                    switch (attrType)
-                                    {
-                                        case LegendAttrType.Pursuit:
-                                            legendIdlist.AddRange(itemTipsModel.legendAttrIDPreviewDict[itemConfig.EquipPlace][attrType]);
-                                            break;
-                                        case LegendAttrType.Fixed:
-                                            legendIdlist.AddRange(itemTipsModel.legendAttrIDPreviewDict[itemConfig.EquipPlace][attrType]);
-                                            break;
-                                    }
-                                }
-                            }
-                            int i = 0;
-                            for (i = 0; i < legendIdlist.Count; i++)
-                            {
-                                if (itemTipsModel.legendAttrColorValuePreviewDict.ContainsKey(legendIdlist[i]))
-                                {
-                                    if (itemTipsModel.legendAttrColorValuePreviewDict[legendIdlist[i]].ContainsKey(itemConfig.ItemColor))
-                                    {
-                                        legendValuelist.Add(itemTipsModel.legendAttrColorValuePreviewDict[legendIdlist[i]][itemConfig.ItemColor]);
-                                    }
-                                }
-                                else if (itemTipsModel.legendAttrLvValuePreviewDict.ContainsKey(legendIdlist[i]))
-                                {
-                                    if (itemTipsModel.legendAttrLvValuePreviewDict[legendIdlist[i]].ContainsKey(itemConfig.LV))
-                                    {
-                                        legendValuelist.Add(itemTipsModel.legendAttrLvValuePreviewDict[legendIdlist[i]][itemConfig.LV]);
-                                    }
-                                }
-                            }
-                        }
-                        else
-                        {
-                            if(itemTipsModel.wingsLegendAttrValuePreviewDict.ContainsKey(itemConfig.LV))
-                            {
-                                Dictionary<int, List<int>> attrIdDict = itemTipsModel.wingsLegendAttrValuePreviewDict[itemConfig.LV];
-                                foreach (var attrId in  attrIdDict.Keys)
-                                {
-                                    legendIdlist.Add(attrId);
-                                    legendValuelist.Add(attrIdDict[attrId][0]);
-                                }
-                               
-                            }
-                        }
-
-                        if (legendIdlist.Count == legendValuelist.Count)
-                        {
-                            SetLegendData(legendIdlist,legendValuelist);
+                            isHavePutLimit = false;
                         }
                     }
+
+                    if (type == PackType.rptEquip)
+                    {
+                        Dictionary<int, EquipmentInitialization> p_strengInfoDict = strengthengmodel._EqInfo;
+                        if (p_strengInfoDict.ContainsKey(index))
+                        {
+                            SetStrengthData(strengthengmodel.StrengthenTheCeiling(index), strengthengmodel.GameDefineIndex(index));
+                        }
+
+                        WashProCount washPro = washModel.GetWashEquipInfo(index);
+                        if (washPro != null)
+                        {
+                            SetWashModel(washModel.OnGetWashType(index), washPro.XLAttrLV, washModel.WashProValues(index));
+                        }
+                        SetGemModel(PlayerStoneData.Instance.GetStoneInfo(index));
+                        SetSuitData(itemId, index);
+                    }
+
+                    SetLegendData(GetUseDataModel(17), GetUseDataModel(19));
+                    SetExhaustedData(GetUseDataModel(21), GetUseDataModel(23));
+                    SetWingsRefineMat(GetUseDataModel((int)ItemUseDataKey.Def_IudetWingMaterialItemID), GetUseDataModel((int)ItemUseDataKey.Def_IudetWingMaterialItemCount));
                 }
             }
-
             this.score = modelInterface.SetEquipScore(id,useDataDict,isPreview);
             PetEatEquipConfig petEatConfig = PetEatEquipConfig.GetEquipColorAndEquipClass(itemConfig.ItemColor,itemConfig.LV);//浠欑洘浠撳簱瑁呭绉垎鍏戞崲琛�
             this.unionWarehouseScore = 0;
@@ -1768,7 +1765,7 @@
                 this.unionWarehouseScore = petEatConfig.integrate;
             }
 
-            if(itemTipsModel.randomRuneIds.Contains(id))
+            if(itemTipsModel.randomRuneIds.Contains(this.itemId))
             {
                 Dictionary<int, List<int>> unlockRuneDict = runeModel.GetAllUnlockRuneIdlist();
                 List<string> extraInfos = new List<string>();
diff --git a/System/KnapSack/Logic/PackModelInterface.cs b/System/KnapSack/Logic/PackModelInterface.cs
index fe54c49..131d7b0 100644
--- a/System/KnapSack/Logic/PackModelInterface.cs
+++ b/System/KnapSack/Logic/PackModelInterface.cs
@@ -103,75 +103,74 @@
             specAttrDic.Clear();
             int id = itemId;
             ItemConfig itemConfig = ConfigManager.Instance.GetTemplate<ItemConfig>(itemId);
-            if(useDataDic != null)
+            if (CheckIsCustomItem(itemConfig))
             {
-                if(useDataDic.ContainsKey((int)ItemUseDataKey.Def_IudetLegendAttrID))
-                {
-                    SetLegendData(useDataDic[(int)ItemUseDataKey.Def_IudetLegendAttrID], useDataDic[(int)ItemUseDataKey.Def_IudetLegendAttrValue]);
-                }
-                
-                if(useDataDic.ContainsKey((int)ItemUseDataKey.Def_IudetOutOfPrintAttrID))
-                {
-                    SetExhaustedData(useDataDic[(int)ItemUseDataKey.Def_IudetOutOfPrintAttrID],useDataDic[(int)ItemUseDataKey.Def_IudetOutOfPrintAttrValue]);
-                }
-            
+                AppointItemConfig appointItemConfig = ConfigManager.Instance.GetTemplate<AppointItemConfig>(itemId);
+                SetCustomAttrData(appointItemConfig);
+                id = itemConfig.EffectValueA1;
             }
             else
             {
-                if (CheckIsCustomItem(itemConfig))
+                if (isPreview)
                 {
-                    AppointItemConfig appointItemConfig = ConfigManager.Instance.GetTemplate<AppointItemConfig>(itemId);
-                    SetCustomAttrData(appointItemConfig);
-                    id = itemConfig.EffectValueA1;
+                    List<int> legendIdlist = new List<int>();
+                    List<int> legendValuelist = new List<int>();
+                    if (itemTipsModel.legendAttrIDPreviewDict.ContainsKey(itemConfig.EquipPlace))
+                    {
+                        foreach (var attrType in itemTipsModel.legendAttrIDPreviewDict[itemConfig.EquipPlace].Keys)
+                        {
+                            switch (attrType)
+                            {
+                                case LegendAttrType.Pursuit:
+                                    legendIdlist.AddRange(itemTipsModel.legendAttrIDPreviewDict[itemConfig.EquipPlace][attrType]);
+                                    break;
+                                case LegendAttrType.Fixed:
+                                    legendIdlist.AddRange(itemTipsModel.legendAttrIDPreviewDict[itemConfig.EquipPlace][attrType]);
+                                    break;
+                            }
+                        }
+                    }
+                    int i = 0;
+                    for (i = 0; i < legendIdlist.Count; i++)
+                    {
+                        if (itemTipsModel.legendAttrColorValuePreviewDict.ContainsKey(legendIdlist[i]))
+                        {
+                            if (itemTipsModel.legendAttrColorValuePreviewDict[legendIdlist[i]].ContainsKey(itemConfig.ItemColor))
+                            {
+                                legendValuelist.Add(itemTipsModel.legendAttrColorValuePreviewDict[legendIdlist[i]][itemConfig.ItemColor]);
+                            }
+                        }
+                        else if (itemTipsModel.legendAttrLvValuePreviewDict.ContainsKey(legendIdlist[i]))
+                        {
+                            if (itemTipsModel.legendAttrLvValuePreviewDict[legendIdlist[i]].ContainsKey(itemConfig.LV))
+                            {
+                                legendValuelist.Add(itemTipsModel.legendAttrLvValuePreviewDict[legendIdlist[i]][itemConfig.LV]);
+                            }
+                        }
+                    }
+
+                    if (legendIdlist.Count == legendValuelist.Count)
+                    {
+                        SetLegendData(legendIdlist, legendValuelist);
+                    }
                 }
                 else
                 {
-                    if (isPreview)
+                    if (useDataDic != null)
                     {
-                        List<int> legendIdlist = new List<int>();
-                        List<int> legendValuelist = new List<int>();
-                        if (itemTipsModel.legendAttrIDPreviewDict.ContainsKey(itemConfig.EquipPlace))
+                        if (useDataDic.ContainsKey((int)ItemUseDataKey.Def_IudetLegendAttrID))
                         {
-                            foreach (var attrType in itemTipsModel.legendAttrIDPreviewDict[itemConfig.EquipPlace].Keys)
-                            {
-                                switch (attrType)
-                                {
-                                    case LegendAttrType.Pursuit:
-                                        legendIdlist.AddRange(itemTipsModel.legendAttrIDPreviewDict[itemConfig.EquipPlace][attrType]);
-                                        break;
-                                    case LegendAttrType.Fixed:
-                                        legendIdlist.AddRange(itemTipsModel.legendAttrIDPreviewDict[itemConfig.EquipPlace][attrType]);
-                                        break;
-                                }
-                            }
-                        }
-                        int i = 0;
-                        for (i = 0; i < legendIdlist.Count; i++)
-                        {
-                            if (itemTipsModel.legendAttrColorValuePreviewDict.ContainsKey(legendIdlist[i]))
-                            {
-                                if (itemTipsModel.legendAttrColorValuePreviewDict[legendIdlist[i]].ContainsKey(itemConfig.ItemColor))
-                                {
-                                    legendValuelist.Add(itemTipsModel.legendAttrColorValuePreviewDict[legendIdlist[i]][itemConfig.ItemColor]);
-                                }
-                            }
-                            else if (itemTipsModel.legendAttrLvValuePreviewDict.ContainsKey(legendIdlist[i]))
-                            {
-                                if (itemTipsModel.legendAttrLvValuePreviewDict[legendIdlist[i]].ContainsKey(itemConfig.LV))
-                                {
-                                    legendValuelist.Add(itemTipsModel.legendAttrLvValuePreviewDict[legendIdlist[i]][itemConfig.LV]);
-                                }
-                            }
+                            SetLegendData(useDataDic[(int)ItemUseDataKey.Def_IudetLegendAttrID], useDataDic[(int)ItemUseDataKey.Def_IudetLegendAttrValue]);
                         }
 
-                        if (legendIdlist.Count == legendValuelist.Count)
+                        if (useDataDic.ContainsKey((int)ItemUseDataKey.Def_IudetOutOfPrintAttrID))
                         {
-                            SetLegendData(legendIdlist, legendValuelist);
+                            SetExhaustedData(useDataDic[(int)ItemUseDataKey.Def_IudetOutOfPrintAttrID], useDataDic[(int)ItemUseDataKey.Def_IudetOutOfPrintAttrValue]);
                         }
+
                     }
                 }
             }
-
           return GetEquipScore(id,specAttrDic);
           
         }
diff --git a/System/RuneTower/RuneTowerWin.cs b/System/RuneTower/RuneTowerWin.cs
index 76add5b..c446264 100644
--- a/System/RuneTower/RuneTowerWin.cs
+++ b/System/RuneTower/RuneTowerWin.cs
@@ -21,6 +21,7 @@
         [SerializeField] RuneTowerBehaviour m_Tower;
         [SerializeField] Transform m_ContainerBossInfo;
         [SerializeField] PositionTween m_BossShowTween;
+        [SerializeField] Image m_BossRealm;
         [SerializeField] Text m_BossName;
         [SerializeField] Text m_BossLevel;
         [SerializeField] RawImage m_BossPortrait;
@@ -151,7 +152,7 @@
             if (latestPassedFloor > 0)
             {
                 var completedTime = dailyQuestModel.GetDailyQuestCompletedTimes((int)DailyQuestType.RuneTowerSweep);
-                if (completedTime>0)
+                if (completedTime > 0)
                 {
                     WindowCenter.Instance.Open<RuneTowerSweepBuyWin>();
                 }
@@ -170,6 +171,17 @@
         {
             var towerFloorConfig = ConfigManager.Instance.GetTemplate<RuneTowerFloorConfig>(model.selectedFloor);
             var npcConfig = ConfigManager.Instance.GetTemplate<NPCConfig>(towerFloorConfig.BossId);
+            if (npcConfig.Realm > 0)
+            {
+                m_BossRealm.gameObject.SetActive(true);
+                var realmConfig = ConfigManager.Instance.GetTemplate<RealmConfig>(npcConfig.Realm);
+                m_BossRealm.SetSprite(realmConfig.Img);
+            }
+            else
+            {
+                m_BossRealm.gameObject.SetActive(false);
+            }
+
             m_BossName.text = npcConfig.charName;
             m_BossLevel.text = Language.Get("HeadUpName_Monster", npcConfig.NPCLV);
 

--
Gitblit v1.8.0