我要和谁分享一下...
我正在做一个游戏,需要在游戏中生成敌人。这些敌人需要同步攻击(这是一个节奏游戏),但它们也应该能够具有其他类型的攻击。同时,他们的移动方式也需要被设置好,才能在游戏中表现出美好的动画效果。
对于移动,我正在使用Splines(相当于Unity中的贝塞尔曲线),但如果我想使用其他类型的移动方式,例如不同的策略或者行为,或者想让攻击模式不同,那该怎么办?
所以我创建了两个接口,IMovement和IAttackBehaviour。移动方式可以是AnimatorMovement,SplineMovement,SineWaveMovement,MoveAroundPlayerMovement等。同样,攻击方式也可以是SyncedShotAttackBehaviour,SyncedLaserBehaviour,ShootAfterDamageBehaviour等等, ANYTHING .
另外,为了避免使用switch语句,我将它们初始化在了可以注射到敌人的多态数据中,用Odin Inspector来序列化子类,并使用接口的基类进行初始化,即实现了多态的魅力。
我只是想分享一下,因为我真的相当自豪地为这个东西写了这些代码...
评论 (0)