public override bool Update(long delta) { base.Update(delta); switch (State) { case CombatAnimationState.Start: if (_currentFrame < 10) { if (Executor is PlayerCharacter) { Executor.FightingSprite.CurrentFrame = _currentFrame * 3 / 10 + 6; } else { Executor.SetCombatPos(ExecutorX + 2, ExecutorY + 2); } } else { State = CombatAnimationState.Magic; } break; case CombatAnimationState.Magic: if (!Animation.Update(delta)) { State = CombatAnimationState.End; if (Executor is PlayerCharacter) { ((PlayerCharacter)Executor).SetFrameByState(); } else { Executor.FightingSprite.Move(-2, -2); } } break; case CombatAnimationState.End: return(RaiseAnimation.Update(delta)); // break; } return(true); }
protected override bool UpdateRaiseAnimation(long delta) { return(RaiseAnimation != null && RaiseAnimation.Update(delta)); }