public ButtonInfo(string name, ConfigEntry <string> entry) { try { button = name; string[] parts = entry.Value.Split(','); key = parts[0]; if (parts.Length == 1) { return; } repeatDelay = float.Parse(parts[1], CultureInfo.InvariantCulture.NumberFormat); if (parts.Length == 2) { return; } repeatInterval = float.Parse(parts[2], CultureInfo.InvariantCulture.NumberFormat); if (parts.Length == 3) { return; } inverted = bool.Parse(parts[3]); } catch (Exception ex) { BepInExPlugin.Dbgl($"Exception parsing config entry {name} string {entry.Value}\n{ex}"); } }
private void Awake() { context = this; modEnabled = Config.Bind <bool>("Config", "Enabled", true, "Enable this mod"); nexusID = Config.Bind <int>("Config", "NexusID", 1105, "Nexus mod ID for updates"); buttonAttack = Config.Bind <string>("KeysCombat", "Attack", "Mouse0", "Attack button"); buttonSecondAttack = Config.Bind <string>("KeysCombat", "SecondAttack", "Mouse2", "SecondAttack button"); buttonBlock = Config.Bind <string>("KeysCombat", "Block", "Mouse1", "Block button"); buttonUse = Config.Bind <string>("KeysMisc", "Use", "E", "Use button"); buttonHide = Config.Bind <string>("KeysMisc", "Hide", "R", "Hide button"); buttonJump = Config.Bind <string>("KeysMovement", "Jump", "Space", "Jump button"); buttonCrouch = Config.Bind <string>("KeysMovement", "Crouch", "LeftControl", "Crouch button"); buttonRun = Config.Bind <string>("KeysMovement", "Run", "LeftShift", "Run button"); buttonToggleWalk = Config.Bind <string>("KeysMovement", "ToggleWalk", "C", "ToggleWalk button"); buttonAutoRun = Config.Bind <string>("KeysMovement", "AutoRun", "Q", "AutoRun button"); buttonSit = Config.Bind <string>("KeysMovement", "Sit", "X", "Sit button"); buttonGPower = Config.Bind <string>("KeysMisc", "GPower", "F", "GPower button"); buttonAltPlace = Config.Bind <string>("KeysBuild", "AltPlace", "LeftShift", "AltPlace button"); buttonForward = Config.Bind <string>("KeysDirection", "Forward", "W,0.3,0.1", "Forward button"); buttonLeft = Config.Bind <string>("KeysDirection", "Left", "A,0.3,0.1", "Left button"); buttonBackward = Config.Bind <string>("KeysDirection", "Backward", "S,0.3,0.1", "Backward button"); buttonRight = Config.Bind <string>("KeysDirection", "Right", "D,0.3,0.1", "Right button"); buttonInventory = Config.Bind <string>("KeysMisc", "Inventory", "Tab", "Inventory button"); buttonMap = Config.Bind <string>("KeysMap", "Map", "M", "Map button"); buttonMapZoomOut = Config.Bind <string>("KeysMap", "MapZoomOut", "Comma", "MapZoomOut button"); buttonMapZoomIn = Config.Bind <string>("KeysMap", "MapZoomIn", "Period", "MapZoomIn button"); buttonBuildPrev = Config.Bind <string>("KeysBuild", "BuildPrev", "Q", "BuildPrev button"); buttonBuildNext = Config.Bind <string>("KeysBuild", "BuildNext", "E", "BuildNext button"); buttonBuildMenu = Config.Bind <string>("KeysBuild", "BuildMenu", "Mouse1", "BuildMenu button"); buttonRemove = Config.Bind <string>("KeysBuild", "Remove", "Mouse2", "Remove button"); buttonJoyUse = Config.Bind <string>("JoystickMisc", "JoyUse", "JoystickButton0", "JoyUse button"); buttonJoyHide = Config.Bind <string>("JoystickMisc", "JoyHide", "JoystickButton9", "JoyHide button"); buttonJoyJump = Config.Bind <string>("JoystickMovement", "JoyJump", "JoystickButton1", "JoyJump button"); buttonJoySit = Config.Bind <string>("JoystickMovement", "JoySit", "JoystickButton2", "JoySit button"); buttonJoyInventory = Config.Bind <string>("JoystickMisc", "JoyInventory", "JoystickButton3", "JoyInventory button"); buttonJoyRun = Config.Bind <string>("JoystickMovement", "JoyRun", "JoystickButton4", "JoyRun button"); buttonJoyCrouch = Config.Bind <string>("JoystickMovement", "JoyCrouch", "JoystickButton8", "JoyCrouch button"); buttonJoyMap = Config.Bind <string>("JoystickUI", "JoyMap", "JoystickButton6", "JoyMap button"); buttonJoyMenu = Config.Bind <string>("JoystickUI", "JoyMenu", "JoystickButton7", "JoyMenu button"); buttonJoySecondAttack = Config.Bind <string>("JoystickCombat", "JoySecondAttack", "JoystickButton5", "JoySecondAttack button"); buttonJoyAltPlace = Config.Bind <string>("JoystickBuild", "JoyAltPlace", "JoystickButton4", "JoyAltPlace button"); buttonJoyRemove = Config.Bind <string>("JoystickBuild", "JoyRemove", "JoystickButton5", "JoyRemove button"); buttonJoyTabLeft = Config.Bind <string>("JoystickUI", "JoyTabLeft", "JoystickButton4", "JoyTabLeft button"); buttonJoyTabRight = Config.Bind <string>("JoystickUI", "JoyTabRight", "JoystickButton5", "JoyTabRight button"); buttonJoyButtonA = Config.Bind <string>("JoystickButtons", "JoyButtonA", "JoystickButton0", "JoyButtonA button"); buttonJoyButtonB = Config.Bind <string>("JoystickButtons", "JoyButtonB", "JoystickButton1", "JoyButtonB button"); buttonJoyButtonX = Config.Bind <string>("JoystickButtons", "JoyButtonX", "JoystickButton2", "JoyButtonX button"); buttonJoyButtonY = Config.Bind <string>("JoystickButtons", "JoyButtonY", "JoystickButton3", "JoyButtonY button"); buttonJoyLStick = Config.Bind <string>("JoystickButtons", "JoyLStick", "JoystickButton8", "JoyLStick button"); buttonJoyRStick = Config.Bind <string>("JoystickButtons", "JoyRStick", "JoystickButton9", "JoyRStick button"); buttonJoyGPower = Config.Bind <string>("JoystickMisc", "JoyGPower", "JoyAxis 7,0,0,true", "JoyGPower button"); buttonJoyBlock = Config.Bind <string>("JoystickCombat", "JoyBlock", "JoyAxis 3,0,0,true", "JoyBlock button"); buttonJoyAttack = Config.Bind <string>("JoystickCombat", "JoyAttack", "JoyAxis 3,0,0,false", "JoyAttack button"); buttonJoyRotate = Config.Bind <string>("JoystickBuild", "JoyRotate", "JoyAxis 3,0,0,true", "JoyRotate button"); buttonJoyPlace = Config.Bind <string>("JoystickBuild", "JoyPlace", "JoyAxis 10,0,0,false", "JoyPlace button"); buttonJoyLStickLeft = Config.Bind <string>("JoystickPads", "JoyLStickLeft", "JoyAxis 1,0.3,0.1,true", "JoyLStickLeft button"); buttonJoyLStickRight = Config.Bind <string>("JoystickPads", "JoyLStickRight", "JoyAxis 1,0.3,0.1,false", "JoyLStickRight button"); buttonJoyLStickUp = Config.Bind <string>("JoystickPads", "JoyLStickUp", "JoyAxis 2,0.3,0.1,true", "JoyLStickUp button"); buttonJoyLStickDown = Config.Bind <string>("JoystickPads", "JoyLStickDown", "JoyAxis 2,0.3,0.1,false", "JoyLStickDown button"); buttonJoyDPadLeft = Config.Bind <string>("JoystickPads", "JoyDPadLeft", "JoyAxis 6,0.3,0.1,true", "JoyDPadLeft button"); buttonJoyDPadRight = Config.Bind <string>("JoystickPads", "JoyDPadRight", "JoyAxis 6,0.3,0.1,false", "JoyDPadRight button"); buttonJoyDPadUp = Config.Bind <string>("JoystickPads", "JoyDPadUp", "JoyAxis 7,0.3,0.1,true", "JoyDPadUp button"); buttonJoyDPadDown = Config.Bind <string>("JoystickPads", "JoyDPadDown", "JoyAxis 7,0.3,0.1,false", "JoyDPadDown button"); buttonJoyLTrigger = Config.Bind <string>("JoystickButtons", "JoyLTrigger", "JoyAxis 3,0,0,true", "JoyLTrigger button"); buttonJoyRTrigger = Config.Bind <string>("JoystickButtons", "JoyRTrigger", "JoyAxis 3,0,0,false", "JoyRTrigger button"); harmony = new Harmony(Info.Metadata.GUID); harmony.PatchAll(); }