스타일 가이드 수정 중
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
/// 모든 아이콘 이름 목록을 반환합니다.
|
||||
|
||||
Reference in New Issue
Block a user