| New file |
| | |
| | | using System.Collections; |
| | | using System.Collections.Generic; |
| | | using UnityEngine; |
| | | using System; |
| | | #if UNITY_EDITOR |
| | | using UnityEditor; |
| | | #endif |
| | | namespace Snxxz.UI
|
| | | {
|
| | | public class TalentTreeScriptable : ScriptableObject
|
| | | {
|
| | | [SerializeField] TalentTree[] talentTrees;
|
| | | [SerializeField] TalentElement[] talentElements;
|
| | |
|
| | | public bool Belong(int job, int talentType, int talentSeries)
|
| | | {
|
| | | for (int i = 0; i < talentTrees.Length; i++)
|
| | | {
|
| | | if (talentTrees[i].Belong(job, talentType, talentSeries))
|
| | | {
|
| | | return true;
|
| | | }
|
| | | }
|
| | | return false;
|
| | | }
|
| | |
|
| | | [Serializable]
|
| | | public struct TalentTree
|
| | | {
|
| | | public int job;
|
| | | public int talentType;
|
| | | public int talentSeries;
|
| | |
|
| | | public bool Belong(int job, int talentType, int talentSeries)
|
| | | {
|
| | | return this.job == job && this.talentType == talentType && this.talentSeries == talentSeries;
|
| | | }
|
| | | }
|
| | | [Serializable]
|
| | | public struct TalentElement
|
| | | {
|
| | | public int type;
|
| | | public Vector3 position;
|
| | | public Vector3 rotation;
|
| | | }
|
| | | }
|
| | |
|
| | | #if UNITY_EDITOR
|
| | | public class TalentTreeScriptableEditor : Editor
|
| | | {
|
| | | [MenuItem("策划工具/生成天赋配置文件")]
|
| | | static void BuildConfig()
|
| | | {
|
| | | TalentTreeScriptable config = CreateInstance<TalentTreeScriptable>();
|
| | | string _path = StringUtility.Contact("Assets/ResourcesOut/Refdata/ScriptableObject/SoTalentTree/",
|
| | | "SoTalentTree_",
|
| | | ".asset");
|
| | | AssetDatabase.CreateAsset(config, _path);
|
| | | AssetDatabase.Refresh();
|
| | | ProjectWindowUtil.ShowCreatedAsset(config);
|
| | | }
|
| | | }
|
| | | #endif
|
| | | } |
| | | |