我游戏中的每个敌人都是一个可编写脚本的对象(Enemy1、Enemy2 等)。每个敌人也有自己独特的脚本来确定战斗的进行方式(BattleEvent1、BattleEvent2 等)
我的逻辑目前的工作方式是:
BattleSystem
组件已BattleEvent
附加所有 s。- 战斗开始时,检查
name
current 的Enemy
,并使用该字符串引用来选择BattleEvent
要运行的(很多 if 语句)。
但这很糟糕,因为它都是字符串引用,所以我不能轻易确保每个敌人都有一个BattleEvent
,并且有很多 if/else 语句。
我想做的是将每个BattleEvent
脚本附加到其各自的Enemy
Scriptable Object 上。
但是我无法将那个战斗事件 SerializeField 中的脚本拖到那里。
理想情况下,我希望我的逻辑可以像这样工作:
BattleSystem
加载敌人,然后检查Enemy.BattleEvent
以加载正确的脚本。
由于我无法将脚本附加到 SO,因此我无法使其正常工作。有什么办法可以实现这样的逻辑流程?