少年修仙传客户端代码仓库
client_Zxw
2018-09-26 de09231b7f5ee64baa0fe61611f0468a40d47a0b
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
22个文件已修改
595 ■■■■■ 已修改文件
Core/GameEngine/Login/Launch.cs 147 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Actor/AI/AI_BossDSX.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GActorFight.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/AssetVersion/AssetVersionUtility.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/BlastFurnaceModel.cs 90 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/ClientVersion/VersionConfig.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/ClientVersion/VersionUtility.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Compose/New/ComposeWinModel.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/DogzDungeon/DogzBoxBehaviour.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/DogzDungeon/DogzDungeonBreifInfoBehaviour.cs 66 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/DogzDungeon/DogzDungeonWin.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/DogzDungeon/DogzEliteMonsterBehaviour.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/PackModelInterface.cs 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/PlayerPackModels.cs 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/PreciousItemGetBehaviour.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Login/LoginWin.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/InGamePushContainer.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/SystemSetting/SettingEffectMgr.cs 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Tip/PromoteDetailsWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasurePotentialPanel.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/WorldMap/LocalMapFindPath.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/WorldMap/MapModel.cs 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Login/Launch.cs
@@ -118,69 +118,6 @@
                progress = 0.1f;
                break;
        }
#endif
#if UNITY_IOS && !UNITY_EDITOR
        switch (VersionConfig.Get().assetAccess)
        {
            case InstalledAsset.FullAsset:
            case InstalledAsset.HalfAsset:
            case InstalledAsset.IngoreDownLoad:
                if (!SDKUtility.Instance.AssetCopyFinished)
                {
                    m_CurrentStage = LaunchStage.AssetCopy;
                    progressBuf = progress;
                    var allFiles = new List<FileInfo>();
                    FileExtersion.GetAllDirectoryFileInfos(ResourcesPath.Instance.StreamingAssetPath, allFiles);
                    var count = allFiles.Count;
                    var index = 0;
                    while (index < count)
                    {
                        try
                        {
                            var fileInfo = allFiles[index];
                            var destPath = fileInfo.FullName.Replace(ResourcesPath.Instance.StreamingAssetPath, ResourcesPath.Instance.ExternalStorePath);
                            if (File.Exists(destPath))
                            {
                                index++;
                                continue;
                            }
                            var destDirectoryName = Path.GetDirectoryName(destPath);
                            if (!Directory.Exists(destDirectoryName))
                            {
                                Directory.CreateDirectory(destDirectoryName);
                            }
                            DebugEx.LogFormat("拷贝文件:{0}", fileInfo.Name);
                            File.Copy(fileInfo.FullName, destPath, true);
                            index++;
                        }
                        catch (Exception ex)
                        {
                            DebugEx.Log(ex);
                        }
                        finally
                        {
                            progress = Mathf.Clamp(progressBuf + ((float)index / count) * 0.3f, progressBuf, progressBuf + 0.3f);
                        }
                        yield return null;
                    }
                    LocalSave.SetString("AssetCopyCompleted_IOS", VersionConfig.Get().version);
                }
                break;
            case InstalledAsset.NullAsset:
                progress = 0.1f;
                break;
        }
#endif
        OperationLogCollect.Instance.RecordLauchEvent(2);
        OperationLogCollect.Instance.RecordEvent(2);
        m_CurrentStage = LaunchStage.ClientVersion;
        if (!Application.isEditor || InGameDownTestUtility.enable)
@@ -197,6 +134,90 @@
                yield return null;
            }
        }
#endif
#if UNITY_IOS && !UNITY_EDITOR
        m_CurrentStage = LaunchStage.ClientVersion;
        if (!Application.isEditor || InGameDownTestUtility.enable)
        {
            VersionUtility.Instance.RequestVersionCheck();
            progressBuf = progress;
            timer = 0f;
            duration = 1f;
            while (!VersionUtility.Instance.completed)
            {
                timer += Time.deltaTime;
                progress = Mathf.Clamp(progressBuf + timer / duration * 0.1f, progressBuf, progressBuf + 0.1f);
                yield return null;
            }
        }
        if (VersionUtility.Instance.versionInfo != null && VersionUtility.Instance.versionInfo.downAsset == 1)
        {
            switch (VersionConfig.Get().assetAccess)
            {
                case InstalledAsset.FullAsset:
                case InstalledAsset.HalfAsset:
                case InstalledAsset.IngoreDownLoad:
                    if (!SDKUtility.Instance.AssetCopyFinished)
                    {
                        m_CurrentStage = LaunchStage.AssetCopy;
                        progressBuf = progress;
                        var allFiles = new List<FileInfo>();
                        FileExtersion.GetAllDirectoryFileInfos(ResourcesPath.Instance.StreamingAssetPath, allFiles);
                        var count = allFiles.Count;
                        var index = 0;
                        while (index < count)
                        {
                            try
                            {
                                var fileInfo = allFiles[index];
                                var destPath = fileInfo.FullName.Replace(ResourcesPath.Instance.StreamingAssetPath, ResourcesPath.Instance.ExternalStorePath);
                                if (File.Exists(destPath))
                                {
                                    index++;
                                    continue;
                                }
                                var destDirectoryName = Path.GetDirectoryName(destPath);
                                if (!Directory.Exists(destDirectoryName))
                                {
                                    Directory.CreateDirectory(destDirectoryName);
                                }
                                DebugEx.LogFormat("拷贝文件:{0}", fileInfo.Name);
                                File.Copy(fileInfo.FullName, destPath, true);
                                index++;
                            }
                            catch (Exception ex)
                            {
                                DebugEx.Log(ex);
                            }
                            finally
                            {
                                progress = Mathf.Clamp(progressBuf + ((float)index / count) * 0.3f, progressBuf, progressBuf + 0.3f);
                            }
                            yield return null;
                        }
                        LocalSave.SetString("AssetCopyCompleted_IOS", VersionConfig.Get().version);
                    }
                    break;
                case InstalledAsset.NullAsset:
                    progress = 0.1f;
                    break;
            }
        }
#endif
        OperationLogCollect.Instance.RecordLauchEvent(2);
        OperationLogCollect.Instance.RecordEvent(2);
        if (VersionUtility.Instance.versionInfo != null && VersionUtility.Instance.versionInfo.downAsset == 1)
        {
Fight/Actor/AI/AI_BossDSX.cs
@@ -337,7 +337,7 @@
            if (m_TimeCount > 0.75f)
            {
                PlayerDatas.Instance.hero.Behaviour.StopKillUntilDieAI();
                skillContainer.blinkSkill.GetComponent<SkillButton>().enabled = false;
                skillContainer.blinkSkill.transform.localScale = Vector3.one;
                Transform _temp = skillContainer.blinkSkill.transform.Find("Img_BackGround");
@@ -345,6 +345,8 @@
                _temp = WindowCenter.Instance.uiRoot.baseCanvas.Find("MainInterfaceWin/JoyStick");
                _temp.gameObject.SetActive(false);
                m_Step = 12;
                m_TimeCount = 0;
@@ -356,6 +358,7 @@
            if (m_TimeCount > 0.4f)
            {
                Time.timeScale = 0;
                skillContainer.blinkSkill.GetComponent<SkillButton>().enabled = true;
                GA_Hero.s_MapSwitching = true;
                NewGuideModel _model = ModelCenter.Instance.GetModel<NewGuideModel>();
                _model.showMask = true;
@@ -365,26 +368,28 @@
                _model.direction = 2;
                _model.pressedClose = false;
                _model.clickClosed = true;
                _model.onClose = null;
                // () =>
                // {
                //     Time.timeScale = 1;
                //     GA_Hero.s_MapSwitching = false;
                //     if (PreFightMission.Instance.m_HuaShouEffect)
                //     {
                //         EffectMgr.Instance.RecyleUIEffect(1050, PreFightMission.Instance.m_HuaShouEffect.gameObject);
                //         PreFightMission.Instance.m_HuaShouEffect = null;
                //     }
                _model.onClose = () =>
                {
                    Time.timeScale = 1;
                    GA_Hero.s_MapSwitching = false;
                    if (PreFightMission.Instance.m_HuaShouEffect)
                    {
                        EffectMgr.Instance.RecyleUIEffect(1050, PreFightMission.Instance.m_HuaShouEffect.gameObject);
                        PreFightMission.Instance.m_HuaShouEffect = null;
                    }
                //     if (m_UIEffect)
                //     {
                //         EffectMgr.Instance.RecyleUIEffect(m_UIEffect.effect, m_UIEffect.gameObject);
                //         m_UIEffect = null;
                //     }
                    PlayerDatas.Instance.hero.CastSkill(190);
                    if (m_UIEffect)
                    {
                        EffectMgr.Instance.RecyleUIEffect(m_UIEffect.effect, m_UIEffect.gameObject);
                        m_UIEffect = null;
                    }
                //     Transform _temp1 = WindowCenter.Instance.uiRoot.baseCanvas.Find("MainInterfaceWin/JoyStick");
                //     _temp1.gameObject.SetActive(true);
                // };
                    Transform _temp1 = WindowCenter.Instance.uiRoot.baseCanvas.Find("MainInterfaceWin/JoyStick");
                    _temp1.gameObject.SetActive(true);
                };
                WindowCenter.Instance.Open<NewGuideWin>();
                HeroBehaviour.OnUserClickSkill += OnCastSkill;
Fight/GameActor/GActorFight.cs
@@ -236,7 +236,8 @@
        }
        if (NextAction == GAStaticDefine.Act_Dead
         || m_BeatCurve == null)
         || m_BeatCurve == null
         || ActorInfo.serverDie)
        {
            m_Beating = false;
            return;
System/AssetVersion/AssetVersionUtility.cs
@@ -193,7 +193,7 @@
        }
        else
        {
            path = StringUtility.Contact(ResourcesPath.Instance.ExternalStorePath, _assetKey);
            path = StringUtility.Contact(ResourcesPath.Instance.StreamingAssetPath, _assetKey);
        }
        return path;
System/BlastFurnace/BlastFurnaceModel.cs
@@ -1251,51 +1251,51 @@
            }
        }
        #endregion
        if (isOpenPrompting)
        {
            ConfirmCancel.ToggleConfirmCancel(Language.Get("Mail101"), Language.Get("BlastFurnace114",sumCnt,getMoney,string.Format("<Img chat={0}/>",StringUtility.Contact("Money_Type_",27))),
                Language.Get("ConfirmCancel102"),(bool isOk, bool isToggle) =>
               {
                 if (isOk)
                 {
                       if(unBindCnt > 0)
                       {
                           ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("BlastFurnace115", unBindCnt),
                          (bool isRecycle) =>
                          {
                             if (isRecycle)
                             {
                                 SendRecycleDrugQuest(recycleDanDict.Keys.ToList(), recycleDanDict.Values.ToList());
                             }
                         });
                       }
                       else
                       {
                           SendRecycleDrugQuest(recycleDanDict.Keys.ToList(), recycleDanDict.Values.ToList());
                       }
                 }
                 isOpenPrompting = !isToggle;
             });
        }
        else
        {
            if (unBindCnt > 0)
            {
               ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("BlastFurnace115", unBindCnt),
               (bool isRecycle) =>
               {
                   if (isRecycle)
                   {
                       SendRecycleDrugQuest(recycleDanDict.Keys.ToList(), recycleDanDict.Values.ToList());
                   }
               });
            }
            else
            {
                SendRecycleDrugQuest(recycleDanDict.Keys.ToList(), recycleDanDict.Values.ToList());
            }
        }
        SendRecycleDrugQuest(recycleDanDict.Keys.ToList(), recycleDanDict.Values.ToList());
        //if (isOpenPrompting)
        //{
        //    ConfirmCancel.ToggleConfirmCancel(Language.Get("Mail101"), Language.Get("BlastFurnace114",sumCnt,getMoney,string.Format("<Img chat={0}/>",StringUtility.Contact("Money_Type_",27))),
        //        Language.Get("ConfirmCancel102"),(bool isOk, bool isToggle) =>
        //       {
        //         if (isOk)
        //         {
        //               if(unBindCnt > 0)
        //               {
        //                   ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("BlastFurnace115", unBindCnt),
        //                  (bool isRecycle) =>
        //                  {
        //                     if (isRecycle)
        //                     {
        //                         SendRecycleDrugQuest(recycleDanDict.Keys.ToList(), recycleDanDict.Values.ToList());
        //                     }
        //                 });
        //               }
        //               else
        //               {
        //                   SendRecycleDrugQuest(recycleDanDict.Keys.ToList(), recycleDanDict.Values.ToList());
        //               }
        //         }
        //         isOpenPrompting = !isToggle;
        //     });
        //}
        //else
        //{
        //    if (unBindCnt > 0)
        //    {
        //       ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("BlastFurnace115", unBindCnt),
        //       (bool isRecycle) =>
        //       {
        //           if (isRecycle)
        //           {
        //               SendRecycleDrugQuest(recycleDanDict.Keys.ToList(), recycleDanDict.Values.ToList());
        //           }
        //       });
        //    }
        //    else
        //    {
        //        SendRecycleDrugQuest(recycleDanDict.Keys.ToList(), recycleDanDict.Values.ToList());
        //    }
        //}
    }
System/ClientVersion/VersionConfig.cs
@@ -92,6 +92,9 @@
    [SerializeField] Vector2 m_LogoPosition;
    public Vector2 logoPosition { get { return m_LogoPosition; } }
    [SerializeField] string m_BanHao;
    public string banHao { get { return m_BanHao; } }
    public void Read(string _data)
    {
        var dataStrings = _data.Split('\t');
@@ -112,6 +115,7 @@
        m_DebugVersion = int.Parse(dataStrings[16]) == 1;
        m_IsBanShu = int.Parse(dataStrings[17]) == 1;
        m_LogoPosition = dataStrings[18].Vector3Parse();
        m_BanHao = dataStrings[19];
    }
#if UNITY_EDITOR
@@ -165,6 +169,7 @@
        _to.m_IsBanShu = _from.m_IsBanShu;
        _to.m_ClientPackageFlag = _from.m_ClientPackageFlag;
        _to.m_LogoPosition = _from.m_LogoPosition;
        _to.m_BanHao = _from.m_BanHao;
    }
    /// <summary>
System/ClientVersion/VersionUtility.cs
@@ -229,14 +229,15 @@
            step = Step.None;
            var tables = new Dictionary<string, string>();
            tables["uid"] = ModelCenter.Instance.GetModel<LoginModel>().sdkLoginResult.account;
            var url = "https://api.maoergame.com/update/download/url";
            HttpRequest.Instance.RequestHttpPost(url, tables, HttpRequest.defaultHttpContentType, 1, OnMaoErVersionCheckResult);
            var url = StringUtility.Contact("https://api.maoergame.com/update/download/url?", HttpRequest.HashtablaToString(tables));
            Debug.Log("猫耳强更url:" + url);
            HttpRequest.Instance.RequestHttpPost(url, string.Empty, HttpRequest.defaultHttpContentType, 1, OnMaoErVersionCheckResult);
        }
    }
    private void OnMaoErVersionCheckResult(bool ok, string result)
    {
        Debug.Log("猫耳强更 result:" + result);
        if (ok)
        {
            try
System/Compose/New/ComposeWinModel.cs
@@ -861,7 +861,9 @@
    public bool CheckIsComposeByType(int firstType,int secondType,int thirdType)
    {
        ItemCompoundConfig itemCompound = GetThirdTypeModellist(firstType,secondType,thirdType)[0];
        ItemCompoundConfig itemCompound = ItemCompoundConfig.GetItemCompoundByType(firstType, secondType, thirdType);
        if (itemCompound == null) return false;
        if (itemCompound.levelNeed <= PlayerDatas.Instance.baseData.LV)
        {
            return true;
System/DogzDungeon/DogzBoxBehaviour.cs
@@ -5,6 +5,7 @@
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using TableConfig;
namespace Snxxz.UI
{
@@ -20,7 +21,8 @@
        public void Display()
        {
            timer = 0f;
            UI3DModelExhibition.Instance.ShowNPC(model.bigBoxNpcId, Vector3.zero, m_RawImage);
            var config = Config.Instance.Get<NPCConfig>(model.bigBoxNpcId);
            UI3DModelExhibition.Instance.ShowNPC(model.bigBoxNpcId, config.UIModeLOffset, config.UIModelRotation, m_RawImage);
            DisplayBoxSurplusInfo();
            model.boxSurplusChangeEvent += OnBoxInfoUpdate;
        }
System/DogzDungeon/DogzDungeonBreifInfoBehaviour.cs
@@ -16,22 +16,17 @@
        [SerializeField] Image m_Attention;
        protected override int selectedBossId
        {
            get
            {
        protected override int selectedBossId {
            get {
                return model.selectedBoss;
            }
            set
            {
            set {
                model.selectedBoss = value;
            }
        }
        protected override InteractorableState interactorableState
        {
            get
            {
        protected override InteractorableState interactorableState {
            get {
                var selected = selectedBossId == bossId;
                var config = Config.Instance.Get<DogzDungeonConfig>(bossId);
                var dieOrLocked = false;
@@ -58,16 +53,13 @@
                    return selected ? InteractorableState.DieOrLockedSelected : InteractorableState.DieOrLockedUnSelected;
                }
            }
            set
            {
            set {
                base.interactorableState = value;
            }
        }
        protected override bool isUnLocked
        {
            get
            {
        protected override bool isUnLocked {
            get {
                return model.IsBossUnLocked(bossId);
            }
        }
@@ -179,6 +171,48 @@
            UpdateBossPortrait(interactorableState);
        }
        protected override void DrawBossBaseInfo(string _icon, string _name, int _level, int _realm)
        {
            var config = Config.Instance.Get<DogzDungeonConfig>(bossId);
            switch (config.MonsterType)
            {
                case 1:
                    m_BossName.text = _name;
                    m_BossLevel.text = string.Empty;
                    break;
                case 2:
                    m_BossName.text = _name;
                    m_BossLevel.text = string.Empty;
                    break;
                case 3:
                case 4:
                    m_BossName.text = _name;
                    m_BossLevel.text = Language.Get("Z1024", _level);
                    break;
            }
            m_Portrait.SetSprite(_icon);
            m_Portrait.SetNativeSize();
            if (m_Realm != null)
            {
                if (Config.Instance.ContainKey<RealmConfig>(_realm))
                {
                    m_Realm.gameObject.SetActive(true);
                    var realmConfig = Config.Instance.Get<RealmConfig>(_realm);
                    if (realmConfig != null)
                    {
                        m_Realm.SetSprite(realmConfig.Img);
                    }
                }
                else
                {
                    m_Realm.gameObject.SetActive(false);
                }
            }
        }
        private void OnSelected(int _bossId)
        {
            UpdateBossNameLevelFont(interactorableState);
System/DogzDungeon/DogzDungeonWin.cs
@@ -196,7 +196,6 @@
                case 4:
                    var npcDropConfig = Config.Instance.Get<NPCDropItemConfig>(_bossId);
                    m_SurpassLevel.gameObject.SetActive(npcDropConfig.MaxLV != 0 && PlayerDatas.Instance.baseData.LV > npcDropConfig.MaxLV);
                    m_SurpassLevel.gameObject.SetActive(true);
                    break;
            }
        }
System/DogzDungeon/DogzEliteMonsterBehaviour.cs
@@ -5,6 +5,7 @@
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using TableConfig;
namespace Snxxz.UI
{
@@ -19,7 +20,8 @@
        public void Display()
        {
            timer = 0f;
            UI3DModelExhibition.Instance.ShowNPC(model.eliteMonsters[0], Vector3.zero, m_RawImage);
            var config = Config.Instance.Get<NPCConfig>(model.eliteMonsters[0]);
            UI3DModelExhibition.Instance.ShowNPC(model.eliteMonsters[0], config.UIModeLOffset, config.UIModelRotation, m_RawImage);
            DisplayGuardSurplusInfo();
            model.boxSurplusChangeEvent += OnGuardInfoUpdate;
        }
System/KnapSack/Logic/PackModelInterface.cs
@@ -40,6 +40,7 @@
        PlayerStrengthengDatas strengthDatas { get { return ModelCenter.Instance.GetModel<PlayerStrengthengDatas>(); } }
        MagicianModel magicianModel { get { return ModelCenter.Instance.GetModel<MagicianModel>(); } }
        TrialDungeonModel trialModel { get { return ModelCenter.Instance.GetModel<TrialDungeonModel>(); } }
        ComposeWinModel composeModel { get { return ModelCenter.Instance.GetModel<ComposeWinModel>(); } }
        private int[] pushItemIds;
        public int[] pushBuffTypeIds;
@@ -489,6 +490,15 @@
                }
            }
            if(playerPack.CheckIsDrugById(itemModel.itemId))
            {
                if(itemModel.chinItemModel.RealmLimit > PlayerDatas.Instance.baseData.realmLevel)
                {
                    isReach = false;
                    return isReach;
                }
            }
            switch (itemModel.chinItemModel.Type)
            {
                case 8:
@@ -554,6 +564,13 @@
                        return isReach;
                    }
                    break;
                case 39:
                    if(!CheckIsBetterWings(itemModel))
                    {
                        isReach = false;
                        return isReach;
                    }
                    break;
                case 52:
                    if (!strengthDatas.IsHint(itemModel.itemId))
                    {
@@ -588,6 +605,59 @@
            return isReach;
        }
        private bool CheckIsBetterWings(ItemModel itemModel)
        {
            if (itemModel == null) return false;
            bool isBetter = true;
            ItemModel putModel = playerPack.GetItemModelByIndex(PackType.rptEquip,(int)RoleEquipType.retWing);
            SinglePackModel singlePack = playerPack.GetSinglePackModel(PackType.rptItem);
            List<ItemModel> itemModels = null;
            if(singlePack != null)
            {
                singlePack.GetItemCountByType((int)ItemType.Wings, out itemModels);
            }
            int[] composeTypes = itemModel.chinItemModel.JumpComposeCondi;
            bool isOpenCompose = false;
            if(composeTypes != null && composeTypes.Length >= 3)
            {
                ItemCompoundConfig itemCompound = ItemCompoundConfig.GetItemCompoundByType(composeTypes[0], composeTypes[1], composeTypes[2]);
                if (itemCompound != null)
                {
                    if (itemCompound.levelNeed <= PlayerDatas.Instance.baseData.LV)
                    {
                        isOpenCompose = true;
                    }
                }
            }
            if(!isOpenCompose)
            {
                return false;
            }
            if (putModel != null && putModel.chinItemModel.LV >= itemModel.chinItemModel.LV)
            {
                return false;
            }
            if (itemModels != null)
            {
                for(int i = 0; i < itemModels.Count; i++)
                {
                    if(itemModels[i].chinItemModel.JobLimit/100 == PlayerDatas.Instance.baseData.Job)
                    {
                        if(itemModels[i].chinItemModel.LV >= itemModel.chinItemModel.LV)
                        {
                            return false;
                        }
                    }
                }
            }
            return true;
        }
        private bool CheckIsExtendGrid(int itemId)
        {
            SinglePackModel singlePack = playerPack.GetSinglePackModel(PackType.rptItem);
System/KnapSack/Logic/PlayerPackModels.cs
@@ -1230,10 +1230,9 @@
            return 0;
        }
        public List<ItemModel> canDevourModellist = new List<ItemModel>();
        public List<ItemModel> GetCanDevourModellist()
        {
            canDevourModellist.Clear();
            List<ItemModel> canDevourModellist = new List<ItemModel>();
            SinglePackModel singlePack = GetSinglePackModel(PackType.rptItem);
            if (singlePack == null
                || colorType == EquipColorType.None
@@ -1309,9 +1308,12 @@
        public List<ItemModel> selectDevourlist = new List<ItemModel>();
        public void GetSelectDevourList()
        {
            GetCanDevourModellist();
            selectDevourlist.Clear();
            selectDevourlist.AddRange(canDevourModellist);
            List<ItemModel> itemModels = GetCanDevourModellist();
            if (itemModels != null)
            {
                selectDevourlist.AddRange(itemModels);
            }
        }
        public void RefreshGetNewItem(ItemModel model)
@@ -1380,17 +1382,33 @@
            return null;
        }
        public bool IsReachMinDecomposeNum()
        {
            List<ItemModel> itemModels = GetCanDevourModellist();
            if(itemModels != null && itemModels.Count >= minDecomposeNum)
            {
                return true;
            }
            return false;
        }
        public void SendEquipdevourQuest()
        {
            if (canDevourModellist.Count < minDecomposeNum) return;
            List<ItemModel> itemModels = GetCanDevourModellist();
            if (itemModels == null || itemModels.Count < minDecomposeNum) return;
            isAutoDecompose = true;
            recordAutoDecomNum = canDevourModellist.Count;
            recordAutoDecomNum = itemModels.Count;
            CA32C_tagCMEquipDecompose _petEat = new CA32C_tagCMEquipDecompose();
            byte[] _petIndex = new byte[canDevourModellist.Count];
            for (int i = 0; i < canDevourModellist.Count; i++)
            byte[] _petIndex = new byte[recordAutoDecomNum];
            for (int i = 0; i < recordAutoDecomNum; i++)
            {
                _petIndex[i] = (byte)canDevourModellist[i].itemInfo.ItemPlace;
                _petIndex[i] = (byte)itemModels[i].itemInfo.ItemPlace;
                if (itemModels[i].chinItemModel.StarLevel >= 2
                    || (itemModels[i].chinItemModel.EquipPlace == 0 && itemModels[i].chinItemModel.Type != 29))
                {
                    return;
                }
            }
            _petEat.IndexCount = (byte)_petIndex.Length;
            _petEat.IndexList = _petIndex;
System/KnapSack/PreciousItemGetBehaviour.cs
@@ -87,7 +87,20 @@
                model.ReportConfirmPreciousItem(model.currentShowItem);
                if (itemModel != null && itemModel.packType == PackType.rptItem)
                {
                    PackSendQuestMgr.Instance.SendUseItemQuest(ItemWinBtnType.makeUse, itemModel.itemInfo.ItemPlace);
                    switch((ItemType)itemModel.chinItemModel.Type)
                    {
                        case ItemType.WingsMat:
                            int jumpId = 0;
                            bool isUnlock = ModelCenter.Instance.GetModel<ComposeWinModel>().CheckComposeItemById(itemModel.itemId, out jumpId);
                            if (isUnlock)
                            {
                                PackSendQuestMgr.Instance.ClickComposeBtn(ItemWinBtnType.compose, jumpId);
                            }
                            break;
                        default:
                            PackSendQuestMgr.Instance.SendUseItemQuest(ItemWinBtnType.makeUse, itemModel.itemInfo.ItemPlace);
                            break;
                    }
                }
            }
        }
System/Login/LoginWin.cs
@@ -33,7 +33,7 @@
        [SerializeField] Button m_ServerSelect;
        [SerializeField] Button m_SwitchAccount;
        [SerializeField] Button m_Notice;
        [SerializeField] RectTransform m_BanHao;
        [SerializeField] RichText m_BanHao;
        LoginModel model { get { return ModelCenter.Instance.GetModel<LoginModel>(); } }
@@ -57,7 +57,8 @@
        protected override void OnPreOpen()
        {
            m_BanHao.gameObject.SetActive(Application.platform == RuntimePlatform.WindowsEditor || VersionUtility.Instance.IsMaoErGame());
            m_BanHao.text = VersionConfig.Get().banHao;
            var sprite = Resources.Load<Sprite>("UI/Sprites/TB_DL_Logo");
            m_Logo.overrideSprite = sprite;
            m_Logo.SetNativeSize();
System/MainInterfacePanel/InGamePushContainer.cs
@@ -343,6 +343,15 @@
            }
            else
            {
                SnxxzGame.Instance.StartCoroutine(Co_DeActiveFairyGrabBoss());
            }
        }
        IEnumerator Co_DeActiveFairyGrabBoss()
        {
            yield return null;
            if (fairyGrabBossModel.fairyGrabBossHelps.Count == 0)
            {
                m_FairyGrabBossHelpBehaviour.gameObject.SetActive(false);
            }
        }
System/SystemSetting/SettingEffectMgr.cs
@@ -60,13 +60,11 @@
        delayTime = 2;
        HeroBehaviour.OnStartHandupAI -= OnStartHandupAI;
        HeroBehaviour.OnStopHandupAI -= OnStopHandupAI;
        playerPack.ItemCntAddAct -= RefreshItemCnt;
        DeadModel.playerDieEvent -= OnPlayerDie;
        m_storeModel.RefreshBuyResultEvent -= RefreshBuySuccess;
        DeadModel.CloseRebornWinEvent -= PlayerRebornSuccess;
        HeroBehaviour.OnStartHandupAI += OnStartHandupAI;
        HeroBehaviour.OnStopHandupAI += OnStopHandupAI;
        playerPack.ItemCntAddAct += RefreshItemCnt;
        DeadModel.playerDieEvent += OnPlayerDie;
        m_storeModel.RefreshBuyResultEvent += RefreshBuySuccess;
        DeadModel.CloseRebornWinEvent += PlayerRebornSuccess;
@@ -102,19 +100,10 @@
            }
        }
     
        if (secondTimer > 1f)
        if (secondTimer >= 1f)
        {
            if(isGetNewItem)
            {
                secondTimer = 0f;
                delayTime -= 1;
                if (delayTime <= 0)
                {
                    isGetNewItem = false;
                    delayTime = 2f;
                    DealBagItem();
                }
            }
            secondTimer = 0f;
            RefreshBagItem();
        }
    }
@@ -153,11 +142,6 @@
        }
    }
    private void RefreshItemCnt(PackType type, int index, int id)
    {
        RefreshBagItem();
    }
    public void RefreshBagItem()
    {
        if (!_isAutoHangUp)
@@ -165,9 +149,7 @@
            DebugEx.Log("请开启自动挂机,否则无法出售");
            return;
        }
        DealBagItem();
        isGetNewItem = true;
    }
    /// <summary>
@@ -175,12 +157,11 @@
    /// </summary>
    private void DealBagItem()
    {
        if (playerPack.GetReaminGridCount(PackType.rptItem) < 5)
        if (playerPack.GetReaminGridCount(PackType.rptItem) < 5 && modelInterface.isPackResetOk)
        {
            if (HangUpSetModel.Instance.GetBool(HangUpAutoBoolType.isAutoDevour))
            {
                List<ItemModel> list = playerPack.GetCanDevourModellist();
                if (list !=  null &&  list.Count > 0)
                if(playerPack.IsReachMinDecomposeNum())
                {
                    playerPack.SendEquipdevourQuest();
                    return;
System/Tip/PromoteDetailsWin.cs
@@ -94,7 +94,7 @@
                    WindowCenter.Instance.Open<RolePromoteWin>();
                    break;
                case RolePromoteModel.PromoteDetailType.Wash:
                    WindowCenter.Instance.Open<EquipReinforceWin>(false, 4);
                    WindowCenter.Instance.Open<EquipReinforceWin>(false, 3);
                    break;
                case RolePromoteModel.PromoteDetailType.FairyHeart:
                    WindowCenter.Instance.Open<MethodToWin>();
System/Treasure/TreasurePotentialPanel.cs
@@ -279,7 +279,7 @@
        {
            var potential = m_Treasure.potentials[_index];
            potentialBriefInfos[_index].DisplayStateSfx();
            potentialBriefInfos[_index].StartLevelTween();
            //potentialBriefInfos[_index].StartLevelTween();
            var _nextPotential = GetNextPotential(potential.id);
            if (_nextPotential != 0)
            {
System/WorldMap/LocalMapFindPath.cs
@@ -292,9 +292,11 @@
            var npcRefreshIds = model.GetMapNPCRefreshIds(mapId);
            if (npcRefreshIds != null)
            {
                for (int i = 0; i < npcRefreshIds.Count; i++)
                foreach ( var item in   npcRefreshIds)
                {
                    DrawFunctionNPC(npcRefreshIds[i]);
                    var config = Config.Instance.Get<mapnpcConfig>(item);
                    var npcConfig = Config.Instance.Get<NPCConfig>(config.NPCID);
                    DrawFunctionNPC(item);
                }
            }
        }
System/WorldMap/MapModel.cs
@@ -584,33 +584,36 @@
            foreach (var config in mapNpcConfigs)
            {
                var mapId = config.MapID;
                if (config.NPCType == (int)E_NpcType.Func)
                if (config.NPCID != 0)
                {
                    List<string> npcRefreshIs;
                    if (!mapFunctionNPCsToRefreshID.ContainsKey(mapId))
                    if (config.NPCType == (int)E_NpcType.Func)
                    {
                        mapFunctionNPCsToRefreshID[mapId] = npcRefreshIs = new List<string>();
                    }
                    else
                    {
                        npcRefreshIs = mapFunctionNPCsToRefreshID[mapId];
                    }
                        List<string> npcRefreshIs;
                        if (!mapFunctionNPCsToRefreshID.ContainsKey(mapId))
                        {
                            mapFunctionNPCsToRefreshID[mapId] = npcRefreshIs = new List<string>();
                        }
                        else
                        {
                            npcRefreshIs = mapFunctionNPCsToRefreshID[mapId];
                        }
                    npcRefreshIs.Add(config.RefreshID.ToString());
                }
                else if (config.NPCType == (int)E_NpcType.Flag)
                {
                    List<string> npcRefreshIs;
                    if (!mapCollectNPCsToRefreshID.ContainsKey(mapId))
                    {
                        mapCollectNPCsToRefreshID[mapId] = npcRefreshIs = new List<string>();
                        npcRefreshIs.Add(config.RefreshID.ToString());
                    }
                    else
                    else if (config.NPCType == (int)E_NpcType.Flag)
                    {
                        npcRefreshIs = mapCollectNPCsToRefreshID[mapId];
                    }
                        List<string> npcRefreshIs;
                        if (!mapCollectNPCsToRefreshID.ContainsKey(mapId))
                        {
                            mapCollectNPCsToRefreshID[mapId] = npcRefreshIs = new List<string>();
                        }
                        else
                        {
                            npcRefreshIs = mapCollectNPCsToRefreshID[mapId];
                        }
                    npcRefreshIs.Add(config.RefreshID.ToString());
                        npcRefreshIs.Add(config.RefreshID.ToString());
                    }
                }
            }