Пример #1
0
    void Start()
    {
        //PlayerStatusVariables = new PlayerStatusVariables();
        PlayerStatusVariables  = GetComponent <PlayerStatusVariables>();
        PlayerStatusController = GetComponent <PlayerStatusController>();

        PlayerCollisionHandler = new BasicCollisionHandler(this, maxAngle, layerMaskForCollisions);

        PlayerController = new PlayerController(transform);

        HorizontalMovement = new PlayerHorizontalMovement(this, maxSpeed, acceleration,
                                                          dodgeForce, crouchingSpeed, PlayerCollisionHandler, PlayerController, PlayerStatusVariables,
                                                          PlayerStatusController);

        VerticalMovement = new PlayerVerticalMovement(this, jumpForce, climbingLadderSmoothness,
                                                      climbingObstacleSmoothness, climbLadderVelocity, minimumFallingDistanceForDamage, minimumDamageForFalling,
                                                      PlayerCollisionHandler,
                                                      PlayerController,
                                                      PlayerStatusVariables, PlayerStatusController);

        MiscellaneousMovement = new PlayerMiscellaneousMovement(this, cameraZoomSize, PlayerCollisionHandler,
                                                                PlayerController,
                                                                PlayerStatusVariables, Inventory, diary, InGameMenuController);

        CombatMovement = new PlayerCombatMovement(this, PlayerCollisionHandler, PlayerController,
                                                  PlayerStatusVariables, PlayerStatusController, HorizontalMovement, Inventory, cqcDistance, cqcDamage,
                                                  offsetForThrowableItemPosition,
                                                  rangeForShortThrowableItemPosition);
    }
        public void CalculateGravitationalEffectVectorShouldReturnExpectedVectorWhenNotGrounded()
        {
            var characterController = new GameObject().AddComponent <CharacterController>();
            PlayerVerticalMovement playerVerticalMovement = new PlayerVerticalMovement(characterController, 12f);

            Vector3 expected = new Vector3(0f, 12f, 0f);

            Assert.AreEqual(expected, playerVerticalMovement.CalculateGravitationalEffectVector(1f));
        }
        public void CalculateGravitationalEffectVectorShouldReturnExpectedVectorWhenGrounded()
        {
            var characterController = new GameObject().AddComponent <CharacterController>();
            var groundChecker       = Substitute.ForPartsOf <GroundChecker>(characterController);

            groundChecker.IsGrounded().Returns(true);
            PlayerVerticalMovement playerVerticalMovement = new PlayerVerticalMovement(characterController, 12f);

            Vector3 expected = new Vector3(0f, 12f, 0f);

            Assert.AreEqual(expected, playerVerticalMovement.CalculateGravitationalEffectVector(1f));
        }
Пример #4
0
 void Start()
 {
     PlayerRotation         = new PlayerRotation(mouseSensitivity);
     PlayerGroundMovement   = new PlayerGroundMovement(transform, speed);
     PlayerVerticalMovement = new PlayerVerticalMovement(characterController, gravity);
 }