CapersProject/Assets/02.Scripts/Utility/Utils.cs

58 lines
1.6 KiB
C#
Raw Normal View History

2024-06-03 18:26:03 +00:00
using System;
using System.Collections;
using System.Collections.Generic;
2024-06-03 18:26:03 +00:00
using UnityEngine;
namespace BlueWater.Utility
{
public static class Utils
{
public static IEnumerator CoolDownCoroutine(float waitTime, Action onCooldownComplete = null)
{
yield return new WaitForSeconds(waitTime);
onCooldownComplete?.Invoke();
}
public static void StartUniqueCoroutine(MonoBehaviour owner, ref Coroutine coroutineField, IEnumerator coroutineMethod)
{
if (coroutineField != null)
{
owner.StopCoroutine(coroutineField);
coroutineField = null;
}
coroutineField = owner.StartCoroutine(coroutineMethod);
}
public static void EndUniqueCoroutine(MonoBehaviour owner, ref Coroutine coroutineField)
{
if (coroutineField != null)
{
owner.StopCoroutine(coroutineField);
coroutineField = null;
}
}
public static void RegisterList<T>(List<T> list, T item)
{
if (list.Contains(item))
{
2024-11-07 09:13:54 +00:00
Debug.Log($"{item}은 이미 {list}안에 등록되어 있습니다.");
return;
}
list.Add(item);
}
public static void UnregisterList<T>(List<T> list, T item)
{
if (!list.Contains(item))
{
2024-11-07 09:13:54 +00:00
Debug.Log($"{item}은 {list}안에 없습니다.");
return;
}
list.Remove(item);
}
2024-06-03 18:26:03 +00:00
}
}