base.Awake(), base.Start()などの呼び方


MonoBehaviour <= SuperClass <= SubClass この継承関係の場合、SubClassからSuperClassのAwake()を呼ぶため

void Awake() {
	base.Awake();
}

これだとエラーになる。
SuperClassのAwakeをvirtualとし、SubClassのほうでoverrideを指定するとうまく呼べる。

public class SuperClass : MonoBehaviour {
	public virtual void Awake() {
		print("Super.Awake()");
	}
}

public class SubClass : SuperClass {
	public override void Awake() {
		print("SubClass.Awake()");
	}
}

SubClass sub = new SubClass();
sub.Awake();

コメントを残す