少年修仙传客户端代码仓库
6830 子 【2.0】【开发】初次获得未学习的丹方物品提示使用 / 【2.0】【前端】初次获得未学习的丹方物品提示使用
5个文件已修改
118 ■■■■ 已修改文件
System/Alchemy/AlchemyModel.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Alchemy/AlchemyStudyBehaviour.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/ItemLogicUtility.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/ItemOperateUtility.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/WindowJump/WindowJumpMgr.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Alchemy/AlchemyModel.cs
@@ -288,6 +288,44 @@
            return m_AlchemyDrugUseLimits.TryGetValue(id, out drugUseLimit);
        }
        public bool TryLearn(int alchmeyId, out int error)
        {
            error = 0;
            var config = AlchemyConfig.Get(alchmeyId);
            if (stoveLevel < config.LearnNeedAlchemLV)
            {
                error = 2;
                return false;
            }
            if (PlayerDatas.Instance.extersion.luckValue < config.LearnNeedLuck)
            {
                error = 3;
                return false;
            }
            var count = packModel.GetItemCountByID(PackType.Item, config.LearnNeedItemID);
            if (count <= 0)
            {
                error = 1;
                return false;
            }
            return true;
        }
        public bool TryGetAlchemyByStudyMaterial(int id, out int alchemyId)
        {
            alchemyId = 0;
            var configs = AlchemyConfig.GetValues();
            foreach (var config in configs)
            {
                if (config.LearnNeedItemID == id)
                {
                    alchemyId = config.ID;
                    return true;
                }
            }
            return false;
        }
        public int GetAlchemyRedpointId(int id)
        {
            return alchemyRedpoints.ContainsKey(id) ? alchemyRedpoints[id].redpoint.id : 0;
System/Alchemy/AlchemyStudyBehaviour.cs
@@ -64,14 +64,14 @@
        void DisplayFuncState()
        {
            var error = 0;
            var satisfyLearn = TryLearn(out error);
            var satisfyLearn = model.TryLearn(model.selectAlchemy, out error);
            m_Func.SetColorful(m_FuncLabel, satisfyLearn);
        }
        private void Learn()
        {
            var error = 0;
            if (TryLearn(out error))
            if (model.TryLearn(model.selectAlchemy, out error))
            {
                var pak = new CA576_tagCMPlayerRefine();
                pak.AlchemyID = (uint)model.selectAlchemy;
@@ -82,29 +82,6 @@
            {
                DisplayErrorTip(error);
            }
        }
        bool TryLearn(out int error)
        {
            error = 0;
            var config = AlchemyConfig.Get(model.selectAlchemy);
            if (model.stoveLevel < config.LearnNeedAlchemLV)
            {
                error = 2;
                return false;
            }
            if (PlayerDatas.Instance.extersion.luckValue < config.LearnNeedLuck)
            {
                error = 3;
                return false;
            }
            var count = packModel.GetItemCountByID(PackType.Item, config.LearnNeedItemID);
            if (count <= 0)
            {
                error = 1;
                return false;
            }
            return true;
        }
        void DisplayErrorTip(int error)
System/KnapSack/Logic/ItemLogicUtility.cs
@@ -31,6 +31,7 @@
        MagicianModel magicianModel { get { return ModelCenter.Instance.GetModel<MagicianModel>(); } }
        ComposeWinModel composeModel { get { return ModelCenter.Instance.GetModel<ComposeWinModel>(); } }
        EquipModel equipModel { get { return ModelCenter.Instance.GetModel<EquipModel>(); } }
        AlchemyModel alchemyModel { get { return ModelCenter.Instance.GetModel<AlchemyModel>(); } }
        public void Init()
        {
@@ -575,6 +576,31 @@
                    {
                        return false;
                    }
                    break;
                case 55:
                    if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.BlastFurnace))
                    {
                        return false;
                    }
                    var alchemyId = 0;
                    if (alchemyModel.TryGetAlchemyByStudyMaterial(item.itemId, out alchemyId))
                    {
                        var alchemyConfig = AlchemyConfig.Get(alchemyId);
                        Int2 position;
                        if (alchemyModel.IsStoveAlcheming((AlchemyType)alchemyConfig.AlchemType, out position))
                        {
                            return false;
                        }
                        if (alchemyModel.IsGraspRecipe(alchemyId))
                        {
                            return false;
                        }
                        var studyError = 0;
                        if (!alchemyModel.TryLearn(alchemyId, out studyError))
                        {
                            return false;
                        }
                    }
                    break;
                case 127:
                    var error = 0;
System/KnapSack/Logic/ItemOperateUtility.cs
@@ -417,7 +417,28 @@
                case 83:
                    var fashionModel = ModelCenter.Instance.GetModel<FashionDressModel>();
                    fashionModel.jumpFashionDress = useItemModel.config.EffectValueA1;
                    break;
                    break;
                case 55:
                    var alchemyId = 0;
                    if (alchemyModel.TryGetAlchemyByStudyMaterial(useItemModel.itemId, out alchemyId))
                    {
                        var alchemyConfig = AlchemyConfig.Get(alchemyId);
                        Int2 position;
                        if (alchemyModel.IsStoveAlcheming((AlchemyType)alchemyConfig.AlchemType, out position))
                        {
                            SysNotifyMgr.Instance.ShowTip("AlchemyStudyJumpError_1");
                            return;
                        }
                        if (alchemyModel.IsGraspRecipe(alchemyId))
                        {
                            SysNotifyMgr.Instance.ShowTip("AlchemyStudyJumpError_2");
                            return;
                        }
                        alchemyModel.jumpAlchemy = alchemyId;
                        WindowJumpMgr.Instance.WindowJumpTo((AlchemyType)alchemyConfig.AlchemType == AlchemyType.Normal ?
                            JumpUIType.AlchemyNormal : JumpUIType.AlchemyFairy);
                    }
                    return;
            }
            switch (useItemModel.config.ID)
System/WindowJump/WindowJumpMgr.cs
@@ -389,6 +389,8 @@
                SetJumpLogic<LootPreciousFrameWin>(_tagWinSearchModel.TABID);
                break;
            case JumpUIType.BlastFurnaceFunc1:
            case JumpUIType.AlchemyNormal:
            case JumpUIType.AlchemyFairy:
                SetJumpLogic<AlchemyBaseWin>(_tagWinSearchModel.TABID);
                break;
            case JumpUIType.MyTeamType1:
@@ -1679,6 +1681,8 @@
    RealmEquip1 = 317,
    Alchemy6 = 318,
    FullServerAuction = 319,
    AlchemyNormal = 320,
    AlchemyFairy = 321,
    DhszTs = 1001,//定海神针功法提升界面
    HyqTs = 1002,//皓月枪功法提升界面