diff --git a/src/main/java/games/rednblack/editor/graph/actions/ActionFieldType.java b/src/main/java/games/rednblack/editor/graph/actions/ActionFieldType.java index ee99e755..1de3f75c 100644 --- a/src/main/java/games/rednblack/editor/graph/actions/ActionFieldType.java +++ b/src/main/java/games/rednblack/editor/graph/actions/ActionFieldType.java @@ -1,13 +1,10 @@ package games.rednblack.editor.graph.actions; import games.rednblack.editor.graph.data.FieldType; -import games.rednblack.editor.renderer.systems.action.data.ActionData; -import games.rednblack.editor.renderer.systems.action.data.AlphaData; -import games.rednblack.editor.renderer.systems.action.data.DelayData; -import games.rednblack.editor.renderer.systems.action.data.ParallelData; +import games.rednblack.editor.renderer.systems.action.data.*; public enum ActionFieldType implements FieldType { - Entity, Boolean, Float, Color, Action, Delay, Alpha, Parallel; + Entity, Boolean, Float, Color, Action, Delay, Alpha, Parallel, Sequence; @Override public boolean accepts(Object value) { @@ -16,6 +13,8 @@ public enum ActionFieldType implements FieldType { return value instanceof ActionData; case Parallel: return value instanceof ParallelData; + case Sequence: + return value instanceof SequenceData; case Alpha: return value instanceof AlphaData; case Delay: diff --git a/src/main/java/games/rednblack/editor/graph/actions/config/ParallelActionNodeConfiguration.java b/src/main/java/games/rednblack/editor/graph/actions/config/ParallelActionNodeConfiguration.java index 348a4bf6..47a4d713 100644 --- a/src/main/java/games/rednblack/editor/graph/actions/config/ParallelActionNodeConfiguration.java +++ b/src/main/java/games/rednblack/editor/graph/actions/config/ParallelActionNodeConfiguration.java @@ -2,10 +2,12 @@ package games.rednblack.editor.graph.actions.config; import games.rednblack.editor.graph.GraphNodeInputImpl; import games.rednblack.editor.graph.GraphNodeOutputImpl; +import games.rednblack.editor.graph.SameTypeOutputTypeFunction; import games.rednblack.editor.graph.actions.ActionFieldType; import games.rednblack.editor.graph.config.NodeConfigurationImpl; import static games.rednblack.editor.graph.actions.ActionFieldType.Action; +import static games.rednblack.editor.graph.actions.ActionFieldType.Parallel; public class ParallelActionNodeConfiguration extends NodeConfigurationImpl { @@ -19,6 +21,6 @@ public class ParallelActionNodeConfiguration extends NodeConfigurationImpl("action1", "Action 1", true, Action)); addNodeOutput( - new GraphNodeOutputImpl<>("action", "Action", Action)); + new GraphNodeOutputImpl<>("action", "Action", new SameTypeOutputTypeFunction<>("action0"), Parallel, Action)); } } diff --git a/src/main/java/games/rednblack/editor/graph/actions/config/SequenceActionNodeConfiguration.java b/src/main/java/games/rednblack/editor/graph/actions/config/SequenceActionNodeConfiguration.java index 470d676f..86645647 100644 --- a/src/main/java/games/rednblack/editor/graph/actions/config/SequenceActionNodeConfiguration.java +++ b/src/main/java/games/rednblack/editor/graph/actions/config/SequenceActionNodeConfiguration.java @@ -2,10 +2,12 @@ package games.rednblack.editor.graph.actions.config; import games.rednblack.editor.graph.GraphNodeInputImpl; import games.rednblack.editor.graph.GraphNodeOutputImpl; +import games.rednblack.editor.graph.SameTypeOutputTypeFunction; import games.rednblack.editor.graph.actions.ActionFieldType; import games.rednblack.editor.graph.config.NodeConfigurationImpl; import static games.rednblack.editor.graph.actions.ActionFieldType.Action; +import static games.rednblack.editor.graph.actions.ActionFieldType.Sequence; public class SequenceActionNodeConfiguration extends NodeConfigurationImpl { @@ -19,6 +21,6 @@ public class SequenceActionNodeConfiguration extends NodeConfigurationImpl("action1", "Action 1", true, Action)); addNodeOutput( - new GraphNodeOutputImpl<>("action", "Action", Action)); + new GraphNodeOutputImpl<>("action", "Action", new SameTypeOutputTypeFunction<>("action0"), Action, Sequence)); } }