using System.Collections; using System.Collections.Generic; using System.Globalization; using System.Security.Cryptography; using System.Text; using UnityEngine; public class SettingsToHtml : MonoBehaviour { const string FORM_GROUP_STYLE = "style=\"border: 2px solid black;border-radius: 5px;\""; public static string GetSettingsPage(List settings) { return Decorate(GetSettingsString(settings)); } public static string GetSettingsString(List settings) { StringBuilder sb = new StringBuilder(); sb.AppendLine("

Настройки фишки

"); sb.AppendLine("
"); foreach (Setting setting in settings) { string view = string.Empty; if(setting.Type== SettingType.Bool) { view = GetBoolView(setting); } else if(setting.Type == SettingType.Float) { view = GetFloatView(setting); } else if(setting.Type == SettingType.String) { view = GetStringView(setting); } else { view = $"

{setting.Alias}: {setting.IntValue.ToString()}

"; } sb.AppendLine(view); } sb.AppendLine(""); sb.AppendLine("
"); return sb.ToString(); } private static string GetBoolView(Setting setting) { string name = setting.Id; string id = name + "ID"; string res = string.Empty; res += $"
"; res += $""; string ischecked = setting.BoolValue ? "checked" : ""; res += $""; res += "
"; return res; } private static string GetFloatView(Setting setting) { string name = setting.Id; string id = name + "ID"; string res = string.Empty; string min = setting.FloatMin.ToString(CultureInfo.InvariantCulture); string max = setting.FloatMax.ToString(CultureInfo.InvariantCulture); string value = setting.FloatValue.ToString(CultureInfo.InvariantCulture); string step = setting.FloatStep.ToString(CultureInfo.InvariantCulture); res += $"
"; res += $""; res += $""; res += "
"; return res; } private static string GetStringView(Setting setting) { string res = string.Empty; res += $"
"; res += $"

{setting.Alias}

"; for (int i = 0; i < setting.AllowedValues.Count; i++) { string stringValue = setting.AllowedValues[i]; string name = setting.Id; string id = name + "ID"; bool isChecked = setting.StringValue == stringValue; string Checked = isChecked ? "checked" : ""; res += "
"; res += $""; res += $""; res += "
"; } res += "
"; return res; } private static string GetIntView(Setting setting) { return string.Empty; } private static string Decorate(string content) { string res = "" + "" + "" + "" + "" + "Настройки Фишки" + "" + ""; res += content; res += "" + ""; return res; } }