90 lines
2.8 KiB
C#
90 lines
2.8 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Globalization;
|
|
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 if(setting.Type == SettingType.Float)
|
|
{
|
|
string view = GetFloatView(setting);
|
|
sb.AppendLine(view);
|
|
}
|
|
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;
|
|
}
|
|
|
|
private static string GetFloatView(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>";
|
|
//res += $"<input type=\"range\" name=\"{setting.id}\" id=\"{setting.Id}\" >";
|
|
res += $"<input id=\"{setting.Id}\" type=\"range\" min=\"{setting.FloatMin.ToString(CultureInfo.InvariantCulture)}\" max=\"{setting.FloatMax.ToString(CultureInfo.InvariantCulture)}\" value=\"{setting.FloatValue.ToString(CultureInfo.InvariantCulture)}\" step=\"{setting.FloatStep.ToString(CultureInfo.InvariantCulture)}\">";
|
|
res += "</div>";
|
|
|
|
return res;
|
|
|
|
}
|
|
|
|
}
|