少年修仙传客户端代码仓库
client_Hale
2018-10-22 ba025c1f898e0247b2056d1aa55193d78afa3655
4253 【前端】离线挂机技能根据等级释放
3个文件已修改
104 ■■■■■ 已修改文件
Core/GameEngine/Model/Config/JobSetupConfig.cs 61 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/JobSetupConfig.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GA_Player.cs 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/JobSetupConfig.cs
@@ -1,14 +1,14 @@
//--------------------------------------------------------
//    [Author]:            第二世界
//    [  Date ]:           Wednesday, June 20, 2018
//--------------------------------------------------------
using UnityEngine;
using System;
namespace TableConfig {
//--------------------------------------------------------
//    [Author]:            第二世界
//    [  Date ]:           Monday, October 22, 2018
//--------------------------------------------------------
using UnityEngine;
using System;
namespace TableConfig {
    public partial class JobSetupConfig : ConfigBase {
        public int Job { get ; private set ; }
@@ -29,17 +29,18 @@
        public int MaxSwitchTargetDist { get ; private set ; }
        public int[] HangupSkillList;
        public string DungeonSkillList { get ; private set; } 
        public string OffLineSkillList { get ; private set; }
        public int HpPerUseSkill { get ; private set ; }
        public int[] HpSkillList;
        public int[] GainSkillList;
        public int MoveLimitDist { get ; private set ; }
        public override string getKey()
        {
            return Job.ToString();
        }
        public override void Parse() {
        }
        public override void Parse() {
            try
            {
                Job=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0; 
@@ -103,34 +104,36 @@
            
                DungeonSkillList = rawContents[17].Trim();
            
                HpPerUseSkill=IsNumeric(rawContents[18]) ? int.Parse(rawContents[18]):0;
                OffLineSkillList = rawContents[18].Trim();
            
                string[] HpSkillListStringArray = rawContents[19].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                HpPerUseSkill=IsNumeric(rawContents[19]) ? int.Parse(rawContents[19]):0;
                string[] HpSkillListStringArray = rawContents[20].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                HpSkillList = new int[HpSkillListStringArray.Length];
                for (int i=0;i<HpSkillListStringArray.Length;i++)
                {
                     int.TryParse(HpSkillListStringArray[i],out HpSkillList[i]);
                }
            
                string[] GainSkillListStringArray = rawContents[20].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                string[] GainSkillListStringArray = rawContents[21].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                GainSkillList = new int[GainSkillListStringArray.Length];
                for (int i=0;i<GainSkillListStringArray.Length;i++)
                {
                     int.TryParse(GainSkillListStringArray[i],out GainSkillList[i]);
                }
            
                MoveLimitDist=IsNumeric(rawContents[21]) ? int.Parse(rawContents[21]):0;
                MoveLimitDist=IsNumeric(rawContents[22]) ? int.Parse(rawContents[22]):0;
            }
            catch (Exception ex)
            {
                DebugEx.Log(ex);
            }
        }
    }
}
            }
        }
    }
}
Core/GameEngine/Model/Config/JobSetupConfig.cs.meta
@@ -1,7 +1,7 @@
fileFormatVersion: 2
guid: 027514b321a62b343897e7bda10272ee
timeCreated: 1529458253
licenseType: Pro
timeCreated: 1540189086
licenseType: Free
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
Fight/GameActor/GA_Player.cs
@@ -11,7 +11,8 @@
    public static UnityAction<uint, bool> s_OnSelected;
    public static UnityAction<uint, ulong, ulong> s_OnRefreshLife;
    private static Dictionary<int, Dictionary<int, List<int>>> m_StaticOffLineSkllList = new Dictionary<int, Dictionary<int, List<int>>>();
    private int[] m_OffLineSkillList;
    protected H0434_tagAreaPlayerAppearEx m_H0434;
    private CmdManager m_CmdManager;
@@ -155,6 +156,34 @@
        RequestName();
        m_CmdManager = new CmdManager();
        if (m_H0434.State == 1)
        {
            if (!m_StaticOffLineSkllList.ContainsKey(m_H0434.Job))
            {
                m_StaticOffLineSkllList.Add(m_H0434.Job, new Dictionary<int, List<int>>());
                var _json = LitJson.JsonMapper.ToObject(JobSetup.OffLineSkillList);
                foreach (var _level in _json.Keys)
                {
                    var _list = new List<int>();
                    for (int i = 0; i < _json[_level].Count; ++i)
                    {
                        _list.Add((int)_json[_level][i]);
                    }
                    m_StaticOffLineSkllList[m_H0434.Job].Add(int.Parse(_level), _list);
                }
            }
            foreach (var _level in m_StaticOffLineSkllList[m_H0434.Job].Keys)
            {
                if (m_H0434.LV < _level)
                {
                    m_OffLineSkillList = m_StaticOffLineSkllList[m_H0434.Job][_level].ToArray();
                    break;
                }
            }
        }
    }
    protected sealed override void OnUnit()
@@ -167,6 +196,7 @@
        m_CmdManager = null;
        m_H0434 = null;
        m_OffLineSkillList = null;
        base.OnUnit();
    }
@@ -570,10 +600,11 @@
        }
        Skill _castSkill = null;
        int _skillIndex = UnityEngine.Random.Range(0, JobSetup.HangupSkillList.Length);
        if (SkillMgr.Get(JobSetup.HangupSkillList[_skillIndex]).IsValid())
        int _skillIndex = UnityEngine.Random.Range(0, m_OffLineSkillList.Length);
        if (SkillMgr.Get(m_OffLineSkillList[_skillIndex]).IsValid())
        {
            _castSkill = SkillMgr.Get(JobSetup.HangupSkillList[_skillIndex]);
            _castSkill = SkillMgr.Get(m_OffLineSkillList[_skillIndex]);
        }
        if (_castSkill == null)