是否可以在Unity中为非MonoBehaviour类分配默认引用

时间:2019-03-11 14:28:12

标签: c# class unity3d reference default

我有这个非Monobehaviour类,我想为其分配一个scriptableObject引用。
如果我的课程是从Monobehaviour派生的,我可以轻松分配一个默认引用:

enter image description here

但是,如果不允许,则不允许:

enter image description here

有没有一种方法可以将默认引用分配给非Monobehaviour类?还是有其他解决方法?谢谢

1 个答案:

答案 0 :(得分:0)

您不能将非MonoBehaviour类用作GameObject的组件。

如果要在游戏中使用SccriptableObjects,请创建以下两个脚本:

using UnityEngine;

[CreateAssetMenu(menuName = "MyScriptableObject")]
public class MyScriptableObject : ScriptableObject
{
    public string Data;
    //Any other data
}

以及要使用此ScriptableObject的组件

public class MyMonoComponent : MonoBehaviour
{
    public MyScriptableObject Name; //Assignable in inspector
}

现在,您可以创建ScriptableObjects(在项目文件中的RMB统一为->单击MyScriptableObject)并在检查器中进行分配