使用方法
自定义类继承ScriptableObject
可以在类内部增加数据或者数据类,一般用于配置
注意事项
给继承ScriptableObject的类增加CreateAssetMenu特性。
CreateAssetMenu一般默认三个参数
第一个参数是父目录
第二个参数是父目录的子选项
第三个参数是可以手动对子选项排序
内部若是有数据类需要给数据类增加序列化特性
内部若是有字典容器或者数据类内部有字典容器的话则不能在unity的Inspector显示(可通过Odin插件解决这个问题)
创建方法
赋值方法
1.静态赋值
将其声明为公有,通过在unity中拖拽赋值
2.动态赋值
将其声明为私有,通过加载赋值
案例展示
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;[Serializable]
public class GameData
{public int GameID;public string GamePath;
}[CreateAssetMenu(fileName = "GameConfig",menuName ="GameConfig/设置")]
public class GameConfig : ScriptableObject
{public string Path;public int ID;public GameData GameData;public List<GameData> GameDataList;
}
测试
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using System.Reflection;public class Test : MonoBehaviour
{GameConfig gameConfig;void Start(){gameConfig = Resources.Load<GameConfig>("GameConfig");Debug.Log(gameConfig.ID);}void Update(){}
}