public string GenerateDefaultModSettings() { Logger.Debug("Generating default settings..."); var settingsList = new List <string>(); settingsList.Add(new TModSettings().Serialize()); ModFeatures.ForEach(feature => settingsList.Add(feature.DefaultSettings.Serialize())); return(settingsList.Join()); }
private void Initialize(HarmonyInstance harmonyInstance, string settings) { Logger.Debug("Initializing Features..."); ModSettings = JsonHelpers.Deserialize <TModSettings>(settings) ?? new TModSettings(); Logger.LogLevel = ModSettings.LogLevel; var jsonSettings = JsonHelpers.Deserialize(settings); ModFeatures.ForEach( feature => feature.Initialize( harmonyInstance, jsonSettings?[feature.Name]?.ToString(), Logger, Directory)); Logger.Debug("Feature initialization complete."); }
static MultiAdminFeatures() { foreach (string startArg in Environment.GetCommandLineArgs()) { if (startArg.StartsWith(MULTIADMIN_CONSOLE_PREFIX, StringComparison.OrdinalIgnoreCase)) { MultiAdminUsed = true; IEnumerable <string> separatedInfo = startArg.Split(MultiAdminValueSeparator).Skip(1); MultiAdminVersion = separatedInfo.ElementAtOrDefault(0); string features = separatedInfo.ElementAtOrDefault(1); if (!string.IsNullOrEmpty(features) && int.TryParse(features, out int modFeatures)) { MultiAdminModFeatures = (ModFeatures)modFeatures; return; } ServerConsole.AddLog($"Failed to parse MultiAdmin ModFeatures! Source: {features}", ConsoleColor.Red); break; } } }