public GameModeSetting(string key, int selection, float[] floats, int[] ints) { if (Settings.Storage == null) { Settings.CreateStorage(); } Settings.AddSetting(this); GameModes.AddSetting(this); string[] keys = key.Split(Separator); HashKeys = new string[keys.Length]; for (int i = 0; i < keys.Length; i++) { HashKeys[i] = keys[i]; } this.key = keys[0]; saveKey = "GameMode/" + keys[0]; this.nextSelection = selection; this.nextFloats = floats; nextIntegers = ints; draw = (rect, loc) => { }; if (selection >= 0) { draw += DrawSelection; } if (floats != null) { draw += DrawFloats; } if (ints != null) { draw += DrawIntegers; } Load(); Apply(); AddChangedCallback(RCSettingCallback); }