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); }