少年修仙传客户端代码仓库
client_linchunjie
2019-04-22 2c574cd0433bb84e297d60c547b866fbb8ac2fd7
3335 去掉旧炼丹代码,添加炼丹红点逻辑
48个文件已删除
20个文件已修改
6745 ■■■■■ 已修改文件
Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0721_tagMakeItemAnswer.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA321_tagMCPrayElixirResult.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA3BE_tagMCMagicWeaponMsg.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/BlastFurnaceModelWrap.cs 2108 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/BlastFurnaceModelWrap.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUIPackModelWrap.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUIPrayForDurgModelWrap.cs 739 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUIPrayForDurgModelWrap.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/XLuaGenAutoRegister.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Achievement/AchievementGotoPart1.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Achievement/AchievementGotoPart3.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Alchemy/AlchemyDrugWin.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Alchemy/AlchemyModel.cs 271 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Alchemy/AlchemyQualityCell.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Alchemy/AlchemyRecipeCell.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Alchemy/AlchemyScrollBehaviour.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Alchemy/AlchemyStoveBehaviour.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/BlastFurnaceModel.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/BlastFurnaceWin.cs 165 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/BlastFurnaceWin.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/DanDrugRecycleTip.cs 198 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/DanDrugRecycleTip.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/DanDrugShopCell.cs 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/DanDrugShopCell.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/DandrugCell.cs 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/DandrugCell.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/FireChooseCell.cs 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/FireChooseCell.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/FurnaceFireChooseWin.cs 174 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/FurnaceFireChooseWin.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/LingDanTips.cs 572 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/LingDanTips.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/MakeDrugSortCell.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/MakeDrugSortCell.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/MakerDrugFailWin.cs 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/MakerDrugFailWin.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/MakerDrugSuccessWin.cs 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/MakerDrugSuccessWin.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/PrayDrugCell.cs 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/PrayDrugCell.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/PrayForDrugVipLackWin.cs 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/PrayForDrugVipLackWin.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/PrayForDurgModel.cs 306 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/PrayForDurgModel.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/PrayforDrugGetItemWin.cs 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/PrayforDrugGetItemWin.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/PrayforDrugWin.cs 167 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/PrayforDrugWin.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/RecycleDrugCell.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/RecycleDrugCell.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/SortMakeDrugTable.cs 135 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/SortMakeDrugTable.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/StoveRecipeCell.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/StoveRecipeCell.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/StoveUpgradWin.cs 173 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/StoveUpgradWin.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/TreasureEffectCell.cs 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/TreasureEffectCell.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/MakeDrugCell.cs 202 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/MakeDrugCell.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/PackModel.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/RoleElixirTipWin.cs 210 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/RoleElixirTipWin.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Realm/ActivateShow.cs 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/RolePromote/RolePromoteModel.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/FairyTreasureCollectPanelPattern5.cs 63 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/WindowBase/ModelCenter.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/WindowJump/WindowJumpMgr.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0721_tagMakeItemAnswer.cs
@@ -11,14 +11,12 @@
{
    public static event Action<H0721_tagMakeItemAnswer> MakeItemAnswerEvent;
    BlastFurnaceModel FurnaceModel { get { return ModelCenter.Instance.GetModel<BlastFurnaceModel>(); } }
    public override void Done(GameNetPackBasic vNetPack)
    {
        base.Done(vNetPack);
        var vNetData = vNetPack as H0721_tagMakeItemAnswer;
        FurnaceModel.GetMakerResult(vNetData);
        if (PlayerDatas.Instance.hero != null && vNetData.Result == 1)
        {
Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA321_tagMCPrayElixirResult.cs
@@ -7,14 +7,12 @@
public class DTCA321_tagMCPrayElixirResult : DtcBasic {
    PrayForDurgModel prayModel { get { return ModelCenter.Instance.GetModel<PrayForDurgModel>(); } }
    public override void Done(GameNetPackBasic vNetPack) {
        base.Done(vNetPack);
        HA321_tagMCPrayElixirResult vNetData = vNetPack as HA321_tagMCPrayElixirResult;
        prayModel.SetPrayResult(vNetData);
    }
}
Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA3BE_tagMCMagicWeaponMsg.cs
@@ -8,14 +8,6 @@
public class DTCA3BE_tagMCMagicWeaponMsg : DtcBasic {
    BlastFurnaceModel _furnaceModel;
    BlastFurnaceModel FurnaceModel
    {
        get
        {
            return _furnaceModel ?? (_furnaceModel = ModelCenter.Instance.GetModel<BlastFurnaceModel>());
        }
    }
    public override void Done(GameNetPackBasic vNetPack) {
        base.Done(vNetPack);
Lua/Gen/BlastFurnaceModelWrap.cs
File was deleted
Lua/Gen/BlastFurnaceModelWrap.cs.meta
File was deleted
Lua/Gen/SnxxzUIPackModelWrap.cs
@@ -88,7 +88,6 @@
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "IsHaveDrugUse", _m_IsHaveDrugUse);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "IsHaveDrugRecycle", _m_IsHaveDrugRecycle);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "IsReachMaxUseDrug", _m_IsReachMaxUseDrug);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetAlchemyProgress", _m_GetAlchemyProgress);
            
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "refrechPackEvent", _e_refrechPackEvent);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "refreshItemCountEvent", _e_refreshItemCountEvent);
@@ -2063,38 +2062,6 @@
            }
            
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_GetAlchemyProgress(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.PackModel gen_to_be_invoked = (Snxxz.UI.PackModel)translator.FastGetCSObj(L, 1);
                {
                    AlchemyConfig _alchemy = (AlchemyConfig)translator.GetObject(L, 2, typeof(AlchemyConfig));
                        float gen_ret = gen_to_be_invoked.GetAlchemyProgress( _alchemy );
                        LuaAPI.lua_pushnumber(L, gen_ret);
                    return 1;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_makeDruglist(RealStatePtr L)
Lua/Gen/SnxxzUIPrayForDurgModelWrap.cs
File was deleted
Lua/Gen/SnxxzUIPrayForDurgModelWrap.cs.meta
File was deleted
Lua/Gen/XLuaGenAutoRegister.cs
@@ -892,13 +892,7 @@
            translator.DelayWrapLoader(typeof(Snxxz.UI.RealmBetterEquipModel), SnxxzUIRealmBetterEquipModelWrap.__Register);
        
        
            translator.DelayWrapLoader(typeof(BlastFurnaceModel), BlastFurnaceModelWrap.__Register);
            translator.DelayWrapLoader(typeof(GetItemPathModel), GetItemPathModelWrap.__Register);
            translator.DelayWrapLoader(typeof(Snxxz.UI.PrayForDurgModel), SnxxzUIPrayForDurgModelWrap.__Register);
        
        
            translator.DelayWrapLoader(typeof(Snxxz.UI.BossRebornModel), SnxxzUIBossRebornModelWrap.__Register);
System/Achievement/AchievementGotoPart1.cs
@@ -17,7 +17,7 @@
        static DemonJarModel demonJarModel { get { return ModelCenter.Instance.GetModel<DemonJarModel>(); } }
        static FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
        static DailyQuestModel dailyQuestModel { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } }
        static BlastFurnaceModel blastFurnaceModel { get { return ModelCenter.Instance.GetModel<BlastFurnaceModel>(); } }
        static AlchemyModel alchemyModel { get { return ModelCenter.Instance.GetModel<AlchemyModel>(); } }
        static TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } }
        public static void GotoKillNpc(int _achievementId)
@@ -278,7 +278,7 @@
        public static void GotoStove(int _achievementId)
        {
            if (blastFurnaceModel.StoveLV < 1)
            if (alchemyModel.stoveLevel < 1)
            {
                treasureModel.currentCategory = TreasureCategory.Fairy;
                treasureModel.selectedTreasure = 301;
System/Achievement/AchievementGotoPart3.cs
@@ -121,8 +121,8 @@
        {
            if (config == null) return;
            BlastFurnaceModel model = ModelCenter.Instance.GetModel<BlastFurnaceModel>();
            if(model.StoveLV > 1)
            AlchemyModel model = ModelCenter.Instance.GetModel<AlchemyModel>();
            if(model.stoveLevel > 1)
            {
                guideAchievementId = _achievementId;
            }
System/Alchemy/AlchemyDrugWin.cs
@@ -72,6 +72,14 @@
        void SetDefaultSelect()
        {
            Int2 position;
            if (model.IsStoveAlcheming(model.selectAlchemyType, out position))
            {
                model.selectQuality = position.x;
                model.selectAlchemy = position.y;
                return;
            }
            var qualities = AlchemyConfig.GetAlchemyQualities((int)m_AlchemyType);
            model.selectQuality = qualities.First();
System/Alchemy/AlchemyModel.cs
@@ -13,6 +13,15 @@
        Dictionary<int, AlchemyDrugUseLimit> m_AlchemyDrugUseLimits = new Dictionary<int, AlchemyDrugUseLimit>();
        List<int> m_AlchemyDrugs = new List<int>();
        List<int> m_AlchemyDrugQualitys = new List<int>();
        List<int> m_AssociationItems = new List<int>();
        public readonly Redpoint redpoint = new Redpoint(MainRedDot.RedPoint_key, 110);
        public readonly Redpoint alchemyDrugRedpoint1 = new Redpoint(110, 11001);
        public readonly Redpoint alchemyDrugRedpoint2 = new Redpoint(110, 11002);
        Dictionary<int, Dictionary<int, Redpoint>> alchemyQualityRedpoints = new Dictionary<int, Dictionary<int, Redpoint>>();
        Dictionary<int, AlchemyRedpoint> alchemyRedpoints = new Dictionary<int, AlchemyRedpoint>();
        public static int redpointIndex = 110010000;
        int m_SelectQuality = 0;
        public int selectQuality
@@ -56,6 +65,8 @@
        public bool isServerPrepare { get; private set; }
        Clock m_AlchemingClock = null;
        public event Action selectQualityRefresh;
        public event Action selectAlchemyRefresh;
        public event Action alchemyStateRefresh;
@@ -65,6 +76,10 @@
        public override void Init()
        {
            FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
            PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefreshEvent;
            packModel.refreshItemCountEvent += RefreshItemCountEvent;
            ParseConfig();
        }
@@ -83,10 +98,38 @@
        public void OnPlayerLoginOk()
        {
            isServerPrepare = true;
            CheckRedpoint();
        }
        public override void UnInit()
        {
            FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
            PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefreshEvent;
            packModel.refreshItemCountEvent -= RefreshItemCountEvent;
        }
        private void RefreshItemCountEvent(PackType packType, int arg2, int itemId)
        {
            if (m_AssociationItems.Contains(itemId))
            {
                CheckRedpoint();
            }
        }
        private void PlayerDataRefreshEvent(PlayerDataType dataType)
        {
            if (dataType == PlayerDataType.LuckValue)
            {
                CheckRedpoint();
            }
        }
        private void OnFuncStateChangeEvent(int id)
        {
            if (id == (int)FuncOpenEnum.BlastFurnace)
            {
                CheckRedpoint();
            }
        }
        void ParseConfig()
@@ -148,8 +191,19 @@
                            id = key,
                            count = dict[key],
                        });
                        if (!m_AssociationItems.Contains(key))
                        {
                            m_AssociationItems.Add(key);
                        }
                    }
                    if (!m_AssociationItems.Contains(config.LearnNeedItemID))
                    {
                        m_AssociationItems.Add(config.LearnNeedItemID);
                    }
                }
            }
            {
@@ -169,6 +223,32 @@
                }
                m_AlchemyDrugQualitys.Sort();
            }
            var qualitys = AlchemyConfig.GetAlchemyQualities((int)AlchemyType.Normal);
            alchemyQualityRedpoints.Add((int)AlchemyType.Normal, new Dictionary<int, Redpoint>());
            foreach (var quality in qualitys)
            {
                var qualityRedpoint = new Redpoint(alchemyDrugRedpoint1.id, redpointIndex++); ;
                alchemyQualityRedpoints[(int)AlchemyType.Normal].Add(quality, qualityRedpoint);
                var alchemys = AlchemyConfig.GetAlchemies((int)AlchemyType.Normal, quality);
                foreach (var id in alchemys)
                {
                    alchemyRedpoints.Add(id, new AlchemyRedpoint(qualityRedpoint.id));
                }
            }
            qualitys = AlchemyConfig.GetAlchemyQualities((int)AlchemyType.Fairy);
            alchemyQualityRedpoints.Add((int)AlchemyType.Fairy, new Dictionary<int, Redpoint>());
            foreach (var quality in qualitys)
            {
                var qualityRedpoint = new Redpoint(alchemyDrugRedpoint2.id, redpointIndex++); ;
                alchemyQualityRedpoints[(int)AlchemyType.Fairy].Add(quality, qualityRedpoint);
                var alchemys = AlchemyConfig.GetAlchemies((int)AlchemyType.Fairy, quality);
                foreach (var id in alchemys)
                {
                    alchemyRedpoints.Add(id, new AlchemyRedpoint(qualityRedpoint.id));
                }
            }
        }
@@ -201,6 +281,23 @@
        public bool TryGetAlchemyUseLimit(int id,out AlchemyDrugUseLimit drugUseLimit)
        {
            return m_AlchemyDrugUseLimits.TryGetValue(id, out drugUseLimit);
        }
        public int GetAlchemyRedpointId(int id)
        {
            return alchemyRedpoints.ContainsKey(id) ? alchemyRedpoints[id].redpoint.id : 0;
        }
        public int GetQualityRedpointId(int alchemyType, int quality)
        {
            if (alchemyQualityRedpoints.ContainsKey(alchemyType))
            {
                if (alchemyQualityRedpoints[alchemyType].ContainsKey(quality))
                {
                    return alchemyQualityRedpoints[alchemyType][quality].id;
                }
            }
            return 0;
        }
        public float GetAlchemySuccRate(int alchemyId)
@@ -307,8 +404,9 @@
            return true;
        }
        public bool IsStoveAlcheming(AlchemyType alchemyType)
        public bool IsStoveAlcheming(AlchemyType alchemyType, out Int2 alchemyPosition)
        {
            alchemyPosition = default(Int2);
            var qualities = AlchemyConfig.GetAlchemyQualities((int)alchemyType);
            foreach (var quality in qualities)
            {
@@ -318,6 +416,8 @@
                    var state = GetStoveState(alchemyId);
                    if (state != 0)
                    {
                        alchemyPosition.x = quality;
                        alchemyPosition.y = alchemyId;
                        return true;
                    }
                }
@@ -327,10 +427,33 @@
        public void ReceivePackage(HA3BF_tagMCPlayerStoveMsg package)
        {
            var seconds = 0;
            for (int i = 0; i < package.StoveCnt; i++)
            {
                var data = package.InfoList[i];
                m_AlchemyTimes[(int)data.AlchemyID] = data.StartTime;
                if (data.StartTime > 0)
                {
                    var config = AlchemyConfig.Get((int)data.AlchemyID);
                    var time = TimeUtility.GetTime(data.StartTime);
                    var _seconds = (int)(TimeUtility.ServerNow - time).TotalSeconds;
                    if (_seconds < config.NeedTime && config.NeedTime - _seconds > seconds)
                    {
                        seconds = config.NeedTime - _seconds;
                    }
                }
            }
            if (m_AlchemingClock != null)
            {
                Clock.Stop(m_AlchemingClock);
                m_AlchemingClock = null;
            }
            if (seconds > 0)
            {
                m_AlchemingClock = Clock.AlarmAfter(seconds, CheckRedpoint);
            }
            stoveLevel = package.StoveLV;
@@ -351,6 +474,8 @@
                    }
                }
            }
            CheckRedpoint();
            if (alchemyStateRefresh != null)
            {
@@ -373,6 +498,134 @@
            if (alchemyDrugUseRefresh != null)
            {
                alchemyDrugUseRefresh();
            }
        }
        static List<int> s_Endables = new List<int>();
        static List<int> s_Studyables = new List<int>();
        static List<int> s_Alchemyables = new List<int>();
        static Dictionary<AlchemyType, List<int>> s_SortQualitys = new Dictionary<AlchemyType, List<int>>();
        public List<int> GetSortQualitys(AlchemyType alchemyType)
        {
            if (!s_SortQualitys.ContainsKey(alchemyType))
            {
                s_SortQualitys.Add(alchemyType, new List<int>(AlchemyConfig.GetAlchemyQualities((int)alchemyType)));
                s_SortQualitys[alchemyType].Sort(QualityCompare);
            }
            return s_SortQualitys[alchemyType];
        }
        private int QualityCompare(int x, int y)
        {
            return -x.CompareTo(y);
        }
        void CheckRedpoint()
        {
            s_Endables.Clear();
            s_Studyables.Clear();
            s_Alchemyables.Clear();
            if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.BlastFurnace))
            {
                RefreshRedpoint();
                return;
            }
            CheckRedpoint(AlchemyType.Normal);
            CheckRedpoint(AlchemyType.Fairy);
            RefreshRedpoint();
        }
        void CheckRedpoint(AlchemyType alchemyType)
        {
            Int2 position;
            if (IsStoveAlcheming(alchemyType, out position))
            {
                var state = GetStoveState(position.y);
                if (state == 2)
                {
                    s_Endables.Add(position.y);
                }
            }
            else
            {
                var qualitys = AlchemyConfig.GetAlchemyQualities((int)alchemyType);
                foreach (var quality in qualitys)
                {
                    var alchemys = AlchemyConfig.GetAlchemies((int)alchemyType, quality);
                    foreach (var id in alchemys)
                    {
                        if (!IsGraspRecipe(id))
                        {
                            var config = AlchemyConfig.Get(id);
                            var count = packModel.GetItemCountByID(PackType.Item, config.LearnNeedItemID);
                            if (count <= 0 || stoveLevel < config.LearnNeedAlchemLV
                                || PlayerDatas.Instance.extersion.luckValue < config.LearnNeedLuck)
                            {
                                continue;
                            }
                            s_Studyables.Add(id);
                        }
                    }
                }
                qualitys = GetSortQualitys(alchemyType);
                foreach (var quality in qualitys)
                {
                    var alchemyable = false;
                    var alchemys = AlchemyConfig.GetAlchemies((int)alchemyType, quality);
                    foreach (var id in alchemys)
                    {
                        if (!IsGraspRecipe(id))
                        {
                            continue;
                        }
                        Item item;
                        if (IsAlchemyEnoughMaterial(id, out item))
                        {
                            s_Alchemyables.Add(id);
                            alchemyable = true;
                        }
                    }
                    if (alchemyable)
                    {
                        break;
                    }
                }
            }
        }
        void RefreshRedpoint()
        {
            var qualitys = AlchemyConfig.GetAlchemyQualities((int)AlchemyType.Normal);
            foreach (var quality in qualitys)
            {
                var alchemys = AlchemyConfig.GetAlchemies((int)AlchemyType.Normal, quality);
                foreach (var id in alchemys)
                {
                    var redpoint = alchemyRedpoints[id];
                    redpoint.studyRedpoint.state = s_Studyables.Contains(id) ? RedPointState.Simple : RedPointState.None;
                    redpoint.endRedpoint.state = s_Endables.Contains(id) ? RedPointState.Simple : RedPointState.None;
                    redpoint.alchemyRedpoint.state = s_Alchemyables.Contains(id) ? RedPointState.Simple : RedPointState.None;
                }
            }
            qualitys = AlchemyConfig.GetAlchemyQualities((int)AlchemyType.Fairy);
            foreach (var quality in qualitys)
            {
                var alchemys = AlchemyConfig.GetAlchemies((int)AlchemyType.Fairy, quality);
                foreach (var id in alchemys)
                {
                    var redpoint = alchemyRedpoints[id];
                    redpoint.studyRedpoint.state = s_Studyables.Contains(id) ? RedPointState.Simple : RedPointState.None;
                    redpoint.endRedpoint.state = s_Endables.Contains(id) ? RedPointState.Simple : RedPointState.None;
                    redpoint.alchemyRedpoint.state = s_Alchemyables.Contains(id) ? RedPointState.Simple : RedPointState.None;
                }
            }
        }
    }
@@ -497,5 +750,21 @@
            return 0;
        }
    }
    public class AlchemyRedpoint
    {
        public readonly Redpoint redpoint;
        public readonly Redpoint studyRedpoint;
        public readonly Redpoint endRedpoint;
        public readonly Redpoint alchemyRedpoint;
        public AlchemyRedpoint(int baseId)
        {
            redpoint = new Redpoint(baseId, AlchemyModel.redpointIndex++);
            studyRedpoint = new Redpoint(redpoint.id, AlchemyModel.redpointIndex++);
            endRedpoint = new Redpoint(redpoint.id, AlchemyModel.redpointIndex++);
            alchemyRedpoint = new Redpoint(redpoint.id, AlchemyModel.redpointIndex++);
        }
    }
}
System/Alchemy/AlchemyQualityCell.cs
@@ -12,6 +12,7 @@
        [SerializeField] Image m_Arrow;
        [SerializeField] Transform m_ContainerSelect;
        [SerializeField] Button m_Func;
        [SerializeField] RedpointBehaviour m_Redpoint;
        int quality = 0;
@@ -28,6 +29,7 @@
            m_QualityName.text = Language.Get("AlchemyQualityName", Language.Get("Num_CHS_" + quality));
            m_ContainerSelect.gameObject.SetActive(model.selectQuality == quality);
            m_Arrow.transform.localEulerAngles = new Vector3(0, 0, model.selectQuality == quality ? -90 : 0);
            m_Redpoint.redpointId = model.GetQualityRedpointId((int)model.selectAlchemyType, quality);
        }
        private void OnSelect()
@@ -38,6 +40,15 @@
            }
            else
            {
                Int2 position;
                if (model.IsStoveAlcheming(model.selectAlchemyType, out position))
                {
                    if (position.x != quality)
                    {
                        SysNotifyMgr.Instance.ShowTip("AlchemingSwitchError");
                        return;
                    }
                }
                model.selectQuality = quality;
            }
        }
System/Alchemy/AlchemyRecipeCell.cs
@@ -12,6 +12,7 @@
        [SerializeField] Text m_UnGrasp;
        [SerializeField] Transform m_ContainerSelect;
        [SerializeField] Button m_Func;
        [SerializeField] RedpointBehaviour m_Redpoint;
        int id = 0;
@@ -33,10 +34,21 @@
            m_UnGrasp.gameObject.SetActive(!model.IsGraspRecipe(id));
            m_ContainerSelect.gameObject.SetActive(model.selectAlchemy == id);
            m_Redpoint.redpointId = model.GetAlchemyRedpointId(id);
        }
        private void OnSelect()
        {
            Int2 position;
            if (model.IsStoveAlcheming(model.selectAlchemyType, out position))
            {
                if (position.y != id)
                {
                    SysNotifyMgr.Instance.ShowTip("AlchemingSwitchError");
                    return;
                }
            }
            model.selectAlchemy = id;
        }
    }
System/Alchemy/AlchemyScrollBehaviour.cs
@@ -24,8 +24,16 @@
            DisplayRecipes();
            var qualities = new List<int>(AlchemyConfig.GetAlchemyQualities(alchemyType));
            var index = qualities.IndexOf(model.selectQuality);
            if (index != -1)
            {
                m_Controller.JumpIndex(index);
            }
            model.selectQualityRefresh += SelectQualityRefresh;
            model.selectAlchemyRefresh += SelectAlchemyRefresh;
            model.alchemyStateRefresh += AlchemyStateRefresh;
        }
        void DisplayRecipes()
@@ -71,10 +79,16 @@
            m_Controller.m_Scorller.RefreshActiveCellViews();
        }
        private void AlchemyStateRefresh()
        {
            m_Controller.m_Scorller.RefreshActiveCellViews();
        }
        public void Dispose()
        {
            model.selectQualityRefresh -= SelectQualityRefresh;
            model.selectAlchemyRefresh -= SelectAlchemyRefresh;
            model.alchemyStateRefresh -= AlchemyStateRefresh;
        }
    }
}
System/Alchemy/AlchemyStoveBehaviour.cs
@@ -200,7 +200,8 @@
            switch (state)
            {
                case 0:
                    if (model.IsStoveAlcheming(model.selectAlchemyType))
                    Int2 alchemyPosition;
                    if (model.IsStoveAlcheming(model.selectAlchemyType, out alchemyPosition))
                    {
                        SysNotifyMgr.Instance.ShowTip("AlchemingError");
                        return;
System/BlastFurnace/BlastFurnaceModel.cs
@@ -7,7 +7,6 @@
using UnityEngine;
using LitJson;
[XLua.LuaCallCSharp]
public class BlastFurnaceModel : Model, IBeforePlayerDataInitialize, IAfterPlayerDataInitialize, IPlayerLoginOk
{
    public BlastFurnaceFuncTitle funcTitle = BlastFurnaceFuncTitle.MakeDan;
@@ -239,18 +238,10 @@
        if (isMakeDan)
        {
            if (!WindowCenter.Instance.IsOpen<MakerDrugSuccessWin>())
            {
                WindowCenter.Instance.Open<MakerDrugSuccessWin>();
            }
            isMakeDan = false;
        }
        else
        {
            if (WindowCenter.Instance.IsOpen<MakerDrugSuccessWin>())
            {
                WindowCenter.Instance.Close<MakerDrugSuccessWin>();
            }
        }
    }
@@ -333,18 +324,10 @@
                {
                    if (makerItemID != 0)
                    {
                        if (!WindowCenter.Instance.IsOpen<MakerDrugSuccessWin>())
                        {
                            WindowCenter.Instance.Open<MakerDrugSuccessWin>();
                        }
                    }
                }
                else
                {
                    if (!WindowCenter.Instance.IsOpen<MakerDrugFailWin>())
                    {
                        WindowCenter.Instance.Open<MakerDrugFailWin>();
                    }
                }
                break;
        }
System/BlastFurnace/BlastFurnaceWin.cs
File was deleted
System/BlastFurnace/BlastFurnaceWin.cs.meta
File was deleted
System/BlastFurnace/DanDrugRecycleTip.cs
File was deleted
System/BlastFurnace/DanDrugRecycleTip.cs.meta
File was deleted
System/BlastFurnace/DanDrugShopCell.cs
File was deleted
System/BlastFurnace/DanDrugShopCell.cs.meta
File was deleted
System/BlastFurnace/DandrugCell.cs
File was deleted
System/BlastFurnace/DandrugCell.cs.meta
File was deleted
System/BlastFurnace/FireChooseCell.cs
File was deleted
System/BlastFurnace/FireChooseCell.cs.meta
File was deleted
System/BlastFurnace/FurnaceFireChooseWin.cs
File was deleted
System/BlastFurnace/FurnaceFireChooseWin.cs.meta
File was deleted
System/BlastFurnace/LingDanTips.cs
File was deleted
System/BlastFurnace/LingDanTips.cs.meta
File was deleted
System/BlastFurnace/MakeDrugSortCell.cs
File was deleted
System/BlastFurnace/MakeDrugSortCell.cs.meta
File was deleted
System/BlastFurnace/MakerDrugFailWin.cs
File was deleted
System/BlastFurnace/MakerDrugFailWin.cs.meta
File was deleted
System/BlastFurnace/MakerDrugSuccessWin.cs
File was deleted
System/BlastFurnace/MakerDrugSuccessWin.cs.meta
File was deleted
System/BlastFurnace/PrayDrugCell.cs
File was deleted
System/BlastFurnace/PrayDrugCell.cs.meta
File was deleted
System/BlastFurnace/PrayForDrugVipLackWin.cs
File was deleted
System/BlastFurnace/PrayForDrugVipLackWin.cs.meta
File was deleted
System/BlastFurnace/PrayForDurgModel.cs
File was deleted
System/BlastFurnace/PrayForDurgModel.cs.meta
File was deleted
System/BlastFurnace/PrayforDrugGetItemWin.cs
File was deleted
System/BlastFurnace/PrayforDrugGetItemWin.cs.meta
File was deleted
System/BlastFurnace/PrayforDrugWin.cs
File was deleted
System/BlastFurnace/PrayforDrugWin.cs.meta
File was deleted
System/BlastFurnace/RecycleDrugCell.cs
File was deleted
System/BlastFurnace/RecycleDrugCell.cs.meta
File was deleted
System/BlastFurnace/SortMakeDrugTable.cs
File was deleted
System/BlastFurnace/SortMakeDrugTable.cs.meta
File was deleted
System/BlastFurnace/StoveRecipeCell.cs
File was deleted
System/BlastFurnace/StoveRecipeCell.cs.meta
File was deleted
System/BlastFurnace/StoveUpgradWin.cs
File was deleted
System/BlastFurnace/StoveUpgradWin.cs.meta
File was deleted
System/BlastFurnace/TreasureEffectCell.cs
File was deleted
System/BlastFurnace/TreasureEffectCell.cs.meta
File was deleted
System/KnapSack/Logic/MakeDrugCell.cs
File was deleted
System/KnapSack/Logic/MakeDrugCell.cs.meta
File was deleted
System/KnapSack/Logic/PackModel.cs
@@ -21,7 +21,7 @@
        Dictionary<int, List<int>> sharedUseCountItemDict { get; set; }
        bool isUpdatePlayerLv = false;
        BlastFurnaceModel FurnaceModel { get { return ModelCenter.Instance.GetModel<BlastFurnaceModel>(); } }
        AlchemyModel alchemyModel { get { return ModelCenter.Instance.GetModel<AlchemyModel>(); } }
        ItemTipsModel itemTipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
        public override void Init()
@@ -1686,7 +1686,19 @@
        public bool IsReachMaxUseDrug(AttrFruitConfig fruitConfig)
        {
            if (fruitConfig == null) return false;
            if (fruitConfig == null)
            {
                return false;
            }
            if (fruitConfig.FuncID == 2)
            {
                AlchemyDrugUseLimit drugUseLimit;
                if (alchemyModel.TryGetAlchemyUseLimit(fruitConfig.ID, out drugUseLimit))
                {
                    return drugUseLimit.IsReachLimit();
                }
            }
            int useNum = GetItemTotalUsedTimes(fruitConfig.ID);
            if (useNum >= fruitConfig.basicUseLimit)
@@ -1694,28 +1706,6 @@
                return true;
            }
            return false;
        }
        List<AttrFruitConfig> limitlist = new List<AttrFruitConfig>();
        public float GetAlchemyProgress(AlchemyConfig alchemy)
        {
            var previewDanlist = FurnaceModel.GetPreviewIdlist(alchemy);
            float progress = 0;
            limitlist.Clear();
            for (int i = 0; i < previewDanlist.Count; i++)
            {
                AttrFruitConfig fruitConfig = AttrFruitConfig.Get(previewDanlist[i]);
                if (fruitConfig != null)
                {
                    limitlist.Add(fruitConfig);
                }
            }
            for (int i = 0; i < limitlist.Count; i++)
            {
                progress += ((float)1 / limitlist.Count) * ((float)GetItemTotalUsedTimes(limitlist[i].ID) / limitlist[i].basicUseLimit);
            }
            return progress * 100;
        }
        #endregion
    }
System/KnapSack/Logic/RoleElixirTipWin.cs
File was deleted
System/KnapSack/Logic/RoleElixirTipWin.cs.meta
File was deleted
System/Realm/ActivateShow.cs
@@ -150,61 +150,6 @@
            }
        }
        public static void StoveUpgrade(int stoveLv)
        {
            activateType = ActivateFunc.Stove;
            propertyCompares.Clear();
            currentPropertyDict.Clear();
            lastPropertyDict.Clear();
            skills.Clear();
            beforeLv = stoveLv - 1;
            currentLv = stoveLv;
            var model = ModelCenter.Instance.GetModel<BlastFurnaceModel>();
            for(int i = 0; i < model.alchemyModellist.Count; i++)
            {
                //if(stoveLv == model.alchemyModellist[i].BlastFurnaceLV)
                //{
                //    skills.Add(model.alchemyModellist[i].AlchemyID);
                //}
            }
            var _beforeConfig = RefineStoveConfig.Get(beforeLv);
            List<int> _beforeProperties = new List<int>();
            if (_beforeConfig != null)
            {
                _beforeProperties.AddRange(_beforeConfig.AttrID);
                for (int i = 0; i < _beforeConfig.AttrID.Length; i++)
                {
                    lastPropertyDict.Add(_beforeConfig.AttrID[i], _beforeConfig.AttrValue[i]);
                }
            }
            var config = RefineStoveConfig.Get(stoveLv);
            for (int i = 0; i < config.AttrID.Length; i++)
            {
                var _index = _beforeProperties.IndexOf(config.AttrID[i]);
                if (_index == -1 || config.AttrValue[i] > _beforeConfig.AttrValue[_index])
                {
                    propertyCompares.Add(new PropertyCompare()
                    {
                        key = config.AttrID[i],
                        beforeValue = _index == -1 ? 0 : _beforeConfig.AttrValue[_index],
                        currentValue = config.AttrValue[i]
                    });
                }
                currentPropertyDict.Add(config.AttrID[i], config.AttrValue[i]);
            }
            fightPower = UIHelper.GetFightPower(currentPropertyDict) - UIHelper.GetFightPower(lastPropertyDict);
            titleIconKey = "XT_LD_01";
            if (!WindowCenter.Instance.IsOpen<StoveUpgradWin>())
            {
                WindowCenter.Instance.Open<StoveUpgradWin>();
            }
        }
        public static void JadeDynastySkillUnlock(int skillId)
        {
            activateType = ActivateFunc.JadeDynastySkill;
System/RolePromote/RolePromoteModel.cs
@@ -29,7 +29,6 @@
            RedpointCenter.Instance.redpointValueChangeEvent += RedpointValueChangeEvent;
            ItemLogicUtility.Instance.GetBetterEquipEvent += RefreshGetBetterEquipEvent;
            MountModel.PlayerLoginOKData += PlayerLoginOKData;
            blastFurnaceModel.blastFurnacePromoteUpdate += BlastFurnacePromoteUpdate;
            PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefreshInfoEvent;
            OnBeforePlayerDataInitialize();
        }
@@ -112,7 +111,7 @@
        }
        BlastFurnaceModel blastFurnaceModel { get { return ModelCenter.Instance.GetModel<BlastFurnaceModel>(); } }
        AlchemyModel alchemyModel { get { return ModelCenter.Instance.GetModel<AlchemyModel>(); } }
        RoleModel roleModel { get { return ModelCenter.Instance.GetModel<RoleModel>(); } }
@@ -468,7 +467,8 @@
                case PromoteDetailType.FairyHeart:
                    return ModelCenter.Instance.GetModel<PlayerMethodData>().fairyHeartRedpoint.state == RedPointState.Simple;
                case PromoteDetailType.BlastFurnace:
                    return blastFurnaceModel.CheckUseDrugLimit();
                    return false;
                    //return alchemyModel.CheckUseDrugLimit();
                case PromoteDetailType.max:
                    break;
            }
System/Treasure/FairyTreasureCollectPanelPattern5.cs
@@ -37,7 +37,7 @@
        [SerializeField] Button m_GotoStove;
        BlastFurnaceModel blastFurnaceModel { get { return ModelCenter.Instance.GetModel<BlastFurnaceModel>(); } }
        AlchemyModel alchemyModel { get { return ModelCenter.Instance.GetModel<AlchemyModel>(); } }
        AchievementModel achievementModel
        {
@@ -323,72 +323,37 @@
            m_ContainerFurnace.gameObject.SetActive(treasure.state == TreasureState.Collected && treasure.level >= 2);
            if (treasure.state == TreasureState.Collected && treasure.level >= 2)
            {
                var stoveLevel = blastFurnaceModel.StoveLV;
                var stoveLevel = alchemyModel.stoveLevel;
                m_FurnaceLv.text = Language.Get("BlastFurnace101", stoveLevel);
                var configNow = RefineStoveConfig.Get(stoveLevel);
                var min = Mathf.Min(m_CurrentPropertyNames.Length, m_CurrentPropertyValues.Length);
                for (int i = 0; i < min; i++)
                {
                    if (i < configNow.AttrID.Length)
                    {
                        m_CurrentPropertyNames[i].gameObject.SetActive(true);
                        m_CurrentPropertyValues[i].gameObject.SetActive(true);
                        var propertyId = configNow.AttrID[i];
                        var propertyConfig = PlayerPropertyConfig.Get(propertyId);
                        m_CurrentPropertyNames[i].text = propertyConfig.Name;
                        m_CurrentPropertyValues[i].text = StringUtility.Contact("+", configNow.AttrValue[i]);
                    }
                    else
                    {
                        m_CurrentPropertyNames[i].gameObject.SetActive(false);
                        m_CurrentPropertyValues[i].gameObject.SetActive(false);
                    }
                    m_CurrentPropertyNames[i].gameObject.SetActive(false);
                    m_CurrentPropertyValues[i].gameObject.SetActive(false);
                }
                var configNext = RefineStoveConfig.Get(stoveLevel + 1);
                var isMax = configNext==null;
                m_NextProperty.gameObject.SetActive(!isMax);
                m_MaxLevelContainer.gameObject.SetActive(isMax);
                m_NextProperty.gameObject.SetActive(false);
                m_MaxLevelContainer.gameObject.SetActive(false);
                if (!isMax)
                {
                    var min1 = Mathf.Min(m_NextPropertyNames.Length, m_NextPropertyValues.Length);
                    for (int i = 0; i < min1; i++)
                    {
                        if (i < configNext.AttrID.Length)
                        {
                            m_NextPropertyNames[i].gameObject.SetActive(true);
                            m_NextPropertyValues[i].gameObject.SetActive(true);
                            var propertyId = configNext.AttrID[i];
                            var propertyConfig = PlayerPropertyConfig.Get(propertyId);
                            m_NextPropertyNames[i].text = propertyConfig.Name;
                            m_NextPropertyValues[i].text = StringUtility.Contact("+", configNext.AttrValue[i]);
                        }
                        else
                        {
                            m_NextPropertyNames[i].gameObject.SetActive(false);
                            m_NextPropertyValues[i].gameObject.SetActive(false);
                        }
                    }
                }
                var isMax = !RefineStoveConfig.Has(stoveLevel + 1);
                var stoveConfig = RefineStoveConfig.Get(stoveLevel);
                m_StoveSlider.minValue = 0;
                if (blastFurnaceModel.GetBlastFurnaceUpgradExp() <= 0)
                m_StoveSlider.maxValue = 1;
                if (isMax)
                {
                    m_StoveSlider.maxValue = 1;
                    m_StoveSlider.value = 1;
                }
                else
                {
                    m_StoveSlider.maxValue = blastFurnaceModel.GetBlastFurnaceUpgradExp();
                    m_StoveSlider.value = blastFurnaceModel.StoveExp;
                    m_StoveSlider.value = Mathf.Clamp01((float)alchemyModel.stoveExp / stoveConfig.Exp);
                }
                if (!blastFurnaceModel.IsReachMaxStoveLv())
                if (!isMax)
                {
                    m_Progress.text = blastFurnaceModel.StoveExp + "/" + blastFurnaceModel.GetBlastFurnaceUpgradExp();
                    m_Progress.text = StringUtility.Contact(alchemyModel.stoveExp, "/", stoveConfig.Exp);
                }
                else
                {
System/WindowBase/ModelCenter.cs
@@ -117,7 +117,6 @@
            RegisterModel<DungeonLiquidModel>();
            RegisterModel<FindPreciousModel>();
            RegisterModel<VipModel>();
            RegisterModel<BlastFurnaceModel>();
            RegisterModel<SignInModel>();
            RegisterModel<TitleModel>();
            RegisterModel<KingFairyModel>();
@@ -184,7 +183,6 @@
            RegisterModel<DogzModel>();
            RegisterModel<FairyGrabBossModel>();
            RegisterModel<GodBeastModel>();
            RegisterModel<PrayForDurgModel>();
            RegisterModel<FeatureNoticeModel>();
            RegisterModel<AwardExchangeModel>();
            RegisterModel<WheelOfFortuneModel>();
System/WindowJump/WindowJumpMgr.cs
@@ -502,7 +502,7 @@
            case JumpUIType.MakeDrug:
                if (ItemOperateUtility.Instance.useItemModel != null)
                {
                    RoleElixirTipWin.makeUseId = ItemOperateUtility.Instance.useItemModel.itemId;
                    //RoleElixirTipWin.makeUseId = ItemOperateUtility.Instance.useItemModel.itemId;
                }
                SetJumpLogic<AlchemyBaseWin>(_tagWinSearchModel.TABID);
                break;
@@ -540,7 +540,6 @@
                break;
            case JumpUIType.Alchemyrescripte104:
            case JumpUIType.Alchemyrescripte105:
                ModelCenter.Instance.GetModel<BlastFurnaceModel>().jumpToPrescripe = int.Parse(_tagWinSearchModel.SelectActive);
                SetJumpLogic<AlchemyBaseWin>(_tagWinSearchModel.TABID);
                break;
            case JumpUIType.AttackMagicianType1:
@@ -698,7 +697,6 @@
                SetJumpLogic<FirstRechargeWin>(_tagWinSearchModel.TABID, true);
                break;
            case JumpUIType.PrayforDrug:
                SetJumpLogic<PrayforDrugWin>(_tagWinSearchModel.TABID);
                break;
            case JumpUIType.JadeDynastyTower288:
                SetJumpLogic<TowerWin>(_tagWinSearchModel.TABID);
@@ -826,12 +824,7 @@
                }
                break;
            case JumpUIType.PrayforDrug:
                var prayModel = ModelCenter.Instance.GetModel<PrayForDurgModel>();
                if (!prayModel.CheckPrayDrugIsOpen())
                {
                    return false;
                }
                break;
                return false;
            case JumpUIType.FaBaoSoul_BenYuan:
            case JumpUIType.FaBaoSoul_FengMo:
            case JumpUIType.FaBaoSoul_Strength: