Exemple #1
0
        public PipelineGraph BuildPipeline()
        {
            // Create the pipeline pipelineGraph
            var graph = new PipelineGraph();

            // Create the pipeline nodes
            var getGameObjects     = new GameObjectCollector();
            var meshRendererFilter = new FilterByComponent <Renderer>();
            var removeOldCollider  = new RemoveComponents <Collider>();
            var addCollider        = new AddCollider();

            // Add nodes to pipelineGraph
            graph.AddNode(getGameObjects);
            graph.AddNode(meshRendererFilter);
            graph.AddNode(removeOldCollider);
            graph.AddNode(addCollider);

            // Add node connections
            getGameObjects.AddFollowupStep(meshRendererFilter);
            meshRendererFilter.AddFollowupStep(removeOldCollider);
            removeOldCollider.AddFollowupStep(addCollider);
            // removeOldCollider doesn't need a followup step, as it is the last node

            return(graph);
        }
Exemple #2
0
            public override void Translate()
            {
                Scene scene  = default(Scene);
                bool  loaded = false;

                for (int i = EditorSceneManager.sceneCount - 1; i >= 0; i--)
                {
                    var iscene = EditorSceneManager.GetSceneAt(i);
                    if (iscene.IsValid() && Equals(iscene.path, path))
                    {
                        scene  = iscene;
                        loaded = true;
                        break;
                    }
                }
                if (!loaded)
                {
                    scene = EditorSceneManager.OpenScene(path, SceneManagement.OpenSceneMode.Additive);
                }
                var gos        = scene.GetRootGameObjects();
                var collectors = new List <ICollector>();

                for (int i = 0; i < gos.Length; i++)
                {
                    var collector = new GameObjectCollector();
                    collector.go = gos[i];
                    collector.Collect();
                    collectors.Add(collector);
                }
                Util.RebindThenTranslate(collectors, sprites);
                EditorSceneManager.SaveScene(scene);
                if (!loaded)
                {
                    EditorSceneManager.CloseScene(scene, true);
                }
            }
Exemple #3
0
            public override void Collect()
            {
                var   list   = new List <UnityEngine.UI.Sprite>();
                Scene scene  = default(Scene);
                bool  loaded = false;

                for (int i = EditorSceneManager.sceneCount - 1; i >= 0; i--)
                {
                    var iscene = EditorSceneManager.GetSceneAt(i);
                    if (iscene.IsValid() && Equals(iscene.path, path))
                    {
                        scene  = iscene;
                        loaded = true;
                        break;
                    }
                }
                if (!loaded)
                {
                    scene = EditorSceneManager.OpenScene(path, SceneManagement.OpenSceneMode.Additive);
                }
                var gos = scene.GetRootGameObjects();

                for (int i = 0; i < gos.Length; i++)
                {
                    var goCollector = new GameObjectCollector();
                    goCollector.go = gos[i];
                    goCollector.Collect();
                    list.AddRange(goCollector.sprites);
                }
                EditorSceneManager.SaveScene(scene);
                if (!loaded)
                {
                    EditorSceneManager.CloseScene(scene, true);
                }
                sprites = list.ToArray();
            }