示例#1
0
 private void Awake()
 {
     if (autoStart)
     {
         tempRoutine = Facade.StartCoroutine(EnumAction(StartDelay, () => action.Invoke()));
     }
 }
 protected virtual void SpawnHandler(GameObject go)
 {
     if (go == null)
     {
         return;
     }
     Facade.StartCoroutine(EnumCollect(CollectDelay, () => Facade.DespawnObject(this, go)));
 }
示例#3
0
 protected override void SpawnHandler(GameObject go)
 {
     if (go == null)
     {
         return;
     }
     Facade.StartCoroutine(EnumCollect(SpawnObjectGroup[flag].CollectDelay,
                                       (tempFlag) => { Facade.DespawnObject(SpawnObjectGroup[Utility.Converter.Int(tempFlag)].SpawnTransform, go); }, flag));
 }
示例#4
0
        IEnumerator EnumAction(object arg, Action handler)
        {
            yield return(new WaitForSeconds(Utility.Converter.Float(arg)));

            handler?.Invoke();
            if (loop)
            {
                tempRoutine = Facade.StartCoroutine(EnumAction(Interval, () => action.Invoke()));
            }
        }
示例#5
0
 /// <summary>
 /// 执行的时候可以有延迟
 /// </summary>
 public virtual void ExecuteTimerAction()
 {
     if (!RandomInterval)
     {
         tempRoutine = Facade.StartCoroutine(EnumAction(Interval, () => action.Invoke()));
     }
     else
     {
         tempRoutine = Facade.StartCoroutine(EnumAction(Interval + Utility.Unity.Random(-RandomRange, RandomRange), () => action.Invoke()));
     }
 }