示例#1
0
 public void StartTickAction(ITickAction tickAction)
 {
     if (allActivityActions.Count <= 1000)
     {
         var coroutine = StartCoroutine(StartTickCoroutine(tickAction));
         allActivityActions.Add(tickAction.GetActionId(), coroutine);
     }
     else
     {
         Debug.LogWarning("StartTickAction() - list allActivityActions is full, activity id:" + tickAction.GetActionId() + " is not start.");
     }
 }
示例#2
0
    private IEnumerator StartTickCoroutine(ITickAction tickAction)
    {
        int actionId   = tickAction.GetActionId();
        int waitSecond = tickAction.GetWaitSecond();

        while (!tickAction.isStop())
        {
            tickAction.DoJob();
            yield return(new WaitForSeconds(waitSecond));
        }
        tickAction.DoEndJob();
        allActivityActions.Remove(actionId);
    }