WebGL 대응 코드 적용

This commit is contained in:
logonkhi
2025-11-11 18:23:16 +09:00
parent 293e7b5cef
commit caf3737111
20 changed files with 55955 additions and 34588 deletions

View File

@@ -61,26 +61,26 @@ namespace UVC.UI.Window
public System.Action<TreeListItemData>? OnItemDeselected;
// 검색 목록에서 선택된 항목(클론된 데이터)
private TreeListItemData? selectedSearchItem;
protected TreeListItemData? selectedSearchItem;
// 검색 작업 상태
private CancellationTokenSource? searchCts;
private bool isSearching = false;
private float searchProgress =0f; // 내부 진행도 추적용
protected CancellationTokenSource? searchCts;
protected bool isSearching = false;
protected float searchProgress =0f; // 내부 진행도 추적용
[SerializeField]
[Tooltip("로딩 아이콘 회전 속도(도/초)")]
private float loadingRotateSpeed =360f;
protected float loadingRotateSpeed =360f;
[SerializeField]
[Tooltip("로딩 이미지의 채우기 애니메이션 속도(사이클/초)")]
private float loadingFillCycle =0.5f; // cycles per second. loadingRotateSpeed360 일때, loadingFillCycle를0.5 보다 높게 설정하면 이상해 보임
protected float loadingFillCycle =0.5f; // cycles per second. loadingRotateSpeed360 일때, loadingFillCycle를0.5 보다 높게 설정하면 이상해 보임
// DOTween tweens
private Tween? loadingRotationTween;
private Tween? loadingFillTween;
protected Tween? loadingRotationTween;
protected Tween? loadingFillTween;
private void Awake()
protected void Awake()
{
loadingImage.gameObject.SetActive(false);
@@ -161,7 +161,7 @@ namespace UVC.UI.Window
treeList.DeleteItem(data);
}
private void StartLoadingAnimation()
protected void StartLoadingAnimation()
{
if (loadingImage == null) return;
@@ -187,7 +187,7 @@ namespace UVC.UI.Window
.SetLoops(-1, LoopType.Yoyo);
}
private void StopLoadingAnimation()
protected void StopLoadingAnimation()
{
if (loadingRotationTween != null)
{
@@ -209,7 +209,7 @@ namespace UVC.UI.Window
}
}
private void CancelSearch()
protected void CancelSearch()
{
if (searchCts != null)
{
@@ -223,7 +223,7 @@ namespace UVC.UI.Window
StopLoadingAnimation();
}
private async void OnSearchSelectionChanged(TreeListItemData data, bool isSelected)
protected async void OnSearchSelectionChanged(TreeListItemData data, bool isSelected)
{
if (isSelected)
{
@@ -237,7 +237,7 @@ namespace UVC.UI.Window
}
}
private void HandleMainSelectionChanged(TreeListItemData data, bool isSelected)
protected void HandleMainSelectionChanged(TreeListItemData data, bool isSelected)
{
if (isSelected)
{
@@ -249,7 +249,7 @@ namespace UVC.UI.Window
}
}
private void OnInputFieldSubmit(string text)
protected void OnInputFieldSubmit(string text)
{
// 기존 검색 취소
CancelSearch();
@@ -278,7 +278,7 @@ namespace UVC.UI.Window
/// <summary>
/// 검색을 메인 스레드에서 분할 처리하여 UI 업데이트(로딩 애니메이션)가 가능하도록 구현합니다.
/// </summary>
private async UniTaskVoid PerformSearchAsync(string text, CancellationToken token)
protected async UniTaskVoid PerformSearchAsync(string text, CancellationToken token)
{
isSearching = true;
searchProgress =0f;
@@ -360,7 +360,7 @@ namespace UVC.UI.Window
}
private void OnDestroy()
protected void OnDestroy()
{
inputField.onSubmit.RemoveListener(OnInputFieldSubmit);
clearTextButton.onClick.RemoveAllListeners();