我为我的一些 ScriptableObject 创建了一个自定义检查器。检查员似乎工作得很好。如果检查器中的值发生更改,则该值将在游戏中使用。但是,一旦我重新启动 Unity,该值就会恢复到原来的值,因此更改不会应用于文件。我已经通过查看文件进行了检查。这是我的自定义检查器:
[CustomEditor(typeof(ScriptableObjects.OBJ))]
public class OBJEditor: UnityEditor.Editor {
public override void OnInspectorGUI() {
_ = DrawDefaultInspector();
ScriptableObjects.OBJ obj = (ScriptableObjects.OBJ) target;
obj.Offset = EditorGUILayout.Vector2Field("Offset", obj.Offset);
...
EditorUtility.SetDirty(obj);
}
}
我已添加该行EditorUtility.SetDirty(bc);
,因为我已阅读该行应将更改应用于文件。其他一些线的...
代表与点上方的两条线几乎相同。
如何保存对 ScriptableObject 文件的更改。