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));
 }