static StateHandler() { keyBindings = new KeyBindings <BoundKey>(); keyBindings.AddBinding(BoundKey.KEY_TOGGLE_WINDOW, new KeyBind("toggle KerbCam window", // Binding required if Toolbar isn't available. /*!ToolbarManager.ToolbarAvailable*/ true, KeyCode.F8)); // Playback controls. keyBindings.AddBinding(BoundKey.KEY_PATH_TOGGLE_RUNNING, new KeyBind("play/stop selected path", false, KeyCode.Insert)); keyBindings.AddBinding(BoundKey.KEY_PATH_TOGGLE_PAUSE, new KeyBind("pause selected path", false, KeyCode.Home)); // Manual camera control keys. keyBindings.AddBinding(BoundKey.KEY_TRN_UP, new KeyBind("translate up")); keyBindings.AddBinding(BoundKey.KEY_TRN_FORWARD, new KeyBind("translate forward")); keyBindings.AddBinding(BoundKey.KEY_TRN_LEFT, new KeyBind("translate left")); keyBindings.AddBinding(BoundKey.KEY_TRN_RIGHT, new KeyBind("translate right")); keyBindings.AddBinding(BoundKey.KEY_TRN_DOWN, new KeyBind("translate down")); keyBindings.AddBinding(BoundKey.KEY_TRN_BACKWARD, new KeyBind("translate backward")); keyBindings.AddBinding(BoundKey.KEY_ROT_ROLL_LEFT, new KeyBind("roll left")); keyBindings.AddBinding(BoundKey.KEY_ROT_UP, new KeyBind("pan up")); keyBindings.AddBinding(BoundKey.KEY_ROT_ROLL_RIGHT, new KeyBind("roll right")); keyBindings.AddBinding(BoundKey.KEY_ROT_LEFT, new KeyBind("pan left")); keyBindings.AddBinding(BoundKey.KEY_ROT_RIGHT, new KeyBind("pan right")); keyBindings.AddBinding(BoundKey.KEY_ROT_DOWN, new KeyBind("pan down")); keyBindings.AddBinding(BoundKey.KEY_DEBUG, new KeyBind("log debug data (developer mode only)")); keyBindings.ListenKeyUp(BoundKey.KEY_DEBUG, HandleDebug); paths = new List <SimpleCamPath>(); camControlObj = new GameObject("KerbCam.CameraController"); UnityEngine.Object.DontDestroyOnLoad(camControlObj); camControl = camControlObj.AddComponent <CameraController>(); manCamControl = ManualCameraControl.Create(); LoadConfig(); LoadPaths(); }