package org.tjuscs.bulletgame.task;
import java.util.ArrayList;
import java.util.List;
public class SequenceTask extends Task {
private int taskIndex;
private List<Task> taskList = new ArrayList<Task>();
public SequenceTask(Task... tasks) {
for (Task t : tasks) {
t.setParentContext(context);
taskList.add(t);
}
taskIndex = 0;
}
@Override
public void reset() {
super.reset();
taskIndex = 0;
for (Task t : taskList) {
t.reset();
}
}
@Override
public boolean work() {
if (taskList.size() <= 0)
return true;
while (true) {
if (taskList.get(taskIndex).act()) {
taskList.get(taskIndex).reset();
taskIndex++;
}else
return false;
if (taskIndex >= taskList.size())
return true;
}
}
}