使用方法
自定义类继承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()
{
}
}