From e18c4e2e7cb3803e25c0f1c849cb2932e992b7fe Mon Sep 17 00:00:00 2001 From: vendetta Date: Fri, 9 May 2014 12:04:50 +0200 Subject: [PATCH 1/2] enable parallelselector type setting in taskfactory alhtough it breaks compatibility, it may be worth thinking about enabling this functionality. as a workaround to enable chaining of TaskFactory calls, you'd have to use something like this: new ParallelSelector( ParallelSelector. .. , Vector.([ .. ]) ) --- src/main/as/godmode/TaskFactory.as | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/main/as/godmode/TaskFactory.as b/src/main/as/godmode/TaskFactory.as index 8350643..0caa5c7 100644 --- a/src/main/as/godmode/TaskFactory.as +++ b/src/main/as/godmode/TaskFactory.as @@ -97,12 +97,11 @@ public class TaskFactory } /** Runs all children concurrently until one fails */ - public function parallel (...children) :ParallelSelector { - const TYPE :int = ParallelSelector.ALL_SUCCESS; + public function parallel (type:int, ...children) :ParallelSelector { // reuse existing task if possible if (children.length > 0 && children[0] is ParallelSelector && - ParallelSelector(children[0]).type == TYPE) { + ParallelSelector(children[0]).type == type) { const parallel :ParallelSelector = children[0]; for (var ii :int = 1; ii < children.length; ++ii) { @@ -111,7 +110,7 @@ public class TaskFactory return parallel; } else { - return new ParallelSelector(TYPE, taskVector(children)); + return new ParallelSelector(type, taskVector(children)); } } From 982fa2d267e23f06146b2afce2c90bd49c9ff5df Mon Sep 17 00:00:00 2001 From: vendetta Date: Fri, 9 May 2014 12:39:10 +0200 Subject: [PATCH 2/2] add static RUNNING NoOpTask --- src/main/as/godmode/task/NoOpTask.as | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/as/godmode/task/NoOpTask.as b/src/main/as/godmode/task/NoOpTask.as index 773e7db..c299e79 100644 --- a/src/main/as/godmode/task/NoOpTask.as +++ b/src/main/as/godmode/task/NoOpTask.as @@ -10,6 +10,7 @@ public class NoOpTask extends BehaviorTask { public static const SUCCESS :NoOpTask = new NoOpTask(BehaviorTask.SUCCESS); public static const FAIL :NoOpTask = new NoOpTask(BehaviorTask.FAIL); + public static const RUNNING :NoOpTask = new NoOpTask(BehaviorTask.RUNNING); public function NoOpTask (status :int) { _status = status;