Код: Выделить всё
public class AnimationController {
public void ChangeAnimation(string animation, int priority = 0, float crossfadeDuration = 0.2f, float animationSpeed = 1f) {
if(priority is higher && this animation isn't already playing) {
model.PlayAnimation(animation);
}
}
}
Код: Выделить всё
public void ChangeAnimation(FireballAnimation animation)
И я бы предпочел не вызывать метод .ToString() каждый раз, когда я хочу вызвать ChangeAnimation( )
Я хочу, чтобы в одной и той же базе кода было возможно следующее:
Код: Выделить всё
// In the context of a fireball class:
public enum FireballAnimation {
Casted,
Flying,
Impact,
}
AnimationController.ChangeAnimation(FireballAnimation.Impact);
// In the context of a Player class:
public enum PlayerAnimation {
None,
Idle,
Walking,
StrafingLeft,
StrafingRight,
WalkingBackwards,
Jumping,
Casting,
}
AnimationController.ChangeAnimation(PlayerAnimation.Jumping);
Подробнее здесь: https://stackoverflow.com/questions/793 ... meter-in-c
Мобильная версия