少年修仙传客户端代码仓库
xingchen Qiu
2019-04-10 b9d3eab54318ee83a95980bd1e5f5a9feb52b9ae
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
3个文件已修改
323 ■■■■ 已修改文件
Core/GameEngine/Model/Config/JobSetupConfig.cs 290 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/JobSetupConfig.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GA_Hero.cs 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/JobSetupConfig.cs
@@ -1,6 +1,6 @@
//--------------------------------------------------------
//    [Author]:           Fish
//    [  Date ]:           Thursday, February 14, 2019
//    [  Date ]:           Wednesday, April 10, 2019
//--------------------------------------------------------
using System.Collections.Generic;
@@ -14,30 +14,31 @@
{
    public readonly int Job;
    public readonly int[] BaseEquip;
    public readonly int[] ComAtkIdList;
    public readonly int[] StopAction;
    public readonly int[] CanStopSkillList;
    public readonly string CanBeStopSkillList;
    public readonly int RushMinDist;
    public readonly int RushMaxDist;
    public readonly int RushSpeed;
    public readonly int RushInterval;
    public readonly int RushAnimatorSpeed;
    public readonly int RushTargetType;
    public readonly int ShadowLastTime;
    public readonly int ShadowCreateInterval;
    public readonly int SearchEnemyDist;
    public readonly int MaxSwitchTargetDist;
    public readonly int[] HangupSkillList;
    public readonly string DungeonSkillList;
    public readonly string OffLineSkillList;
    public readonly int HpPerUseSkill;
    public readonly int[] HpSkillList;
    public readonly int[] GainSkillList;
    public readonly int MoveLimitDist;
    public readonly int[] BaseEquip;
    public readonly int[] ComAtkIdList;
    public readonly int[] StopAction;
    public readonly int[] CanStopSkillList;
    public readonly string CanBeStopSkillList;
    public readonly int RushMinDist;
    public readonly int RushMaxDist;
    public readonly int RushSpeed;
    public readonly int RushInterval;
    public readonly int RushAnimatorSpeed;
    public readonly int RushTargetType;
    public readonly int ShadowLastTime;
    public readonly int ShadowCreateInterval;
    public readonly int SearchEnemyDist;
    public readonly int MaxSwitchTargetDist;
    public readonly int[] HangupSkillList;
    public readonly string DungeonSkillList;
    public readonly string OffLineSkillList;
    public readonly int HpPerUseSkill;
    public readonly int[] HpSkillList;
    public readonly int[] GainSkillList;
    public readonly int MoveLimitDist;
    public readonly int[] RollBreakSkillList;
    public JobSetupConfig()
    public JobSetupConfig()
    {
    }
@@ -47,86 +48,93 @@
        {
            var tables = input.Split('\t');
            int.TryParse(tables[0],out Job);
            int.TryParse(tables[0], out Job);
            string[] BaseEquipStringArray = tables[1].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            BaseEquip = new int[BaseEquipStringArray.Length];
            for (int i=0;i<BaseEquipStringArray.Length;i++)
            {
                 int.TryParse(BaseEquipStringArray[i],out BaseEquip[i]);
            }
            string[] BaseEquipStringArray = tables[1].Trim().Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries);
            BaseEquip = new int[BaseEquipStringArray.Length];
            for (int i = 0; i < BaseEquipStringArray.Length; i++)
            {
                int.TryParse(BaseEquipStringArray[i], out BaseEquip[i]);
            }
            string[] ComAtkIdListStringArray = tables[2].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            ComAtkIdList = new int[ComAtkIdListStringArray.Length];
            for (int i=0;i<ComAtkIdListStringArray.Length;i++)
            {
                 int.TryParse(ComAtkIdListStringArray[i],out ComAtkIdList[i]);
            }
            string[] ComAtkIdListStringArray = tables[2].Trim().Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries);
            ComAtkIdList = new int[ComAtkIdListStringArray.Length];
            for (int i = 0; i < ComAtkIdListStringArray.Length; i++)
            {
                int.TryParse(ComAtkIdListStringArray[i], out ComAtkIdList[i]);
            }
            string[] StopActionStringArray = tables[3].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            StopAction = new int[StopActionStringArray.Length];
            for (int i=0;i<StopActionStringArray.Length;i++)
            {
                 int.TryParse(StopActionStringArray[i],out StopAction[i]);
            }
            string[] StopActionStringArray = tables[3].Trim().Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries);
            StopAction = new int[StopActionStringArray.Length];
            for (int i = 0; i < StopActionStringArray.Length; i++)
            {
                int.TryParse(StopActionStringArray[i], out StopAction[i]);
            }
            string[] CanStopSkillListStringArray = tables[4].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            CanStopSkillList = new int[CanStopSkillListStringArray.Length];
            for (int i=0;i<CanStopSkillListStringArray.Length;i++)
            {
                 int.TryParse(CanStopSkillListStringArray[i],out CanStopSkillList[i]);
            }
            string[] CanStopSkillListStringArray = tables[4].Trim().Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries);
            CanStopSkillList = new int[CanStopSkillListStringArray.Length];
            for (int i = 0; i < CanStopSkillListStringArray.Length; i++)
            {
                int.TryParse(CanStopSkillListStringArray[i], out CanStopSkillList[i]);
            }
            CanBeStopSkillList = tables[5];
            CanBeStopSkillList = tables[5];
            int.TryParse(tables[6],out RushMinDist);
            int.TryParse(tables[6], out RushMinDist);
            int.TryParse(tables[7],out RushMaxDist);
            int.TryParse(tables[7], out RushMaxDist);
            int.TryParse(tables[8],out RushSpeed);
            int.TryParse(tables[8], out RushSpeed);
            int.TryParse(tables[9],out RushInterval);
            int.TryParse(tables[9], out RushInterval);
            int.TryParse(tables[10],out RushAnimatorSpeed);
            int.TryParse(tables[10], out RushAnimatorSpeed);
            int.TryParse(tables[11],out RushTargetType);
            int.TryParse(tables[11], out RushTargetType);
            int.TryParse(tables[12],out ShadowLastTime);
            int.TryParse(tables[12], out ShadowLastTime);
            int.TryParse(tables[13],out ShadowCreateInterval);
            int.TryParse(tables[13], out ShadowCreateInterval);
            int.TryParse(tables[14],out SearchEnemyDist);
            int.TryParse(tables[14], out SearchEnemyDist);
            int.TryParse(tables[15],out MaxSwitchTargetDist);
            int.TryParse(tables[15], out MaxSwitchTargetDist);
            string[] HangupSkillListStringArray = tables[16].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            HangupSkillList = new int[HangupSkillListStringArray.Length];
            for (int i=0;i<HangupSkillListStringArray.Length;i++)
            {
                 int.TryParse(HangupSkillListStringArray[i],out HangupSkillList[i]);
            }
            string[] HangupSkillListStringArray = tables[16].Trim().Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries);
            HangupSkillList = new int[HangupSkillListStringArray.Length];
            for (int i = 0; i < HangupSkillListStringArray.Length; i++)
            {
                int.TryParse(HangupSkillListStringArray[i], out HangupSkillList[i]);
            }
            DungeonSkillList = tables[17];
            DungeonSkillList = tables[17];
            OffLineSkillList = tables[18];
            OffLineSkillList = tables[18];
            int.TryParse(tables[19],out HpPerUseSkill);
            int.TryParse(tables[19], out HpPerUseSkill);
            string[] HpSkillListStringArray = tables[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[] HpSkillListStringArray = tables[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 = tables[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]);
            }
            string[] GainSkillListStringArray = tables[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]);
            }
            int.TryParse(tables[22],out MoveLimitDist);
            int.TryParse(tables[22], out MoveLimitDist);
            string[] RollBreakSkillListStringArray = tables[23].Trim().Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries);
            RollBreakSkillList = new int[RollBreakSkillListStringArray.Length];
            for (int i = 0; i < RollBreakSkillListStringArray.Length; i++)
            {
                int.TryParse(RollBreakSkillListStringArray[i], out RollBreakSkillList[i]);
            }
        }
        catch (Exception ex)
        {
@@ -136,13 +144,13 @@
    static Dictionary<string, JobSetupConfig> configs = new Dictionary<string, JobSetupConfig>();
    public static JobSetupConfig Get(string id)
    {
        if (!inited)
    {
        if (!inited)
        {
            Debug.Log("JobSetupConfig 还未完成初始化。");
            return null;
        }
        if (configs.ContainsKey(id))
        {
            return configs[id];
@@ -158,7 +166,7 @@
        return config;
    }
    public static JobSetupConfig Get(int id)
    public static JobSetupConfig Get(int id)
    {
        return Get(id.ToString());
    }
@@ -185,32 +193,32 @@
        return values;
    }
    public static bool Has(string id)
    public static bool Has(string id)
    {
        return configs.ContainsKey(id) || rawDatas.ContainsKey(id);
    }
    public static bool Has(int id)
    public static bool Has(int id)
    {
        return Has(id.ToString());
    }
    public static bool inited { get; private set; }
    public static bool inited { get; private set; }
    protected static Dictionary<string, string> rawDatas = new Dictionary<string, string>();
    public static void Init(bool sync=false)
    public static void Init(bool sync = false)
    {
        inited = false;
        var path = string.Empty;
        inited = false;
        var path = string.Empty;
        if (AssetSource.refdataFromEditor)
        {
            path = ResourcesPath.CONFIG_FODLER +"/JobSetup.txt";
            path = ResourcesPath.CONFIG_FODLER + "/JobSetup.txt";
        }
        else
        {
            path = AssetVersionUtility.GetAssetFilePath("config/JobSetup.txt");
        }
        var tempConfig = new JobSetupConfig();
        var tempConfig = new JobSetupConfig();
        var preParse = tempConfig is IConfigPostProcess;
        if (sync)
@@ -222,67 +230,67 @@
            }
            for (int i = 3; i < lines.Length; i++)
            {
                try
                {
                    var line = lines[i];
                    var index = line.IndexOf("\t");
                    if (index == -1)
                    {
                        continue;
                    }
                    var id = line.Substring(0, index);
                try
                {
                    var line = lines[i];
                    var index = line.IndexOf("\t");
                    if (index == -1)
                    {
                        continue;
                    }
                    var id = line.Substring(0, index);
                    if (preParse)
                    {
                        var config = new JobSetupConfig(line);
                        configs[id] = config;
                        (config as IConfigPostProcess).OnConfigParseCompleted();
                    }
                    else
                    {
                        rawDatas[id] = line;
                    }
                }
                catch (System.Exception ex)
                    if (preParse)
                    {
                        var config = new JobSetupConfig(line);
                        configs[id] = config;
                        (config as IConfigPostProcess).OnConfigParseCompleted();
                    }
                    else
                    {
                        rawDatas[id] = line;
                    }
                }
                catch (System.Exception ex)
                {
                    Debug.LogError(ex);
                }
            }
            inited = true;
            inited = true;
        }
        else
        {
            ThreadPool.QueueUserWorkItem((object _object) =>
            {
                var lines = File.ReadAllLines(path);
                if (!preParse)
                {
                    rawDatas = new Dictionary<string, string>(lines.Length - 3);
                }
                if (!preParse)
                {
                    rawDatas = new Dictionary<string, string>(lines.Length - 3);
                }
                for (int i = 3; i < lines.Length; i++)
                {
                    try
                    {
                       var line = lines[i];
                        var index = line.IndexOf("\t");
                        if (index == -1)
                        {
                            continue;
                        }
                        var id = line.Substring(0, index);
                    try
                    {
                        var line = lines[i];
                        var index = line.IndexOf("\t");
                        if (index == -1)
                        {
                            continue;
                        }
                        var id = line.Substring(0, index);
                        if (preParse)
                        {
                            var config = new JobSetupConfig(line);
                            configs[id] = config;
                            (config as IConfigPostProcess).OnConfigParseCompleted();
                        }
                        else
                        {
                            rawDatas[id] = line;
                        }
                    }
                    catch (System.Exception ex)
                        if (preParse)
                        {
                            var config = new JobSetupConfig(line);
                            configs[id] = config;
                            (config as IConfigPostProcess).OnConfigParseCompleted();
                        }
                        else
                        {
                            rawDatas[id] = line;
                        }
                    }
                    catch (System.Exception ex)
                    {
                        Debug.LogError(ex);
                    }
Core/GameEngine/Model/Config/JobSetupConfig.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 44af7bf1f77c36a4fbdbd0a1eec24768
timeCreated: 1550120895
timeCreated: 1554882392
licenseType: Pro
MonoImporter:
  serializedVersion: 2
Fight/GameActor/GA_Hero.cs
@@ -936,29 +936,26 @@
            }
        }
        if (!PreFightMission.Instance.IsFinished())
        if (skillID == 190)
        {
            if (skillID == 190)
            if (State != E_ActorState.Roll)
            {
                if (State != E_ActorState.Roll)
                if (SkillMgr.CurCastSkill != null)
                {
                    if (SkillMgr.CurCastSkill != null)
                    int _id = SkillMgr.CurCastSkill.id;
                    foreach (var _skillID in JobSetup.RollBreakSkillList)
                    {
                        SkillMgr.CurCastSkill.SkillCompelete = true;
                        if (_id == _skillID)
                        {
                            SkillMgr.CurCastSkill.SkillCompelete = true;
                            Behaviour.StartKillUntilDieAI(skillID);
                            aiHandler.currentType = E_HeroAIType.None;
                            Behaviour.DoAttack(_skill);
                            return;
                        }
                    }
                    Behaviour.StartKillUntilDieAI(skillID);
                    aiHandler.currentType = E_HeroAIType.None;
                    Behaviour.DoAttack(_skill);
                    return;
                }
            }
            else
            {
                if (!PreFightMission.Instance.IsHeroCanCastSkill)
                {
                    return;
                }
            }
        }