【发布时间】:2021-06-08 16:28:12
【问题描述】:
我正在制作一个使用基于类的状态机的敌人脚本,我制作了一个 State 类,所有不同的状态都来自该类,并且每个类都需要一个 EnemyController 类作为其变量和方法。我还制作了 3 个不同的敌人类,它们派生自 EnemyController 类,但这些无法输入到状态中。我想找到一种方法,以便我可以将这三个敌人脚本输入到状态中,但它们似乎只采用父级 EnemyController 脚本。
public State(EnemyController enemy)
{
this.enemy = enemy;
}
每个状态都需要一个 EnemyController 的参数,但我希望它能够使用 EnemyControllerA、EnemyControllerB 或 EnemyControllerC,因为每个敌人的控制器对每个敌人都略有不同。
【问题讨论】:
-
给我们看一些代码:)
-
“这些不能输入到状态中” - 为什么不呢?你得到什么错误?您应该能够传入
EnemyController的任何派生类。
标签: c# class unity3d inheritance state