스타일 가이드 수정 중

This commit is contained in:
logonkhi
2026-01-23 19:04:12 +09:00
parent 59d473c87b
commit 99f9c3b26d
86 changed files with 3013 additions and 1795 deletions

View File

@@ -229,6 +229,20 @@ namespace UVC.UIToolkit
/// </summary>
public static bool HasIcon(string iconName) => _pathsByName.ContainsKey(iconName);
/// <summary>
/// 리소스 경로로 아이콘 이름을 조회합니다.
/// </summary>
/// <param name="resourcePath">리소스 경로 (예: Icons/Home)</param>
/// <returns>아이콘 이름, 없으면 빈 문자열</returns>
public static string GetIconName(string resourcePath)
{
foreach (var kvp in _pathsByName)
{
if (kvp.Value == resourcePath) return kvp.Key;
}
return string.Empty;
}
/// <summary>
/// 모든 아이콘 이름 목록을 반환합니다.
/// </summary>

View File

@@ -12499,14 +12499,28 @@ namespace UVC.UIToolkit
};
/// <summary>
/// 아이콘 이름으로 유니코드 문자를 조회합니다.
/// 아이콘 이름(settings) 또는 유니코드(\uE8B8)로 유니코드 문자를 조회합니다. "□" 식의 유니코드 지원 않함
/// </summary>
/// <param name="iconName">아이콘 이름 (예: "home", "settings")</param>
/// <returns>아이콘 문자, 없으면 빈 문자열</returns>
public static string GetIcon(string iconName)
{
// 실제 유니코드 문자가 아니라 이스케이프 문자열인 경우 변환
if (iconName.StartsWith("\\u") && iconName.Length == 6)
{
try
{
var code = Convert.ToInt32(iconName.Substring(2), 16);
iconName = char.ConvertFromUtf32(code);
}
catch
{
Debug.LogWarning($"Failed to convert escape sequence: {iconName}");
}
}
if(IsIconChar(iconName)) return iconName;
return _iconsByName.TryGetValue(iconName, out var icon) ? icon : string.Empty;
return _iconsByName.TryGetValue(iconName.ToLower(), out var icon) ? icon : string.Empty;
}
/// <summary>
@@ -12517,7 +12531,21 @@ namespace UVC.UIToolkit
/// <summary>
/// 유니코드 문자로 아이콘이 존재하는지 확인합니다.
/// </summary>
public static bool IsIconChar(string iconChar) => _iconsByName.Values.Contains(iconChar);
public static bool IsIconChar(string iconChar) => _iconsByName.Values.Any(v => string.Equals(v, iconChar, StringComparison.OrdinalIgnoreCase));
/// <summary>
/// 유니코드 문자로 아이콘 이름을 조회합니다.
/// </summary>
/// <param name="iconChar"></param>
/// <returns></returns>
public static string GetIconNameByChar(string iconChar)
{
foreach (var kvp in _iconsByName)
{
if (string.Equals(kvp.Value, iconChar, StringComparison.OrdinalIgnoreCase)) return kvp.Key;
}
return string.Empty;
}
/// <summary>
/// 모든 아이콘 이름 목록을 반환합니다.