chip-game/Assets/Scripts/Server/SettingsToHtml.cs
_sega 701bc8c6eb Автосборка настроек типа вкл/выкл
Реализована генерация разметки для настроек типа вкл/выкл
2026-01-26 16:44:39 +03:00

78 lines
1.9 KiB
C#

using System.Collections;
using System.Collections.Generic;
using System.Text;
using UnityEngine;
public class SettingsToHtml : MonoBehaviour
{
public static string GetSettingsString(List<Setting> settings)
{
StringBuilder sb = new StringBuilder();
sb.AppendLine("Настройки фишки:");
foreach (Setting setting in settings)
{
if(setting.Type== SettingType.Bool)
{
string boolView = GetBoolView(setting);
sb.AppendLine(boolView);
}
else
{
sb.AppendLine($"<p>{setting.Alias}: {GetStringSettingValue(setting)}</p>");
}
}
return sb.ToString();
}
private static string GetStringSettingValue(Setting setting)
{
if (setting.Type == SettingType.Bool)
{
return setting.BoolValue ? "true" : "false";
}
else if (setting.Type == SettingType.String)
{
return setting.StringValue;
}
else if (setting.Type == SettingType.Int)
{
return setting.IntValue.ToString();
}
else if (setting.Type == SettingType.Float)
{
return setting.FloatValue.ToString();
}
else
{
return "Непонятый гений...";
}
}
private static string GetBoolView(Setting setting)
{
string res = string.Empty;
res += "<div class=\"form-group\" style=\"border: 2px solid black;border-radius: 5px;\">";
res += $"<label for=\"{setting.Id}\">{setting.Alias}</label>";
string ischecked = setting.BoolValue ? "checked" : "";
res += $"<input type=\"checkbox\" name=\"Голосовые реплики\" id=\"{setting.Id}\" {ischecked}>";
res += "</div>";
return res;
}
}