Example #1
0
        public async ETTask Close()
        {
            if (animation)
            {
                animation.DOPlayBackwards();
                Sate = UISetting.UISate.HideAnima;
                await YuoWait.WaitTimeAsync(animation.duration);
            }

            Sate = UISetting.UISate.Hide;
        }
Example #2
0
        public async ETTask Open()
        {
            if (animation)
            {
                animation.DOPlayForward();
                Sate = UISetting.UISate.ShowAnima;
                await YuoWait.WaitTimeAsync(animation.duration);
            }

            Sate = UISetting.UISate.Show;
        }
Example #3
0
    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;
    }
Example #4
0
        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;
        }
Example #5
0
    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();
        }
    }
Example #6
0
        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;
        }