CapersProject/Assets/02.Scripts/Utility/Utils.cs
Nam Tae Gun 87aa509cfc #7, #8 타이쿤 손님 테이블 상호작용 및 손님 Ai 추가
+ ItemTable excel, json, so 수정
+ 손님 추가 -> 빈 자리 찾기 -> 음료 주문 -> 퇴장 구현
+ 일부 BehaviorTree Action 변경
2024-06-19 03:16:19 +09:00

58 lines
1.6 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
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))
{
Debug.LogError($"{item}은 이미 {list}안에 등록되어 있습니다.");
return;
}
list.Add(item);
}
public static void UnregisterList<T>(List<T> list, T item)
{
if (!list.Contains(item))
{
Debug.LogError($"{item}은 {list}안에 없습니다.");
return;
}
list.Remove(item);
}
}
}