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; }
/// <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; }