小编Yos*_*rgi的帖子

对于简单脚本,始终在 Override 中调用 base.Method 而无需提及它

我正在尝试将 C# 实现为我的游戏引擎的脚本语言。一切工作正常,我的设计中只出现了一个主要问题。

我有 BaseEntity 类。另一个类 BossEntity 派生自 BaseEntity。然后我希望能够通过脚本创建一个新实体。因此,我在脚本中创建一个类(假设为 Boss1),它派生自 BossEntity。

BaseEntity 有一个虚拟的 Update 方法。BossEntity 覆盖它并调用 base.Update()。设计上一切都很好。

但现在我的问题来了。在我的脚本中,我还希望能够覆盖更新方法。所以我继续并再次覆盖它。一切都按预期进行,BossEntity 覆盖丢失,因为我现在再次覆盖 BaseEntity 更新。

但为了简单起见,我不想调用我的脚本 base.Update() 来获得与 BossEntity 中相同的行为。这是一件可以被忘记的事情,对于我来说,就像脚本语言的糟糕设计一样。

在我看来,编写脚本时您只是添加功能而不是删除某些功能。

所以我的一般问题是,有没有什么方法可以完成对 base.Update() 的调用,甚至无需在我的脚本中额外调用它?

我认为不会,或者可能只是用了一个技巧,但你永远不知道。

c# game-engine

3
推荐指数
1
解决办法
4387
查看次数

标签 统计

c# ×1

game-engine ×1