/// <summary> /// The first activation. /// Called by the channel with the base class. /// </summary> private void ObjectOnActivated(CombatBaseObject obj) { cursor = -1; doneCount = 0; for (int i = 0; i < limit; i++) { objects[++cursor].Activate(); } }
/// <summary> /// Channel callback with every child object. /// When every child object gets done, this function will be called. /// </summary> /// <param name="obj"></param> private void ChildObjectOnDone(CombatBaseObject obj) { if (++doneCount < objects.Count) { // call the next if (++cursor < objects.Count) { objects[cursor].Activate(); } } else { // this group is done Done(); } }
private void MainChildObjectOnDone(CombatBaseObject obj) { done = true; End(); }
private void ObjectOnActivated(CombatBaseObject obj) { StartCoroutine(CoroutineBehavior()); }