public void SetConfig(params object[] args) { var stringArgs = ObjectToStringArray(args.Take(args.Length - 1).ToArray()); if (_config.Get(stringArgs) == null) { _config.Set(args); } }
private void LoadQuarries() { // Note: This doesn't use Oxide's default "DynamicData/ConfigFile" API, because it's pretty restrictive on datatypes allowed // And causes us to cast things all over the place. // Instead, we'll shove some json serialized strings into the data file that we can deserialize later // using Json.Net's awesome serialization. var quarryData = QuarryData.Get <string>("Quarries"); if (string.IsNullOrEmpty(quarryData)) { Quarries.Clear(); return; } var settings = new JsonSerializerSettings { Formatting = Formatting.None, DefaultValueHandling = DefaultValueHandling.Populate, TypeNameHandling = TypeNameHandling.Auto, ObjectCreationHandling = ObjectCreationHandling.Replace }; // Populate the actual quarry list now please. JsonConvert.PopulateObject(quarryData, Quarries, settings); }