mirror of
https://github.com/KAMKEEL/CustomNPC-Plus.git
synced 2026-11-12 06:07:27 +00:00
Added varargs chaining to IActions
i.e schedule(act1,act2,act3...)
This commit is contained in:
1 parent
b3c9c24f42
commit
393a7fbb56
2 files changed
+63
-1
No files matched your search
@@ -377,6 +377,22 @@ public class Action implements IAction {
|
||||
return after;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void after(IAction... actions) {
|
||||
for (int i = 0; i < actions.length - 1; i++)
|
||||
actions[i].after(actions[i + 1]);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void after(Consumer<IAction>... tasks) {
|
||||
IAction[] actions = new IAction[tasks.length];
|
||||
|
||||
for (int i = 0; i < tasks.length; i++)
|
||||
actions[i] = manager.create(tasks[i]);
|
||||
|
||||
after(actions);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IAction after(String name, int maxDuration, int delay, Consumer<IAction> t) {
|
||||
return after(manager.create(name, maxDuration, delay, t));
|
||||
@@ -448,6 +464,12 @@ public class Action implements IAction {
|
||||
return manager.schedule(after);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void conditional(IConditionalAction... actions) {
|
||||
for (IConditionalAction act : actions)
|
||||
conditional(act);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IConditionalAction conditional(Function<IAction, Boolean> condition, Consumer<IAction> task) {
|
||||
return conditional(manager.create(condition, task));
|
||||
@@ -483,11 +505,22 @@ public class Action implements IAction {
|
||||
return manager.scheduleParallel(after);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void parallel(IAction... actions) {
|
||||
for (IAction act : actions)
|
||||
parallel(act);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IAction parallel(Consumer<IAction> task) {
|
||||
return parallel(manager.create(task));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void parallel(Consumer<IAction>... tasks) {
|
||||
for (Consumer<IAction> task : tasks)
|
||||
parallel(task);
|
||||
}
|
||||
@Override
|
||||
public IAction parallel(int delay, Consumer<IAction> task) {
|
||||
return parallel(manager.create(delay, task));
|
||||
|
||||
@@ -117,6 +117,18 @@ public class ActionManager implements IActionManager {
|
||||
return action;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void schedule(IAction... actions) {
|
||||
for (IAction act : actions)
|
||||
schedule(act);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void schedule(Consumer<IAction>... tasks) {
|
||||
for (Consumer<IAction> task : tasks)
|
||||
schedule(task);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IAction schedule(Consumer<IAction> task) {
|
||||
return schedule(create(task));
|
||||
@@ -257,7 +269,6 @@ public class ActionManager implements IActionManager {
|
||||
return schedule(new ConditionalAction(this, name, condition, task, terminateWhen, onTermination));
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public IConditionalAction schedule(IConditionalAction action) {
|
||||
conditionalActions.add(action);
|
||||
@@ -265,6 +276,12 @@ public class ActionManager implements IActionManager {
|
||||
return action;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void schedule(IConditionalAction... actions) {
|
||||
for (IConditionalAction act : actions)
|
||||
schedule(act);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<IConditionalAction> getConditionalActions() {
|
||||
return new ArrayList<>(conditionalActions);
|
||||
@@ -286,6 +303,18 @@ public class ActionManager implements IActionManager {
|
||||
return action;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void scheduleParallel(IAction... actions) {
|
||||
for (IAction act : actions)
|
||||
scheduleParallel(act);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void scheduleParallel(Consumer<IAction>... tasks) {
|
||||
for (Consumer<IAction> task : tasks)
|
||||
scheduleParallel(task);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IAction scheduleParallel(Consumer<IAction> task) {
|
||||
return scheduleParallel(create(task));
|
||||
|
||||
Reference in new issue
Block a user