public PlayerWallRunState(WallRunRaycastResult hitResult) : base() { this.hitResult = hitResult; collider = hitResult.ObjectThatWasHit.GetComponent <Collider>(); IsActive = false; parameters = CharacterControllerParameters.Instance; }
private void Awake() { if (instance != null) { Destroy(this); } else { instance = this; } }
protected override void onEnter() { Debug.Log("Inair enter"); parameters = CharacterControllerParameters.Instance; onEnterPos = characterController.transform.position; jumpDirection = characterController.DeltaPosition.normalized; jumpDirection.Scale(BurinkeruCharacterController.MovementAxes); if (components.RigManager.CurrentRig != null) { components.RigManager.CurrentRig.SetInAir(true); } }
/// <summary> /// Creates a copy of this parameters. /// </summary> /// <returns>A copy of this parameters</returns> public CharacterControllerParameters Clone() { CharacterControllerParameters clone = new CharacterControllerParameters(); clone.movementControl = movementControl; clone.movementBehaviour = movementBehaviour; clone.relativeToGravity = relativeToGravity; clone.maxSpeed = maxSpeed; clone.accelerationOnGround = accelerationOnGround; clone.accelerationOnAir = accelerationOnAir; clone.slopeStickiness = slopeStickiness; clone.maxWallSlideAngle = maxWallSlideAngle; clone.slidingDragFactor = slidingDragFactor; clone.angleThereshold = angleThereshold; clone.jumpBehaviour = jumpBehaviour; clone.jumpFrequency = jumpFrequency; clone.jumpMagnitude = jumpMagnitude; clone.jumpDelayPerSize = jumpDelayPerSize; clone.minSizeToApplyDelay = minSizeToApplyDelay; clone.wallJumpHeight = wallJumpHeight; clone.wallJumpDistance = wallJumpDistance; clone.baseMass = baseMass; clone.useCustomGravity = useCustomGravity; clone.customGravity = customGravity; clone.maxVelocity = maxVelocity; clone.zClamp = zClamp; return clone; }