public async ETTask Close() { if (animation) { animation.DOPlayBackwards(); Sate = UISetting.UISate.HideAnima; await YuoWait.WaitTimeAsync(animation.duration); } Sate = UISetting.UISate.Hide; }
public async ETTask Open() { if (animation) { animation.DOPlayForward(); Sate = UISetting.UISate.ShowAnima; await YuoWait.WaitTimeAsync(animation.duration); } Sate = UISetting.UISate.Show; }
public static async void Shield(string str, float time) { if (!shiled.ContainsKey(str)) { shiled.Add(str, true); } shiled[str] = false; await YuoWait.WaitTimeAsync(time); shiled[str] = true; }
private IEnumerator IYuoDelay <T>(T obj, YuoDelayMod mod) { yield return(null); if (mod.IsUpdate) { while (Time.time - mod.StartTime < mod.DelayTime) { yield return(null); mod.UpdateAction?.Invoke(); } } else { yield return(YuoWait.WaitTime(mod.DelayTime - Time.deltaTime)); while (mod.ExtraDelayTime.Count > 0) { Temp.Float = mod.ExtraDelayTime[0]; mod.ExtraDelayTime.RemoveAt(0); yield return(YuoWait.WaitTime(Temp.Float)); } } if (!mod.End) { if (!mod.SafeGameObject || mod.SafeGameObject.activeSelf) { if (!mod.UseSafe || obj.ToString() != "null") { mod.action?.Invoke(); mod.ModAction?.Invoke(mod); } } } Invokes.Remove(mod); Pools.Add(mod); mod = null; yield break; }
public async void SwitchSate() { Sate.Reverse(); if (SaveSate) { for (int i = 0; i < SwitchGos.Length; i++) { if (!Sate) { RebuildSates[i] = SwitchGos[i].activeSelf; SwitchGos[i].SetActive(Sate); } else { if (RebuildSates[i]) { SwitchGos[i].SetActive(RebuildSates[i]); } } } } else { foreach (var item in SwitchGos) { item.SetActive(Sate); } } if (ForceRebuildLayout) { Rebuild(); await YuoWait.WaitTimeAsync(0); Rebuild(); } }
private IEnumerator IYuoDelayRealtime <T>(T obj, YuoDelayMod mod) { yield return(null); if (mod.IsUpdate) { while (Time.unscaledTime - mod.UnStartTime < mod.DelayTime) { yield return(null); mod.UpdateAction?.Invoke(); } } else { yield return(YuoWait.WaitUnscaledTime(mod.DelayTime)); while (mod.ExtraDelayTime.Count > 0) { Temp.Float = mod.ExtraDelayTime[0]; mod.ExtraDelayTime.RemoveAt(0); yield return(YuoWait.WaitUnscaledTime(Temp.Float)); } } if (!mod.End) { if (!mod.UseSafe || obj.ToString() != "null") { mod.action?.Invoke(); mod.ModAction?.Invoke(mod); } } InvokesRealtime.Remove(mod); Pools.Add(mod); yield break; }