private void PlaceCamera() { switch (_cameraType) { case CameraType.Entity: if (CustomCamera == null) { CustomCamera = World.CreateCamera(CameraOnEntity.GetOffsetPosition(CameraPosition), Vector3.Zero, GameplayCamera.FieldOfView); } else { CustomCamera.Position = CameraOnEntity.GetOffsetPosition(CameraPosition); } break; } switch (_lookAtType) { case CameraType.Entity: CustomCamera.PointAt(LookAtEntity, LookAtPosition); break; } World.RenderingCamera = CustomCamera; if (!_updateCamera) { _disableUpdate = true; } }
private void PlaceCamera() { switch (_cameraType) { case CameraType.Entity: if (CustomCamera == null) { CustomCamera = World.CreateCamera(CameraOnEntity.GetOffsetPosition(CameraPosition), Vector3.Zero, FieldOfView == -1 ? GameplayCamera.FieldOfView : FieldOfView); } CustomCamera.AttachTo(CameraOnEntity, CameraPosition); break; case CameraType.Position: if (CustomCamera == null) { CustomCamera = World.CreateCamera(CameraPosition, Vector3.Zero, FieldOfView == -1 ? GameplayCamera.FieldOfView : FieldOfView); } else { CustomCamera.Position = CameraPosition; } break; } switch (_lookAtType) { case CameraType.Entity: CustomCamera.PointAt(LookAtEntity, LookAtPosition); break; case CameraType.Position: CustomCamera.PointAt(LookAtPosition); break; } if (_cameraType == CameraType.Custom && _lookAtType == CameraType.Custom) { _customCameraManager.Show(_customCameraIndex); } else { World.RenderingCamera = CustomCamera; } //Disable fake shake of the cars. Function.Call((Hash)0x84FD40F56075E816, 0); }