以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()
// 这里实现子类的特有逻辑
}
}