using System.Collections;
using System.Collections.Generic;
using ToneTuneToolkit.Common;
using UnityEngine;
using DG.Tweening;
using System.Threading.Tasks;
///
/// 切换阶段专用工具
///
public class CanvasGroupMaster : SingletonMaster
{
private const float ANIMTIME = 0.33f;
public static void DoCanvasGroupFade(CanvasGroup cg, bool isFadeIn)
{
if (isFadeIn)
{
cg.DOFade(1, ANIMTIME).OnComplete(() =>
{
cg.interactable = true;
cg.blocksRaycasts = true;
});
}
else
{
cg.interactable = false;
cg.DOFade(0, ANIMTIME).OnComplete(() =>
{
cg.blocksRaycasts = false;
});
}
return;
}
public static void DoCanvasGroupFade(CanvasGroup cg, bool isFadeIn, float time)
{
if (isFadeIn)
{
cg.DOFade(1, time).OnComplete(() =>
{
cg.interactable = true;
cg.blocksRaycasts = true;
});
}
else
{
cg.interactable = false;
cg.DOFade(0, time).OnComplete(() =>
{
cg.blocksRaycasts = false;
});
}
return;
}
public async static void DoCanvasGroupFade(CanvasGroup cg, bool isFadeIn, float time, float delayTime)
{
await Task.Delay((int)(1000 * delayTime));
if (isFadeIn)
{
cg.DOFade(1, time).OnComplete(() =>
{
cg.interactable = true;
cg.blocksRaycasts = true;
});
}
else
{
cg.interactable = false;
cg.DOFade(0, time).OnComplete(() =>
{
cg.blocksRaycasts = false;
});
}
return;
}
}