LubanGenerateConfigEditorOnlyHelper.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. // --------------------------
  2. // 作者:烟雨迷离半世殇
  3. // 邮箱:1778139321@qq.com
  4. // 日期:2022年7月9日, 星期六
  5. // --------------------------
  6. using System;
  7. using ET.Editor.SkillConfig;
  8. using SimpleJSON;
  9. using UnityEditor;
  10. using UnityEngine;
  11. namespace ET
  12. {
  13. public static class LubanGenerateConfigEditorOnlyHelper
  14. {
  15. private const string c_PackagePath = "Packages/com.nkg.lubangenerateconfig.editor/GenerateConfigData";
  16. /// <summary>
  17. /// 获取单行配置
  18. /// </summary>
  19. /// <param name="pathToGenerateConfigData">相对于GenerateConfigData的路径</param>
  20. /// <typeparam name="T"></typeparam>
  21. /// <returns></returns>
  22. public static T GetConfig<T>(string pathToGenerateConfigData, int id) where T : Bright.Config.EditorBeanBase
  23. {
  24. T config = Activator.CreateInstance<T>();
  25. TextAsset textAsset =
  26. AssetDatabase.LoadAssetAtPath<TextAsset>($"{c_PackagePath}/{pathToGenerateConfigData}/{id}.json");
  27. config.LoadJson(JSON.Parse(textAsset.text).AsObject);
  28. return config;
  29. }
  30. /// <summary>
  31. /// 获取单行配置
  32. /// </summary>
  33. /// <typeparam name="T"></typeparam>
  34. /// <returns></returns>
  35. public static SkillCanvasConfig GetSkillCanvasConfig(int id)
  36. {
  37. SkillCanvasConfig config = new SkillCanvasConfig();
  38. TextAsset textAsset =
  39. AssetDatabase.LoadAssetAtPath<TextAsset>($"{c_PackagePath}/SkillConfig.TbSkillCanvas/{id}.json");
  40. config.LoadJson(JSON.Parse(textAsset.text).AsObject);
  41. return config;
  42. }
  43. }
  44. }