Unity 生命周期 (LOGO加载之前)

using UnityEngine;
public class GameLogic : MonoBehaviour
{
    
    
    /// <summary>
    /// 子系统注册时调用,优先级最高类似Main函数
    /// </summary>
    [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)]
    private static void SubsystemRegistration()
    {
    
    
        Debug.Log("SubsystemRegistration");
    }
    /// <summary>
    /// 程序集加载完成后调用
    /// </summary>
    [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterAssembliesLoaded)]
    private static void AfterAssembliesLoaded()
    {
    
    
        Debug.Log("AfterAssembliesLoaded");
    }
    /// <summary>
    /// Unity启动LOGO之前调用
    /// </summary>
    [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSplashScreen)]
    private static void BeforeSplashScreen()
    {
    
    
        Debug.Log("BeforeSplashScreen");
    }
    /// <summary>
    /// 第一个场景加载之前调用
    /// </summary>
    [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
    private static void BeforeSceneLoad()
    {
    
    
        Debug.Log("BeforeSceneLoad");
    }
    /// <summary>
    /// 第一个场景加载之后调用
    /// </summary>
    [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)]
    private static void AfterSceneLoad()
    {
    
    
        Debug.Log("AfterSceneLoad");
    }
    /// <summary>
    /// 在脚本初始化时被调用
    /// 即使脚本是非激活状态,该事件方法也会被调用
    /// 在脚本的生命周期中只执行一次
    /// </summary>
    private void Awake()
    {
    
    
        Debug.Log("Awake");
    }
    /// <summary>
    /// 当组件被激活时立即被调用,会反复调用
    /// </summary>
    private void OnEnable()
    {
    
    
        Debug.Log("OnEnable");
    }
    /// <summary>
    /// 在脚本的生命周期中只会执行一次
    /// 只有脚本被激活后才会被调用
    /// </summary>
    private void Start()
    {
    
    
        Debug.Log("Start");
    }
    /// <summary>
    /// 固定时间间隔被调用
    /// 基于物理的运算更新
    /// 脚本被激活的时候才会被调用
    /// </summary>
    private void FixedUpdate()
    {
    
    
        Debug.Log("FixedUpdate");
    }
    /// <summary>
    /// 固定时间间隔被调用
    /// 基于物理的运算更新
    /// 脚本被激活的时候才会被调用
    /// Trigger事件时调用包括其他TriggerX事件
    /// </summary>
    private void OnTriggerEnter(Collider other)
    {
    
    
        Debug.Log("OnTriggerEnter");
    }
    /// <summary>
    /// 固定时间间隔被调用
    /// 基于物理的运算更新
    /// 脚本被激活的时候才会被调用
    /// Collision事件时调用,包括其他CollisionX事件
    /// </summary>
    private void OnCollisionEnter(Collision collision)
    {
    
    
        Debug.Log("OnCollisionEnter");
    }
    /// <summary>
    /// 每帧调用,调用次数取决于游戏运行时的帧率
    /// 脚本被激活的时候才会被调用
    /// </summary>
    private void Update()
    {
    
    
        Debug.Log("Update");
    }
    /// <summary>
    /// 每帧在Update之后调用,调用次数取决于游戏运行时的帧率
    /// 在脚本被激活的时候才会被调用
    /// </summary>
    private void LateUpdate()
    {
    
    
        Debug.Log("LateUpdate");
    }
    /// <summary>
    /// 脚本被取消激活时被调用
    /// </summary>
    private void OnDisable()
    {
    
    
        Debug.Log("OnDisable");
    }
    /// <summary>
    /// 脚本被销毁时被调用
    /// </summary>
    private void OnDestroy()
    {
    
    
        Debug.Log("OnDestroy");
    }
}

猜你喜欢

转载自blog.csdn.net/o_ojjj/article/details/128815750