少年修仙传客户端代码仓库
5555 子 【优化】【1.4】坐骑、灵宠红点优化 / 【前端】【1.4】坐骑、灵宠红点优化
2个文件已修改
105 ■■■■■ 已修改文件
System/Mount/PlayerMountDatas.cs 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Pet/PlayerPetDatas.cs 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Mount/PlayerMountDatas.cs
@@ -332,7 +332,27 @@
        }
        int GetMinLV = 100;
        int GetMountID = 0;
        for (int j = 0; j < SortMount.Count; j++)
        for (int j = 0; j < SortMount.Count; j++)//选取出可升级坐骑等级最低且有未激活技能的坐骑
        {
            int Id = SortMount[j].HorseID;
            int GetHorseMaxLv = GetMountSkillMaxLV(Id);
            if (IntList.Contains(Id) && _DicHorse.ContainsKey(Id))
            {
                if (_DicHorse[Id].Lv < GetMinLV && _DicHorse[Id].Lv< GetHorseMaxLv)
                {
                    GetMinLV = _DicHorse[Id].Lv;
                    GetMountID = Id;
                }
            }
        }
        if (GetMountID != 0 && ASingleFeedRedPoint.ContainsKey(GetMountID))
        {
            ASingleFeedRedPoint[GetMountID].state = RedPointState.Simple;
            return;
        }
        for (int j = 0; j < SortMount.Count; j++)//选取出可升级坐骑等级最低
        {
            int Id = SortMount[j].HorseID;
            if (IntList.Contains(Id) && _DicHorse.ContainsKey(Id))
@@ -344,26 +364,10 @@
                }
            }
        }
        bool IsFullBool = true;
        foreach (var key in _DicHorse.Keys)
        if (GetMountID != 0 && ASingleFeedRedPoint.ContainsKey(GetMountID))
        {
            if (_DicHorse[key].Lv < 20)
            {
                IsFullBool = false;
            }
        }
        if (ASingleFeedRedPoint.ContainsKey(GetMountID))
        {
            if (_DicHorse[GetMountID].Lv < 20)
            {
                ASingleFeedRedPoint[GetMountID].state = RedPointState.Simple;
                return;
            }
            else if (_DicHorse[GetMountID].Lv >= 20 && IsFullBool)
            {
                ASingleFeedRedPoint[GetMountID].state = RedPointState.Simple;
                return;
            }
            ASingleFeedRedPoint[GetMountID].state = RedPointState.Simple;
            return;
        }
    }
@@ -378,9 +382,11 @@
        }
        int GetMountID = 0;
        int MountLV = 999;
        foreach (var key in _DicHorse.Keys)//无红点时跳转选中最低阶数
        foreach (var key in _DicHorse.Keys)//无红点时跳转选中最低阶数且未满级
        {
            if (_DicHorse[key].Lv < MountLV)
            var mountConfig = Config.Instance.Get<HorseConfig>(key);
            if (_DicHorse[key].Lv < MountLV && _DicHorse[key].Lv< mountConfig.MaxLV)
            {
                GetMountID = key;
                MountLV = _DicHorse[key].Lv;
@@ -389,7 +395,7 @@
        return GetMountID;
    }
    public int GetMountSkillMaxLV(int MountId)//获取灵宠最大技能等级
    public int GetMountSkillMaxLV(int MountId)//获取坐骑最大技能等级
    {
        int SkillLv = 0;
        foreach (var key in GetMountSkillAndItem.Keys)
System/Pet/PlayerPetDatas.cs
@@ -356,7 +356,32 @@
                return;
            }
        }
        for (int i = 0; i < ListInt.Count; i++)
        for (int i = 0; i < ListInt.Count; i++)//选择出升级灵宠等级最低且有技能未解锁的
        {
            if (_DicPetBack.ContainsKey(ListInt[i]))
            {
                var PetConfig = Config.Instance.Get<PetInfoConfig>(ListInt[i]);
                if (PetConfig == null)
                {
                    return;
                }
                int[] SkillUnLockInt = PetConfig.SkillUnLock;
                int SkillLvMax = SkillUnLockInt[(SkillUnLockInt.Length-1)];
                if (_DicPetBack[(ListInt[i])].PetClass < petLv && _DicPetBack[(ListInt[i])].PetClass<SkillLvMax)
                {
                    petLv = _DicPetBack[(ListInt[i])].PetClass;
                    GetPetId = (ListInt[i]);
                }
            }
        }
        if (GetPetId != 0 && CultivateRedPoint.ContainsKey(GetPetId))
        {
            CultivateRedPoint[GetPetId].state = RedPointState.Simple;
            return;
        }
        for (int i = 0; i < ListInt.Count; i++)//选择出等级最低的灵宠
        {
            if (_DicPetBack.ContainsKey(ListInt[i]))
            {
@@ -367,26 +392,10 @@
                }
            }
        }
        bool IsFullBool = true;
        foreach (var key in _DicPetBack.Keys)
        if (GetPetId != 0 && CultivateRedPoint.ContainsKey(GetPetId))
        {
            if (_DicPetBack[key].PetClass < 20)
            {
                IsFullBool = false;
            }
        }
        if (CultivateRedPoint.ContainsKey(GetPetId))
        {
            if (_DicPetBack[GetPetId].PetClass < 20)
            {
                CultivateRedPoint[GetPetId].state = RedPointState.Simple;
                return;
            }
            else if (_DicPetBack[GetPetId].PetClass >= 20 && IsFullBool)
            {
                CultivateRedPoint[GetPetId].state = RedPointState.Simple;
                return;
            }
            CultivateRedPoint[GetPetId].state = RedPointState.Simple;
            return;
        }
    }
@@ -401,9 +410,11 @@
        }
        int GetPetId = 0;
        int GetPetLv = 999;
        foreach (var key in _DicPetBack.Keys)//无红点时跳转选中等级最低的
        {
            if (_DicPetBack[key].PetClass < GetPetLv)
            var config = Config.Instance.Get<PetInfoConfig>(key);
            if (_DicPetBack[key].PetClass < GetPetLv && _DicPetBack[key].PetClass < config.MaxRank)
            {
                GetPetId = key;
                GetPetLv = _DicPetBack[key].PetClass;