少年修仙传客户端代码仓库
client_linchunjie
2018-08-13 bd2c2f1bd3ab7624f62bae55b041b71c0bc352ce
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
9个文件已修改
432 ■■■■■ 已修改文件
Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA349_tagMCRecoverNum.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HA3_Function/HA349_tagMCRecoverNum.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/PreFightMission.cs 116 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Stage/Dungeon/DungeonStage.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/DailyQuest/ResourcesBackBoxBack.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/DailyQuest/ResourcesBackModel.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/ItemTipsModel.cs 179 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/PackModelInterface.cs 103 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/RuneTower/RuneTowerWin.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
    }
    }
}
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
    }
}
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()
    {
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();
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")
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;
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>();
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);
          
        }
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);