コード例 #1
0
        protected override void UpdatePosition()
        {
            base.UpdatePosition();

            switch (bubbleAnimation)
            {
            case ProjectileAnimationState.Closed:
                if (totalTravelledTime < Parameter.ProjectileTurtleSSTransformTime)
                {
                    totalTravelledTime += Parameter.ProjectileMovementTotalTimeElapsed;
                }
                else
                {
                    IsAbleToRefreshPosition = false;
                    bubbleAnimation         = ProjectileAnimationState.Opening;
                }
                break;

            case ProjectileAnimationState.Opening:
                bubbleAnimation = ProjectileAnimationState.Opened;
                SpecialEffectBuilder.TurtleProjectile3Division(FlipbookList[0].Position, FlipbookList[0].Rotation);
                TurtleProjectileEmitter.Shot3((Turtle)Mobile, force, FlipbookList[0].Position, FlipbookList[0].Rotation, OnFinalizeExecutionAction);
                PlayExplosionSFX();
                GameScene.Camera.TrackObject(Mobile.LastCreatedProjectileList.First());
                IsAbleToRefreshPosition = true;
                break;

            case ProjectileAnimationState.Opened:
                base.Destroy();
                break;
            }
        }