toolbar 개발 중
This commit is contained in:
@@ -20,7 +20,7 @@ namespace UVC.UI.Modal
|
||||
/// };
|
||||
///
|
||||
/// // 이렇게 만든 레시피(myRecipe)를 Modal.Open()에 전달하면 모달이 뿅 나타나요!
|
||||
/// // bool userChoseConfirm = await Modal.Open<bool>(myRecipe);
|
||||
/// // bool userChoseConfirm = await Modal.Open<bool>(myRecipe);
|
||||
/// </code>
|
||||
/// </example>
|
||||
public class ModalContent
|
||||
@@ -37,11 +37,12 @@ namespace UVC.UI.Modal
|
||||
/// </summary>
|
||||
public string Message { get; set; }
|
||||
|
||||
private string _confirmButtonText;
|
||||
private string _confirmButtonText = "확인";
|
||||
/// <summary>
|
||||
/// ✅ '확인' 버튼에 보여줄 글자예요.
|
||||
/// 특별히 정해주지 않으면 기본적으로 "확인" (또는 설정된 언어에 맞게)이라고 나와요.
|
||||
/// 직접 "네", "저장하기", "출발!" 처럼 원하는 글자로 바꿀 수 있어요.
|
||||
/// 다국어 키를 사용해서 설정할 수도 있어요. (예: "ui_button_confirm", "action_ok")
|
||||
/// </summary>
|
||||
public string ConfirmButtonText
|
||||
{
|
||||
@@ -50,19 +51,20 @@ namespace UVC.UI.Modal
|
||||
// _confirmButtonText가 명시적으로 설정되지 않았고, LocalizationManager 사용이 가능하다면 번역된 문자열을 반환
|
||||
if (string.IsNullOrEmpty(_confirmButtonText) && LocalizationManager.Instance != null)
|
||||
{
|
||||
return LocalizationManager.Instance.GetString("button_confirm");
|
||||
return LocalizationManager.Instance.GetString(_confirmButtonText);
|
||||
}
|
||||
// 명시적으로 설정된 값이 있거나 LocalizationManager를 사용할 수 없다면 해당 값 또는 기본 키 반환
|
||||
return !string.IsNullOrEmpty(_confirmButtonText) ? _confirmButtonText : "[button_confirm]";
|
||||
return _confirmButtonText;
|
||||
}
|
||||
set => _confirmButtonText = value;
|
||||
}
|
||||
|
||||
private string _cancelButtonText;
|
||||
private string _cancelButtonText = "취소";
|
||||
/// <summary>
|
||||
/// ❌ '취소' 버튼에 보여줄 글자예요.
|
||||
/// 특별히 정해주지 않으면 기본적으로 "취소" (또는 설정된 언어에 맞게)이라고 나와요.
|
||||
/// 직접 "아니요", "닫기", "나중에" 처럼 원하는 글자로 바꿀 수 있어요.
|
||||
/// 다국어 키를 사용해서 설정할 수도 있어요. (예: "ui_button_cancel", "action_no")
|
||||
/// </summary>
|
||||
public string CancelButtonText
|
||||
{
|
||||
@@ -71,10 +73,10 @@ namespace UVC.UI.Modal
|
||||
// _cancelButtonText가 명시적으로 설정되지 않았고, LocalizationManager 사용이 가능하다면 번역된 문자열을 반환
|
||||
if (string.IsNullOrEmpty(_cancelButtonText) && LocalizationManager.Instance != null)
|
||||
{
|
||||
return LocalizationManager.Instance.GetString("button_cancel");
|
||||
return LocalizationManager.Instance.GetString(_cancelButtonText);
|
||||
}
|
||||
// 명시적으로 설정된 값이 있거나 LocalizationManager를 사용할 수 없다면 해당 값 또는 기본 키 반환
|
||||
return !string.IsNullOrEmpty(_cancelButtonText) ? _cancelButtonText : "[button_cancel]";
|
||||
return _cancelButtonText;
|
||||
}
|
||||
set => _cancelButtonText = value;
|
||||
}
|
||||
@@ -122,46 +124,7 @@ namespace UVC.UI.Modal
|
||||
PrefabPath = prefabPath;
|
||||
// Title, Message 등 다른 텍스트 속성도 필요한 경우 여기서 기본 다국어 키를 사용하여 초기화할 수 있습니다.
|
||||
// 예: Title = LocalizationManager.Instance.GetString("default_modal_title");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 🔑 '확인' 버튼의 글자를 다국어 키를 사용해서 설정해요.
|
||||
/// 게임이 여러 언어를 지원할 때 유용해요.
|
||||
/// </summary>
|
||||
/// <param name="localizationKey">미리 정해둔 다국어 키 (예: "ui_button_yes", "action_save")</param>
|
||||
public void SetConfirmButtonTextFromKey(string localizationKey)
|
||||
{
|
||||
// 직접 값을 설정하는 대신, 키를 저장하고 getter에서 처리하도록 할 수도 있으나,
|
||||
// 현재 구조에서는 setter를 통해 LocalizationManager.GetString을 호출하는 것이 더 간단합니다.
|
||||
// 다만, 이 경우 인스턴스 생성 시점의 언어에 고정될 수 있으므로,
|
||||
// 아래와 같이 getter에서 매번 가져오도록 하는 것이 언어 변경에 동적으로 반응합니다.
|
||||
// 여기서는 명시적 설정을 위해 _confirmButtonText를 사용합니다.
|
||||
// 만약 항상 최신 언어를 반영해야 한다면, _confirmButtonTextKey 와 같은 필드를 두고 getter에서 처리해야 합니다.
|
||||
if (LocalizationManager.Instance != null)
|
||||
{
|
||||
_confirmButtonText = LocalizationManager.Instance.GetString(localizationKey);
|
||||
}
|
||||
else
|
||||
{
|
||||
_confirmButtonText = $"[{localizationKey}]";
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 🔑 '취소' 버튼의 글자를 다국어 키를 사용해서 설정해요.
|
||||
/// </summary>
|
||||
/// <param name="localizationKey">미리 정해둔 다국어 키 (예: "ui_button_no", "action_cancel")</param>
|
||||
public void SetCancelButtonTextFromKey(string localizationKey)
|
||||
{
|
||||
if (LocalizationManager.Instance != null)
|
||||
{
|
||||
_cancelButtonText = LocalizationManager.Instance.GetString(localizationKey);
|
||||
}
|
||||
else
|
||||
{
|
||||
_cancelButtonText = $"[{localizationKey}]";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 🚀 모달 창이 화면에 나타나기 *직전*에 이 레시피가 할 일을 정해요. (비동기 작업 가능)
|
||||
|
||||
Reference in New Issue
Block a user