少年修仙传客户端代码仓库
client_linchunjie
2019-02-19 3fb900c142a876588015f91e072e8729188f0db1
3335 技能表读取修改
7个文件已修改
125 ■■■■ 已修改文件
Core/GameEngine/Model/TelPartialConfig/tagChinSkillConfig.cs 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SkillConfigWrap.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/PlayerDead/ReliveWin.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Skill/SkillAccordWin.cs 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Skill/SkillCell.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Skill/SkillModel.cs 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Skill/SkillPassWin.cs 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/TelPartialConfig/tagChinSkillConfig.cs
@@ -6,14 +6,14 @@
    /// <summary>
    /// 根据职业以及技能类型存储技能
    /// </summary>
    private static Dictionary<int, Dictionary<int, Dictionary<int, List<SkillConfig>>>> m_Skills = new Dictionary<int, Dictionary<int, Dictionary<int, List<SkillConfig>>>>();
    private static Dictionary<int, Dictionary<int, Dictionary<int, List<int>>>> m_Skills = new Dictionary<int, Dictionary<int, Dictionary<int, List<int>>>>();
    public void OnConfigParseCompleted()
    {
        #region 根据职业以及技能类型以及技能等级
        Dictionary<int, Dictionary<int, List<SkillConfig>>> funcDic = null;
        Dictionary<int, List<SkillConfig>> typeDic = null;
        List<SkillConfig> lvlist = null;
        Dictionary<int, Dictionary<int, List<int>>> funcDic = null;
        Dictionary<int, List<int>> typeDic = null;
        List<int> lvlist = null;
        m_Skills.TryGetValue(UseType, out funcDic);
        if (funcDic != null)
        {
@@ -23,30 +23,30 @@
                typeDic.TryGetValue(SkillTypeID, out lvlist);
                if (lvlist != null)
                {
                    lvlist.Add(this);
                    lvlist.Add(SkillID);
                }
                else
                {
                    lvlist = new List<SkillConfig>();
                    lvlist.Add(this);
                    lvlist = new List<int>();
                    lvlist.Add(SkillID);
                    typeDic.Add(SkillTypeID, lvlist);
                }
            }
            else
            {
                typeDic = new Dictionary<int, List<SkillConfig>>();
                lvlist = new List<SkillConfig>();
                lvlist.Add(this);
                typeDic = new Dictionary<int, List<int>>();
                lvlist = new List<int>();
                lvlist.Add(SkillID);
                typeDic.Add(SkillTypeID, lvlist);
                funcDic.Add(FuncType, typeDic);
            }
        }
        else
        {
            funcDic = new Dictionary<int, Dictionary<int, List<SkillConfig>>>();
            typeDic = new Dictionary<int, List<SkillConfig>>();
            lvlist = new List<SkillConfig>();
            lvlist.Add(this);
            funcDic = new Dictionary<int, Dictionary<int, List<int>>>();
            typeDic = new Dictionary<int, List<int>>();
            lvlist = new List<int>();
            lvlist.Add(SkillID);
            typeDic.Add(SkillTypeID, lvlist);
            funcDic.Add(FuncType, typeDic);
            m_Skills.Add(UseType, funcDic);
@@ -69,10 +69,10 @@
    /// <param name="occupy"></param>
    /// <param name="type"></param>
    /// <returns></returns>
    public static Dictionary<int, List<SkillConfig>> GetSkillWithOccpyAndType(int occupy, int type)
    public static Dictionary<int, List<int>> GetSkillWithOccpyAndType(int occupy, int type)
    {
        Dictionary<int, Dictionary<int, List<SkillConfig>>> dic = null;
        Dictionary<int, List<SkillConfig>> typeDic = null;
        Dictionary<int, Dictionary<int, List<int>>> dic = null;
        Dictionary<int, List<int>> typeDic = null;
        m_Skills.TryGetValue(occupy, out dic);
        if (dic != null)
        {
@@ -81,10 +81,10 @@
        return typeDic;
    }
    public static List<SkillConfig> GetSkillActConfigs(int occupy, int type, int _typeId)
    public static List<int> GetSkills(int occupy, int type, int _typeId)
    {
        List<SkillConfig> _list = null;
        Dictionary<int, List<SkillConfig>> _dict = GetSkillWithOccpyAndType(occupy, type);
        List<int> _list = null;
        Dictionary<int, List<int>> _dict = GetSkillWithOccpyAndType(occupy, type);
        if (_dict != null)
        {
            _dict.TryGetValue(_typeId, out _list);
@@ -92,9 +92,9 @@
        return _list;
    }
    public static Dictionary<int, Dictionary<int, List<SkillConfig>>> GetSkillActive(int occupy)
    public static Dictionary<int, Dictionary<int, List<int>>> GetSkillActive(int occupy)
    {
        Dictionary<int, Dictionary<int, List<SkillConfig>>> dic = null;
        Dictionary<int, Dictionary<int, List<int>>> dic = null;
        m_Skills.TryGetValue(occupy, out dic);
        return dic;
    }
Lua/Gen/SkillConfigWrap.cs
@@ -113,7 +113,7 @@
            Utils.RegisterFunc(L, Utils.CLS_IDX, "Has", _m_Has_xlua_st_);
            Utils.RegisterFunc(L, Utils.CLS_IDX, "Init", _m_Init_xlua_st_);
            Utils.RegisterFunc(L, Utils.CLS_IDX, "GetSkillWithOccpyAndType", _m_GetSkillWithOccpyAndType_xlua_st_);
            Utils.RegisterFunc(L, Utils.CLS_IDX, "GetSkillActConfigs", _m_GetSkillActConfigs_xlua_st_);
            Utils.RegisterFunc(L, Utils.CLS_IDX, "GetSkills", _m_GetSkills_xlua_st_);
            Utils.RegisterFunc(L, Utils.CLS_IDX, "GetSkillActive", _m_GetSkillActive_xlua_st_);
            Utils.RegisterFunc(L, Utils.CLS_IDX, "GetSkillTypeIDAndSkillLV", _m_GetSkillTypeIDAndSkillLV_xlua_st_);
            Utils.RegisterFunc(L, Utils.CLS_IDX, "FindSkillByJob", _m_FindSkillByJob_xlua_st_);
@@ -378,7 +378,7 @@
                    int _occupy = LuaAPI.xlua_tointeger(L, 1);
                    int _type = LuaAPI.xlua_tointeger(L, 2);
                    
                        System.Collections.Generic.Dictionary<int, System.Collections.Generic.List<SkillConfig>> gen_ret = SkillConfig.GetSkillWithOccpyAndType( _occupy, _type );
                        System.Collections.Generic.Dictionary<int, System.Collections.Generic.List<int>> gen_ret = SkillConfig.GetSkillWithOccpyAndType( _occupy, _type );
                        translator.Push(L, gen_ret);
                    
                    
@@ -393,7 +393,7 @@
        }
        
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_GetSkillActConfigs_xlua_st_(RealStatePtr L)
        static int _m_GetSkills_xlua_st_(RealStatePtr L)
        {
            try {
            
@@ -407,7 +407,7 @@
                    int _type = LuaAPI.xlua_tointeger(L, 2);
                    int __typeId = LuaAPI.xlua_tointeger(L, 3);
                    
                        System.Collections.Generic.List<SkillConfig> gen_ret = SkillConfig.GetSkillActConfigs( _occupy, _type, __typeId );
                        System.Collections.Generic.List<int> gen_ret = SkillConfig.GetSkills( _occupy, _type, __typeId );
                        translator.Push(L, gen_ret);
                    
                    
@@ -434,7 +434,7 @@
                {
                    int _occupy = LuaAPI.xlua_tointeger(L, 1);
                    
                        System.Collections.Generic.Dictionary<int, System.Collections.Generic.Dictionary<int, System.Collections.Generic.List<SkillConfig>>> gen_ret = SkillConfig.GetSkillActive( _occupy );
                        System.Collections.Generic.Dictionary<int, System.Collections.Generic.Dictionary<int, System.Collections.Generic.List<int>>> gen_ret = SkillConfig.GetSkillActive( _occupy );
                        translator.Push(L, gen_ret);
                    
                    
System/PlayerDead/ReliveWin.cs
@@ -88,7 +88,7 @@
        {
            List<int> buffIds = new List<int>();
            StatusMgr.Instance.GetBuffIds(PlayerDatas.Instance.PlayerId, ref buffIds);
            var skillConfigs = SkillConfig.GetSkillActConfigs(0, 0, DeadModel.deadBuffId);
            var skillIds = SkillConfig.GetSkills(0, 0, DeadModel.deadBuffId);
            string skillName = string.Empty;
            int buffLv = 0;
            bool isMaxBuff = false;
@@ -107,9 +107,10 @@
                }
            }
            if (skillConfigs != null && skillConfigs.Count > 0)
            if (skillIds != null && skillIds.Count > 0)
            {
                SkillConfig skillConfig = skillConfigs[0];
                var skillId = skillIds[0];
                var skillConfig = SkillConfig.Get(skillId);
                skillName = skillConfig.SkillName;
            }
            buffText.text = Language.Get("AncientBattlefield_Text_2", skillName);
System/Skill/SkillAccordWin.cs
@@ -34,7 +34,7 @@
        [SerializeField] SkillTurnplate m_SkillTurnplate;
        [SerializeField] Button m_AutoUseXp;
        [SerializeField] Image m_AutoXpCheck;
        private List<SkillConfig> skillListAct = new List<SkillConfig>();
        private List<int> skillListAct = new List<int>();
        private bool onXpCoolDown = false;
        private bool m_IsAutoUseXp = false;
@@ -189,7 +189,7 @@
                if (index < skillListAct.Count)
                {
                    if(AchievementGoto.achievementType==AchievementGoto.ExcuteSkill
                        && skillListAct[index].SkillID == m_AchieveSkillId)
                        && skillListAct[index] == m_AchieveSkillId)
                    {
                        var _effect = AchievementGuideEffectPool.Require(3);
                        _effect.transform.SetParentEx(skillTran, Vector3.zero, Vector3.zero, Vector3.one);
@@ -229,32 +229,32 @@
                DebugEx.LogErrorFormat("不存在该职业的技能{0}", _skillJobKey);
                return;
            }
            Dictionary<int, List<SkillConfig>> dic = model.skillActDict[_skillJobKey];
            Dictionary<int, List<int>> dic = model.skillActDict[_skillJobKey];
            Dictionary<int, PlayerSkillData> playerskills = PlayerDatas.Instance.skill.GetAllSkill();
            skillListAct.Clear();
            foreach (int key in dic.Keys)
            {
                List<SkillConfig> typeList = dic[key];
                SkillConfig lvCfg = typeList[0];
                foreach (SkillConfig cfg in typeList)
                List<int> typeList = dic[key];
                var skillId = typeList[0];
                foreach (var id in typeList)
                {
                    if (PlayerDatas.Instance.skill.GetSKillById(cfg.SkillID) != null)
                    if (PlayerDatas.Instance.skill.GetSKillById(id) != null)
                    {
                        lvCfg = cfg;
                        skillId = id;
                        break;
                    }
                }
                if (PlayerDatas.Instance.skill.GetFilterPlayerSkill(PlayerDatas.Instance.baseData.Job).Contains(lvCfg.SkillID))
                if (PlayerDatas.Instance.skill.GetFilterPlayerSkill(PlayerDatas.Instance.baseData.Job).Contains(skillId))
                {
                    continue;
                }
                skillListAct.Add(lvCfg);
                skillListAct.Add(skillId);
            }
            if (skillListAct.Count < 1)
            {
                return;
            }
            model.presentSltSkillID = skillListAct[0].SkillID;
            model.presentSltSkillID = skillListAct[0];
            flipActScroll.pageCnt = Mathf.CeilToInt((float)skillListAct.Count / SkillModel.ACT_SKILL_NUM);
            UpdateSltSkill();
        }
@@ -484,7 +484,7 @@
                    m_AchieveSkillId = _skillId;
                    var _index = skillListAct.FindIndex((x) =>
                     {
                         return x.SkillID == _skillId;
                         return x == _skillId;
                     });
                    if (_index != -1)
                    {
System/Skill/SkillCell.cs
@@ -57,17 +57,17 @@
            m_Time = 0;
        }
        public void Refresh(SkillConfig skillCfg)
        public void Refresh(int skillId)
        {
            skill.SetSkillData(skillCfg.SkillID);
            if (model.presentSltSkillID == skillCfg.SkillID) {
            skill.SetSkillData(skillId);
            if (model.presentSltSkillID == skillId) {
                skill.m_SelectImg.gameObject.SetActive(true);
            }
            else {
                skill.m_SelectImg.gameObject.SetActive(false);
            }
            skill.SetActive(PlayerDatas.Instance.skill.GetSKillById(skillCfg.SkillID) != null);
            skill.SetActive(PlayerDatas.Instance.skill.GetSKillById(skillId) != null);
            skill.m_SkillBtn.onClick.RemoveAllListeners();
            skill.m_SkillBtn.onClick.AddListener(OnClickSkill);
        }
System/Skill/SkillModel.cs
@@ -45,7 +45,7 @@
        public int passEquipCnt { get; private set; }
        public Dictionary<int, int[]> passEquipGetWays = new Dictionary<int, int[]>();
        public Dictionary<int, string> passEquipGetWayTxts;
        public Dictionary<int, Dictionary<int, List<SkillConfig>>> skillActDict { get; private set; }
        public Dictionary<int, Dictionary<int, List<int>>> skillActDict { get; private set; }
        public List<int> betterPassSkills { get; private set; }
        public bool jumpToPass { get; set; }
        public int minTaskHole { get; private set; }
@@ -98,12 +98,12 @@
                passEquipGetWayTxts = ConfigParse.GetDic<int, string>(funcCfg.Numerical2);
            }
            funcCfg = FuncConfigConfig.Get("SkillActTypeIdSort");
            skillActDict = new Dictionary<int, Dictionary<int, List<SkillConfig>>>();
            skillActDict = new Dictionary<int, Dictionary<int, List<int>>>();
            var _JobTypeIds = ConfigParse.GetMultipleStr<int>(funcCfg.Numerical1);
            var _dict = new Dictionary<int, List<SkillConfig>>();
            var _dict = new Dictionary<int, List<int>>();
            for (int i = 0; i < _JobTypeIds.Length; i++)
            {
                var _list = SkillConfig.GetSkillActConfigs(2, ACT_SKILL_TYPE, _JobTypeIds[i]);
                var _list = SkillConfig.GetSkills(2, ACT_SKILL_TYPE, _JobTypeIds[i]);
                if (_list != null)
                {
                    _dict.Add(_JobTypeIds[i], _list);
@@ -111,10 +111,10 @@
            }
            skillActDict.Add(2, _dict);
            _JobTypeIds = ConfigParse.GetMultipleStr<int>(funcCfg.Numerical2);
            _dict = new Dictionary<int, List<SkillConfig>>();
            _dict = new Dictionary<int, List<int>>();
            for (int i = 0; i < _JobTypeIds.Length; i++)
            {
                var _list = SkillConfig.GetSkillActConfigs(4, ACT_SKILL_TYPE, _JobTypeIds[i]);
                var _list = SkillConfig.GetSkills(4, ACT_SKILL_TYPE, _JobTypeIds[i]);
                if (_list != null)
                {
                    _dict.Add(_JobTypeIds[i], _list);
@@ -122,10 +122,10 @@
            }
            skillActDict.Add(4, _dict);
            _JobTypeIds = ConfigParse.GetMultipleStr<int>(funcCfg.Numerical3);
            _dict = new Dictionary<int, List<SkillConfig>>();
            _dict = new Dictionary<int, List<int>>();
            for (int i = 0; i < _JobTypeIds.Length; i++)
            {
                var _list = SkillConfig.GetSkillActConfigs(8, ACT_SKILL_TYPE, _JobTypeIds[i]);
                var _list = SkillConfig.GetSkills(8, ACT_SKILL_TYPE, _JobTypeIds[i]);
                if (_list != null)
                {
                    _dict.Add(_JobTypeIds[i], _list);
System/Skill/SkillPassWin.cs
@@ -37,7 +37,7 @@
        [SerializeField] RectTransform m_ContainerGetWay;
        [SerializeField] ClickScreenOtherSpace clickOtherSpace;
        [SerializeField, Header("特效时长")] float m_EffectDuration = 1f;
        private List<SkillConfig> skillListPass = new List<SkillConfig>();
        private List<int> skillListPass = new List<int>();
        private int presentSltEquipIndex = -1;
        Coroutine cacheCoroutine = null;
@@ -386,21 +386,21 @@
        void GetSkillList()
        {
            Dictionary<int, List<SkillConfig>> dic = SkillConfig.GetSkillWithOccpyAndType((int)Mathf.Pow(2, PlayerDatas.Instance.baseData.Job), SkillModel.PASS_SKILL_TYPE);
            Dictionary<int, List<int>> dic = SkillConfig.GetSkillWithOccpyAndType((int)Mathf.Pow(2, PlayerDatas.Instance.baseData.Job), SkillModel.PASS_SKILL_TYPE);
            Dictionary<int, PlayerSkillData> playerskills = PlayerDatas.Instance.skill.GetAllSkill();
            skillListPass.Clear();
            foreach (int key in dic.Keys)
            {
                SkillConfig lvCfg = dic[key][0];
                foreach (SkillConfig cfg in dic[key])
                var skillId = dic[key][0];
                foreach (var id in dic[key])
                {
                    if (PlayerDatas.Instance.skill.GetSKillById(cfg.SkillID) != null) { lvCfg = cfg; break; }
                    if (PlayerDatas.Instance.skill.GetSKillById(id) != null) { skillId = id; break; }
                }
                if (PlayerDatas.Instance.skill.GetFilterPlayerSkill(PlayerDatas.Instance.baseData.Job).Contains(lvCfg.SkillID)) continue;
                skillListPass.Add(lvCfg);
                if (PlayerDatas.Instance.skill.GetFilterPlayerSkill(PlayerDatas.Instance.baseData.Job).Contains(skillId)) continue;
                skillListPass.Add(skillId);
            }
            if (skillListPass.Count < 1) return;
            model.presentSltSkillID = skillListPass[0].SkillID;
            model.presentSltSkillID = skillListPass[0];
            flipScroll.pageCnt = Mathf.CeilToInt((float)skillListPass.Count / SkillModel.PASS_SKILL_NUM);
            flipScroll.RefreshActive();
        }