kingBook

导航

Unity InitializeOnLoadMethod 与 RuntimeInitializeOnLoadMethod

#if UNITY_EDITOR

using UnityEditor;
using UnityEngine;

public class TestEditorLoadMethod: Editor {
    
    // 第一次打开 Unity 编辑器运行一次,之后每次进入 Play 模式都运行一次
    [InitializeOnLoadMethod]
    private static void InitOnLoad1(){
        Debug.Log("InitOnLoad1");
    }
    
    // 在每次进入 Play 模式时运行一次,还可以通过参数确定在加载场景之前还是之后调用方法。
    [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)]
    private static void InitOnLoad2 () {
        Debug.Log("InitOnLoad2");
    }
}

#endif
  • InitializeOnLoadMethod 第一次打开 Unity 编辑器运行一次,之后每次进入 Play 模式都运行一次
  • RuntimeInitializeOnLoadMethod 在每次进入 Play 模式时运行一次,还可以通过参数确定在加载场景之前还是之后调用方法。
RuntimeInitializeLoadType.AfterSceneLoad // 加载场景后
RuntimeInitializeLoadType.BeforeSceneLoad // 在加载场景之前
RuntimeInitializeLoadType.AfterAssembliesLoaded // 加载所有程序集并初始化预加载的资源时进行回调
RuntimeInitializeLoadType.BeforeSplashScreen // 在显示启动屏幕之前。
RuntimeInitializeLoadType.SubsystemRegistration //用于注册子系统的回调

posted on 2021-06-25 16:03  kingBook  阅读(1110)  评论(0编辑  收藏  举报