Exemplo n.º 1
0
 private void Start()
 {
     try
     {
         this.subWaterModel = GameDatabase.Instance.GetModel("Maritime Pack/Dome/Sub/model");
     }
     catch
     {
         MPLog.Writelog("[Maritime Pack] Problem locating SubWaterLayer!");
     }
     if (this.subWaterModel != null)
     {
         this.subWaterModel.SetActive(false);
     }
     else
     {
         MPLog.Writelog("[Maritime Pack ] One of the underwater environment models are not loading!");
     }
     if (UnderwaterCamera.ManualControl)
     {
         try
         {
             UnderwaterCamera.RestoreCameraParent();
         }
         catch (Exception)
         {
             MPLog.Writelog("[Maritime Pack ] Startup no active camera parent");
         }
         UnderwaterCamera.ManualControl = false;
     }
 }
Exemplo n.º 2
0
 public void Update()
 {
     if (!SubFound || FlightGlobals.ActiveVessel == null)
     {
         return;
     }
     //Camera Switch
     if (FlightGlobals.ActiveVessel.altitude <= -2.0 && MPUnderwaterCamera.active)
     {
         try
         {
             if (UnderwaterCamera.ManualControl && (CameraManager.Instance.currentCameraMode == CameraManager.CameraMode.IVA || CameraManager.Instance.currentCameraMode == CameraManager.CameraMode.Internal)) // Exit when IVA too
             {
                 UnderwaterCamera.RestoreCameraParent();
                 return;
             }
         }
         catch (Exception)
         {
             MPLog.Writelog("[Maritime Pack] RestoreCameraParent Exception!");
             return;
         }
         if (!UnderwaterCamera.ManualControl)
         {
             try
             {
                 UnderwaterCamera.SetCameraParent();
                 MPLog.Writelog("[Maritime Pack] Setting Camera Parent");
             }
             catch (Exception ex)
             {
                 print("[Maritime Pack] Set Camera Exception!"); print(ex.Message);
             }
             try
             {
                 UnderwaterCamera.ManualControl = true;
                 cameraManualControl();
                 MPLog.Writelog("[Maritime Pack] Camera Manual Control Activated");
             }
             catch (Exception ex)
             {
                 MPLog.Writelog("[Maritime Pack] Camera Manual Control Exception!"); print(ex.Message);
             }
         }
         else
         {
             if (FlightCamera.fetch.enabled)
             {
                 new WaitForEndOfFrame();
                 cameraManualControl();
             }
         }
     }
     else
     {
         if (UnderwaterCamera.ManualControl)
         {
             try
             {
                 UnderwaterCamera.RestoreCameraParent();
             }
             catch (Exception ex)
             {
                 MPLog.Writelog("[Maritime Pack] Restore Camera Parent Exception!"); print(ex.Message);
             }
         }
     }
     //End Camera Switch
 }