Beispiel #1
0
    private ArkCrossEngine.SkillCategory _GetSkillCategory(int skillId)
    {
        ArkCrossEngine.SkillLogicData skillData = (ArkCrossEngine.SkillLogicData)ArkCrossEngine.SkillConfigProvider.Instance.ExtractData(ArkCrossEngine.SkillConfigType.SCT_SKILL, skillId);
        if (skillData == null)
        {
            return(ArkCrossEngine.SkillCategory.kNone);
        }

        return(skillData.Category);
    }
Beispiel #2
0
    private void _GenerateSkillFile(int skillId, string anim, eHitType hitType, int animLen, bool bNormalAttack)
    {
        if (animLen == 0)
        {
            UnityEditor.EditorUtility.DisplayDialog("SkillEdit", "请检查技能动画长度,不能为0!", "OK");
            return;
        }

        const string skillfilePrefix = "Assets\\StreamingAssets\\Public\\SkillDsl\\";

        ArkCrossEngine.SkillLogicData skillData = (ArkCrossEngine.SkillLogicData)ArkCrossEngine.SkillConfigProvider.Instance.ExtractData(ArkCrossEngine.SkillConfigType.SCT_SKILL, skillId);
        if (skillData != null)
        {
            string       skillFilePath = skillfilePrefix + skillData.SkillDataFile;
            StreamWriter skillFilesw   = new StreamWriter(skillFilePath, false, Encoding.UTF8);

            _GenerateSkillImpl(skillFilesw, skillId, anim, hitType, animLen);

            // 三段普攻
            if (bNormalAttack)
            {
                // 第二段
                if (skillData.NextSkillId > 0)
                {
                    _GenerateSkillImpl(skillFilesw, skillData.NextSkillId, 普通攻击第二段.技能动画, 普通攻击第二段.攻击类型, 普通攻击第二段.动画长度);
                }
                else
                {
                    UnityEditor.EditorUtility.DisplayDialog("SkillEdit", "普攻第二段next skill id没配置,请联系程序!", "OK");
                }

                // 第三段
                skillData = (ArkCrossEngine.SkillLogicData)ArkCrossEngine.SkillConfigProvider.Instance.ExtractData(ArkCrossEngine.SkillConfigType.SCT_SKILL, skillData.NextSkillId);

                if (skillData.NextSkillId > 0)
                {
                    _GenerateSkillImpl(skillFilesw, skillData.NextSkillId, 普通攻击第三段.技能动画, 普通攻击第三段.攻击类型, 普通攻击第三段.动画长度);
                }
                else
                {
                    UnityEditor.EditorUtility.DisplayDialog("SkillEdit", "普攻第三段next skill id没配置,请联系程序!", "OK");
                }
            }

            skillFilesw.Flush();
            skillFilesw.Close();
        }
    }