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;
            }
        }
Example #2
0
        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);
        }