private IEnumerator FlowRender(AssembleController assembleController) { yield return(new WaitForSeconds(1f)); foreach (var node in assembleController.GetDependencyGraph().GetAllNodes().Cast <Node>()) { node.SetInstallationState(InstallationState.NotInstalled); node.gameObject.SetActive(false); } yield return(-1); yield return(StartCoroutine(FlowRenderOneFlow(assembleController, assembleController.GetDependencyGraph().GetHeaders().Cast <Node>()))); Debug.Log("All items are installed"); }
private IEnumerator FlowRenderOneFlow(AssembleController assembleController, IEnumerable <Node> headers) { foreach (var node in headers) { if (assembleController.GetDependencyGraph().IsNodeValidToInstall(node)) { var coroutine = StartCoroutine(AssemblePart(headers, node)); if (node.hasAnimation) { yield return(coroutine); yield return(node.PlayAnimations()); } yield return(new WaitForSeconds(1.4f)); yield return(StartCoroutine(FlowRenderOneFlow(assembleController, assembleController.GetDependencyGraph().GetNextSteps(node).Cast <Node>()))); } } }