【Unity语法】类的继承,以及Monobehaviour中生命周期管理函数的继承

以OnEnable() 为例,其他与生命周期相关的函数,例如Awake(), Start(), Update() 类似。

基类(父类):

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class BaseClass : MonoBehaviour
{
    
    private string variable_1;  // private 变量不可被继承
    protected GameObject variable_3; // protected 变量可被继承

    protected virtual void OnEnable()  // 注意关键字
    {
    	variable_1 = "1";
    	variable_3 = xx;
    }
	
	public void BacktoMenu()  // 可被继承
	{
        InteractionController.EnableMode("Menu");
        m_simulationManager.LoadSimulation("Original");
    }
}

派生类(子类):

public class ChildClass : BaseClass
{
    
    private string variable_1;  
    protected GameObject variable_3; // 会报错,因为已经在基类中有相同的变量

    protected override void OnEnable()  // 注意关键字
    {
		base.OnEnable();  // 运行基类的OnEnable()
		// 这里实现子类的特有逻辑
    }
}

猜你喜欢

转载自blog.csdn.net/qq_35153254/article/details/128331003
今日推荐