我在ScriptableObject中使用ISerializationCallbackReceiver定义我的类,并在OnAfterDeserialize
中编写我的序列化代码。我的问题是我需要在OnAfterDeserialize之前做一些环境准备,但ISerializationCallbackReceiver
将在Unity启动时调用。
是否在ISerializationCallbackReceiver
之前调用了一个类或函数,因此我可以在Unity开始序列化ScriptableObject
之前添加我的代码。我已经尝试了RuntimeInitializeOnLoadMethod
属性,但是在ISerializationCallbackReceiver
之后调用它。
答案 0 :(得分:1)
是否有一个之前调用过的类或函数 ISerializationCallbackReceiver所以我可以在统一之前添加我的代码 开始序列化ScriptableObject。
ISerializationCallbackReceiver
界面有两个函数OnBeforeSerialize
和OnAfterDeserialize
。
您可以使用OnBeforeSerialize
函数添加代码,因为它会在Unity序列化您的对象之前调用