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); }
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); } }
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(); }