把脚本的生命周期用虚拟方法可以重写调用

/*
               #########                       
              ############                     
              #############                    
             ##  ###########                   
            ###  ###### #####                  
            ### #######   ####                 
           ###  ########## ####                
          ####  ########### ####               
         ####   ###########  #####             
        #####   ### ########   #####           
       #####   ###   ########   ######         
      ######   ###  ###########   ######       
     ######   #### ##############  ######      
    #######  #####################  ######     
    #######  ######################  ######    
   #######  ###### #################  ######   
   #######  ###### ###### #########   ######   
   #######    ##  ######   ######     ######   
   #######        ######    #####     #####    
    ######        #####     #####     ####     
     #####        ####      #####     ###      
      #####       ###        ###      #        
        ###       ###        ###              
         ##       ###        ###               
__________#_______####_______####______________

                我们的未来没有BUG              
* ==============================================================================
* Filename: UIBase
* Created:  2017/1/28
* Author:   WangYuChen
* ==============================================================================
*/
using UnityEngine;
using System.Collections;
using System;

public class UIBase : MonoBehaviour {
    //重写方法初始化(最先执行) 
    public virtual void Awake() {

    }
    //重写方法初始化(被执行一次)
    public virtual void Start() {

    }
    //重写方法更新 每一帧被调用
    public virtual void Update() {
    
    }
    //重写方法固定更新 每一帧被调用
    public virtual void FixedUpdate()
    {
      
    }
    //重写方法晚于更新 每一帧被调用
    public virtual void LateUpdate()
    {
  
    }
    //重写方法注册 (脚本当前可用是调用)
    public virtual void OnEnable()
    {

    }
    //重写方法销毁(脚本并不会被销毁,在这个状态下,可以重新回到OnEnable状态)
    public virtual void OnDisable()
    {

    }
    //重写方法销毁(手动销毁或附属的游戏对象被销毁时,当前脚本的生命周期结束)
    public virtual void OnDestroy()
    {
   
    }
}

  

原文地址:https://www.cnblogs.com/mclll520/p/6780940.html