void Start()
        {
            instance         = this;
            OnUpdate         = null;
            OnFixedUpdate    = null;
            OnLateUpdate     = null;
            lastHookedVessel = null;

            forceEVA             = ConfigUtil.ForceEVA();
            toggleFirstPersonKey = ConfigUtil.ToggleFirstPersonKey(KeyDisabler.instance.GetSavedKeyCodes(KeyDisabler.eKeyCommand.CAMERA_MODE)[0]);

            stopTouchingCamera = false;

            fpCameraManager = FirstPersonCameraManager.initialize(ConfigUtil.ShowSightAngle());
            fpNavBall       = new FPNavBall(this);
            fpStateFloating = new FPStateFloating(this);
            fpStateWalkRun  = new FPStateWalkRun(this);

            //We unbind the main one, so this allows us to still read the key state.
            resetivacamerabinding = new KeyBinding();
            KeyCode[] resetcameracodes = KeyDisabler.instance.GetSavedKeyCodes(KeyDisabler.eKeyCommand.CAMERA_NEXT);
            resetivacamerabinding.primary   = new KeyCodeExtended(resetcameracodes [0]);
            resetivacamerabinding.secondary = new KeyCodeExtended(resetcameracodes [1]);

            GameEvents.onVesselDestroy.Add(onVesselDestroy);

            /*GameEvents.onCrewKilled.Add((v) => {
             * fpCameraManager.resetCamera(null);
             * });*/

            GameEvents.onVesselSwitching.Add(onVesselSwitching);
            GameEvents.OnMapExited.Add(onMapExited);
            GameEvents.onGameSceneLoadRequested.Add(onSceneLoadRequested);
        }
Example #2
0
        public static FirstPersonCameraManager initialize(bool showSightAngle = true)
        {
            FirstPersonCameraManager instance = new FirstPersonCameraManager();

            instance.cameraState    = new CameraState();
            instance.showSightAngle = showSightAngle;

            return(instance);
        }