private void BuildFirstPersonModePlayer(
            out FirstPersonMode firstPerson,
            out Mock <ICheckGroundHandler> checkGroundMock,
            out Mock <IRigidbody> rigidBodyMock)
        {
            firstPerson = new GameObject("player").AddComponent <FirstPersonMode>();

            checkGroundMock = new Mock <ICheckGroundHandler>();
            var inputActionsMock = new Mock <FirstPersonInputActions>();

            var inputsMock = new Mock <IFirstPersonInputs>();

            inputsMock.SetupGet(x => x.Jump).Returns(true);

            firstPerson.Setup(
                ScriptableObject.CreateInstance <FirstPersonModeSettings>(),
                inputsMock.Object,
                checkGroundMock.Object,
                animController: null,
                audioSource: new Mock <IAudioSource>().Object,
                camera: null
                );

            rigidBodyMock         = new Mock <IRigidbody>();
            firstPerson.Rigidbody = rigidBodyMock.Object;
        }
Exemple #2
0
        /// <summary>
        /// Creates a new instance of the camera.
        /// The camera will face negative Z direction by default.
        /// </summary>
        /// <param name="device"></param>
        /// <param name="initialPosition">The starting point of the camera.</param>
        /// <param name="mode"></param>
        /// <param name="farZ">The far clipping plane.</param>
        public FirstPersonCamera(GraphicsDevice device, Vector3 initialPosition, FirstPersonMode mode, float farZ = 1000)
        {
            _device = device;
            FarZ    = farZ;

            Position = initialPosition;
            Mode     = mode;
            _dirty   = true;
        }