public static void LoadSettings() { ConfigNode fileNode = ConfigNode.Load(BDArmorySettings.settingsConfigURL); if (!fileNode.HasNode("BDAInputSettings")) { fileNode.AddNode("BDAInputSettings"); } ConfigNode cfg = fileNode.GetNode("BDAInputSettings"); FieldInfo[] fields = typeof(BDInputSettingsFields).GetFields(); for (int i = 0; i < fields.Length; i++) { string fieldName = fields[i].Name; if (!cfg.HasValue(fieldName)) { continue; } BDInputInfo orig = (BDInputInfo)fields[i].GetValue(null); BDInputInfo loaded = new BDInputInfo(cfg.GetValue(fieldName), orig.description); fields[i].SetValue(null, loaded); } fileNode.Save(BDArmorySettings.settingsConfigURL); }
public static void LoadSettings(ConfigNode fileNode) { if(!fileNode.HasNode("BDAInputSettings")) { fileNode.AddNode("BDAInputSettings"); } ConfigNode cfg = fileNode.GetNode("BDAInputSettings"); FieldInfo[] fields = typeof(BDInputSettingsFields).GetFields(); for(int i = 0; i < fields.Length; i++) { string fieldName = fields[i].Name; if(cfg.HasValue(fieldName)) { BDInputInfo orig = (BDInputInfo)fields[i].GetValue(null); BDInputInfo loaded = new BDInputInfo(cfg.GetValue(fieldName), orig.description); fields[i].SetValue(null, loaded); } } }
public static bool GetKeyDown(BDInputInfo input) { return(input.inputString != string.Empty && Input.GetKeyDown(input.inputString)); }
public static bool GetKeyDown(BDInputInfo input) { return input.inputString != string.Empty && Input.GetKeyDown(input.inputString); }
void InputSettingsLine(string fieldName, int id, ref float line) { GUI.Box(SLineRect(line), GUIContent.none); string label = string.Empty; if(BDKeyBinder.IsRecordingID(id)) { string recordedInput; if(BDKeyBinder.current.AcquireInputString(out recordedInput)) { BDInputInfo orig = (BDInputInfo)typeof(BDInputSettingsFields).GetField(fieldName).GetValue(null); BDInputInfo recorded = new BDInputInfo(recordedInput, orig.description); typeof(BDInputSettingsFields).GetField(fieldName).SetValue(null, recorded); } label = " Press a key or button."; } else { BDInputInfo inputInfo = new BDInputInfo(); try { inputInfo = (BDInputInfo)typeof(BDInputSettingsFields).GetField(fieldName).GetValue(null); } catch(NullReferenceException) { Debug.Log("Reflection failed to find input info of field: " + fieldName); editKeys = false; return; } label = " "+inputInfo.description+" : "+inputInfo.inputString; if(GUI.Button(SSetKeyRect(line), "Set Key")) { BDKeyBinder.BindKey(id); } if(GUI.Button(SClearKeyRect(line), "Clear")) { typeof(BDInputSettingsFields).GetField(fieldName).SetValue(null, new BDInputInfo(inputInfo.description)); } } GUI.Label(SLeftRect(line), label); line++; }