Implement custom block unlinking and pausing.

This commit is contained in:
Sergio Martínez Portela 2020-05-26 10:52:24 +02:00
parent 2c88dd4b03
commit 7f2686166e

View File

@ -53,6 +53,7 @@ public class ProgramakerCustomBlockPart implements Part {
private int height = 100; private int height = 100;
private String token = null; private String token = null;
private Object[] lastValues; private Object[] lastValues;
private boolean active = true;
public ProgramakerCustomBlockPart(String id, PartGrid grid, Tuple2<Integer, Integer> center, ProgramakerCustomBlock block) { public ProgramakerCustomBlockPart(String id, PartGrid grid, Tuple2<Integer, Integer> center, ProgramakerCustomBlock block) {
@ -337,6 +338,11 @@ public class ProgramakerCustomBlockPart implements Part {
} }
private void runBlockOperation() { private void runBlockOperation() {
if (!this.active) {
Log.w(LogTag, "Trying to run inactive block function=" + this._block.getFunction_name());
return;
}
ProgramakerApi api = this._partGrid.getApi(); ProgramakerApi api = this._partGrid.getApi();
List<String> arguments = new LinkedList<>(); List<String> arguments = new LinkedList<>();
@ -435,12 +441,12 @@ public class ProgramakerCustomBlockPart implements Part {
@Override @Override
public void resume() { public void resume() {
// Intentionally left empty this.active = true;
} }
@Override @Override
public void pause() { public void pause() {
// Intentionally left empty this.active = false;
} }
@Override @Override
@ -542,6 +548,9 @@ public class ProgramakerCustomBlockPart implements Part {
@Override @Override
public void unlink() { public void unlink() {
// TODO: Implement this.active = false;
for (InputConnector input : getInputConnectors()) {
input.unlink();
}
} }
} }