예제 #1
0
        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");
        }
예제 #2
0
        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>())));
                }
            }
        }