Unity3d OnDestroy()语句中的Init事件
我会在Unity3D语句的OnDestroy()中初始化事件,因为在重新加载场景后,一些被破坏的脚本会获取事件并在游戏对象上抛出MissingReferenceException 以下是我如何声明事件:Unity3d OnDestroy()语句中的Init事件,unity3d,reload,scene,Unity3d,Reload,Scene,我会在Unity3D语句的OnDestroy()中初始化事件,因为在重新加载场景后,一些被破坏的脚本会获取事件并在游戏对象上抛出MissingReferenceException 以下是我如何声明事件: public delegate void SelectDelegate(); public static event SelectDelegate OnSelected; 我是怎么开始的 void Destroy() { OnSelected = new SelectDelegate
public delegate void SelectDelegate();
public static event SelectDelegate OnSelected;
我是怎么开始的
void Destroy()
{
OnSelected = new SelectDelegate(OnSelected); //Dont work :'(
}
如何初始化cleanly事件以重新加载场景好的,我将在这里尝试以下几点:
myClassInstance.Onselected+=MyHandlerFunction这样的东西注册代理代码>。这通常在OnEnable()函数中完成。为了清理,我使用myClassInstance.Onselected-=MyHandlerFunction删除OnDisable()函数中的委托代码>
if(OnSelected!=null)OnSelected()的内容检查它是否为非null代码>