我有一个更新方法,我需要检查动画何时完成以及刚刚完成的动画。
我的抽象类中的代码如下所示:
//Checks if we need to restart the animation
if (currentIndex > sRectangles.Length-1)
{
AnimationDone(aniName);
timeElapsed = 0;
currentIndex = 0;
}
AnimationDone() 是一个抽象方法,如下所示:
public abstract void AnimationDone(string name);
继承抽象类并实现抽象方法的类中的代码如下所示:
public override void AnimationDone(string name)
{
if (name.Contains("Attack"))
{
Attacking = false;
}
}
因此,每当动画完成时,我的 AnimationDone 就会被调用。这完全按照我想要的方式工作,但我想知道这是否是不好的做法。 '如果更正确的做法是创建一个每次动画结束时触发的事件。然后在我的 Child 类中创建一个新方法来监听此事件。
最佳答案
你所做的实际上叫做Template Pattern ,是一种众所周知的软件设计模式。所以我不会担心!
关于C# 在声明抽象方法的类中调用抽象方法是不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21349423/