Files
XPlaneConnectCSP/Java/ProjectModels/CognitiveModel/ModelFiles/MindQueue.java
2024-11-25 13:49:01 -05:00

58 lines
1.1 KiB
Java

package ModelFiles;
// package ProjectModels.CognitiveModel;
import java.util.LinkedList;
public class MindQueue {
LinkedList<Action> q;
public MindQueue() {
q = new LinkedList<Action>();
}
public void push(Action e) {
q.add(e);
}
public Action removeEvent(Action e) {
Action temp = e;
q.remove(e);
return temp;
}
public Action pop() {
Vision v = new Vision();
if (q.isEmpty()) {
return v;
}
return q.remove();
}
public boolean isEmpty() {
return q.isEmpty();
}
public String printQueue() {
String queueTrace = "Next to Execute ==> ";
for (Action action : q) {
if (action.getType() == ActionType.VISION) {
queueTrace += "[V]";
}
if (action.getType() == ActionType.MOTOR) {
queueTrace += "[M]";
}
if (action.getType() == ActionType.DELAY) {
queueTrace += "[D]";
}
}
return queueTrace;
}
public int queueLength() {
return q.size();
}
}