public override bool CanEnter()
 {
     if (indicator.environmentIndicators[1].use && indicator.environmentIndicators[1].hit.distance < rayLength)
     {
         marker = indicator.environmentIndicators[1].hit.collider.GetComponent <WallDashMarker>();
         normal = indicator.environmentIndicators[1].hit.normal;
         return(true);
     }
     return(false);
 }
        public override void InitPlayback(StateTransition transition)
        {
            lastMarker = marker;
            lastMarker.InitJump(controller.GetBody());
            initPosition  = controller.transform.position;
            finalPosition = lastMarker.GetDestinationVector(initPosition, normal);


            Vector2 toFinal = -(initPosition - finalPosition).normalized;

            controller.GetMovement().ApplyExternalRotationI(toFinal);
            final = false;
        }