protected override void Execute() { Vector2 surroundingsDirection = SurroundingDirectionHelper.GetSurroundingsDirection(playerCollisionDirectionRef.Get(), playerRaycastDirectionRef.Get()); if (surroundingsDirection == Vector2.zero) { Abort(); } }
protected override void Execute() { Vector2 surroundingsDirection = SurroundingDirectionHelper.GetSurroundingsDirection(playerCollisionDirectionRef.Get(), playerRaycastDirectionRef.Get()); playerBounceEvent.Dispatch(new PlayerBounceEvent.Parameter( playerVelocityRef.Get().MoveDirection, surroundingsDirection )); }
protected override void Execute() { Vector2 moveDirection; if (playerVelocityRef.Get().IsMovingStandard) { moveDirection = playerVelocityRef.Get().MoveDirection; } else { moveDirection = playerVelocityRef.Get().GetPreviousVelocityDirection(); } Vector2 collisionDirection = playerCollisionDirectionRef.Get().CollisionDirection; RaycastData combinedRaycastData = playerRaycastDirectionRef.Get().GetCombinedDirectionAndCenterDistances(); Vector2 surroundingsDirection = SurroundingDirectionHelper.GetSurroundingsDirection(collisionDirection, combinedRaycastData.Direction); playerMoveDirectionRef.Get().TurnToNextDirection(moveDirection, surroundingsDirection, collisionDirection, combinedRaycastData.Distance); }
protected override void Execute() { Vector2 savedDirection = playerTurnDirectionRef.Get().SavedDirection; Vector2 moveDirection = playerVelocityRef.Get().MoveDirection; Vector2 newDirection = savedDirection; Vector2 surroundingsDirection = SurroundingDirectionHelper.GetSurroundingsDirection(playerCollisionDirectionRef.Get(), playerRaycastDirectionRef.Get()); if (surroundingsDirection.x != 0) { newDirection.x = surroundingsDirection.x * -1; } else if (surroundingsDirection.y != 0) { newDirection.y = surroundingsDirection.y * -1; } playerStatus.Player.transform.position += (Vector3)(newDirection * playerJumpRef.Get().InstantJumpStrength); playerSetMoveDirectionEvent.Dispatch(newDirection); playerTurnDirectionRef.Get().SavedDirection = newDirection; playerTemporarySpeedChangeEvent.Dispatch(new PlayerTemporarySpeedChangeEvent.Parameter(0.5f + playerJumpRef.Get().JumpSpeedBoost)); }