public void AddProc(string procName, object param = null) { ProcScript.ProcData procData = new ProcScript.ProcData(); procData.procName = procName; procData.param = param; procList.Add(procData); NextProc(); }
public void AddProc(string procName, IEnumerator routine) { ProcScript.ProcData procData = new ProcScript.ProcData(); procData.procName = procName; procData.routine = routine; procList.Add(procData); NextProc(); }
public void AddProcWithTag(string procName, object param, string tag) { ProcScript.ProcData procData = new ProcScript.ProcData(); procData.procName = procName; procData.param = param; procData.tag = tag; procList.Add(procData); NextProc(); }
public void OutputProcList() { Debug.LogWarning("ProcList(CurrentProc) :: " + CurrentProcName()); using (List <ProcScript.ProcData> .Enumerator enumerator = procList.GetEnumerator()) { while (enumerator.MoveNext()) { ProcScript.ProcData current = enumerator.Current; Debug.LogWarning("ProcList(in list) :: " + current.procName); } } }
private void NextProc() { while (currentProcData == null && procList.Count > 0) { ProcScript.ProcData procData = currentProcData = procList[0]; procList.RemoveAt(0); if (procData.routine == null) { targetBehaviour.StartCoroutine(currentProcData.procName, currentProcData.param); } else { targetBehaviour.StartCoroutine(currentProcData.routine); } } }
public void DoneProc() { currentProcData = null; onStoppedTrigger = null; NextProc(); }