Esempio n. 1
0
        public void SwitchCamera()
        {
            MySession.Static.CameraController.IsInFirstPersonView = !MySession.Static.CameraController.IsInFirstPersonView;

            if (MySession.GetCameraControllerEnum() == MyCameraControllerEnum.ThirdPersonSpectator)
            {
                MyEntityCameraSettings settings = null;
                if (MySession.Static.Cameras.TryGetCameraSettings(MySession.LocalHumanPlayer.Id, MySession.ControlledEntity.Entity.EntityId, out settings))
                {
                    MyThirdPersonSpectator.Static.ResetDistance(settings.Distance);
                }
                else
                {
                    MyThirdPersonSpectator.Static.RecalibrateCameraPosition();
                }
            }

            MySession.SaveControlledEntityCameraSettings(MySession.Static.CameraController.IsInFirstPersonView);
        }
Esempio n. 2
0
        public Multiplayer.MyEntityCameraSettings GetCameraEntitySettings()
        {
            ulong playerId = 0;

            if (ControllerInfo.Controller != null && ControllerInfo.Controller.Player != null)
            {
                playerId = ControllerInfo.Controller.Player.Id.SteamId;
                if (!MySession.Static.Cameras.TryGetCameraSettings(ControllerInfo.Controller.Player.Id, EntityId, out m_cameraSettings))
                {
                    if (ControllerInfo.IsLocallyHumanControlled())
                    {
                        m_cameraSettings = new MyEntityCameraSettings()
                        {
                            Distance      = 0,
                            IsFirstPerson = true,
                            HeadAngle     = new Vector2(HeadLocalXAngle, HeadLocalYAngle)
                        };
                    }
                }
            }
            return(m_cameraSettings);
        }