Beispiel #1
0
        public void ResetValues(bool fromRevive)
        {
            StopSlide(true);
            slideData.duration   = 0;
            stumbleData.duration = 0;

            jumpSpeed         = 0;
            isJumping         = false;
            isJumpPending     = false;
            isSliding         = false;
            isStumbling       = false;
            onGround          = true;
            prevHitTransform  = null;
            canUpdatePosition = true;
            playerAnimation.ResetValues();
            if (projectileManager)
            {
                projectileManager.ResetValues();
            }
            pauseCollisionParticlePlaying = false;
            turnTime     = -simultaneousTurnPreventionTime;
            jumpLandTime = Time.time;

            platformObject        = null;
            curveTime             = -1;
            curveMoveDistance     = 0;
            curveDistanceMapIndex = 0;
            followCurve           = false;

            if (!fromRevive)
            {
                currentSlotPosition      = SlotPosition.Center;
                targetHorizontalPosition = (int)currentSlotPosition * infiniteObjectGenerator.slotDistance;
                totalMoveDistance        = 0;
                turnOffset  = prevTurnOffset = Vector3.zero;
                curveOffset = Vector3.zero;
                forwardSpeeds.ResetValues();

                thisTransform.position = startPosition;
                thisTransform.rotation = startRotation;
                targetRotation         = startRotation;
                UpdateTargetPosition(targetRotation.eulerAngles.y);
                reviveTime = -1;
            }
            else
            {
                reviveTime = Time.time;
            }
        }