1
0
Fork 0
LaboratoryProtection/Assets/PMaker/Scripts/Await/GameObject/AwaitGameObject.cs

32 lines
904 B
C#

using Cysharp.Threading.Tasks;
using Cysharp.Threading.Tasks.Triggers;
using PMaker.UI;
using System.Threading;
using UnityEngine;
namespace PMaker.Await
{
public static class GameObjectExtension
{
public static async UniTask WaitClick(this GameObject go, CancellationToken cancellationToken = default)
{
await go.GetAsyncPointerClickTrigger()
.OnPointerClickAsync(cancellationToken);
}
public static async UniTask WaitClick(this GameObject go, CancellationToken cancellationToken = default, params string[] childsName)
{
var root = go.transform;
foreach (var item in childsName)
{
root = root.transform.Find(item);
}
await root.GetAsyncPointerClickTrigger()
.OnPointerClickAsync(cancellationToken);
}
}
}