我有这个非Monobehaviour类,我想为其分配一个scriptableObject引用。
如果我的课程是从Monobehaviour派生的,我可以轻松分配一个默认引用:
c# - 是否可以在Unity中为非MonoBehaviour类分配默认引用-LMLPHP
但是,如果没有,则不允许:
c# - 是否可以在Unity中为非MonoBehaviour类分配默认引用-LMLPHP
有没有一种方法可以将默认引用分配给非Monobehaviour类?还是有其他解决方法?谢谢

最佳答案

您不能将非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)并在检查器中分配它

10-04 12:32