public void Activate() { cameraPosition.Set(); if (cameraType == CameraType.fix) { CameraManager.FixCamera(); } else if (cameraType == CameraType.pan) { CameraManager.PanCamera(camDistance); } if (inputOrientation != null) { inputOrientation.Ready(); } }
private void SyncCamera() { if (_cameraBusy) { return; } _cameraBusy = true; try { var offset = AlignCar ? -Renderer.CarCenter : Vector3.Zero; CameraPosition.Set(Renderer.Camera.Position + offset); CameraLookAt.Set((Renderer.CameraOrbit?.Target ?? Renderer.Camera.Position + Renderer.Camera.Look) + offset); CameraFov = Renderer.Camera.FovY.ToDegrees(); AlignCameraHorizontally = false; AlignCameraVertically = false; } finally { _cameraBusy = false; } }
protected void LoadCamera(SaveableData o) { _cameraBusy = true; try { CameraPosition.Set(o.CameraPosition); CameraLookAt.Set(o.CameraLookAt); CameraFov = o.CameraFov; AlignCar = o.AlignCar; AlignCameraHorizontally = o.AlignCameraHorizontally; AlignCameraHorizontallyOffset = o.AlignCameraHorizontallyOffset; AlignCameraHorizontallyOffsetRelative = o.AlignCameraHorizontallyOffsetRelative; AlignCameraVertically = o.AlignCameraVertically; AlignCameraVerticallyOffset = o.AlignCameraVerticallyOffset; AlignCameraVerticallyOffsetRelative = o.AlignCameraVerticallyOffsetRelative; } finally { _cameraBusy = false; UpdateCamera(); } }