-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSetZOffset.java
81 lines (72 loc) · 2.21 KB
/
SetZOffset.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
import processing.core.*;
import processing.data.*;
import java.util.ArrayList;
class SetZOffset extends LogicOutputComponent {
public static final Identifier ID = new Identifier("SetZOffset");
int groupNumber=0;
float offset=0;
SetZOffset(float x, float y, LogicBoard lb) {
super(x, y, "z-offset", lb);
button.setText("z-offset "+source.level.groupNames.get(groupNumber)+" by "+offset);
}
SetZOffset(JSONObject data, LogicBoard lb, Level level) {
super(data.getFloat("x"), data.getFloat("y"), "z-offset", lb, data.getJSONArray("connections"));
groupNumber=data.getInt("group number");
offset=data.getFloat("offset");
button.setText("z-offset "+level.groupNames.get(groupNumber)+" by "+offset);
}
public SetZOffset(SerialIterator iterator){
super(iterator);
groupNumber = iterator.getInt();
offset = iterator.getFloat();
}
void tick() {
if (inputTerminal1) {
source.level.groups.get(groupNumber).zOffset=offset;
}
if (inputTerminal2) {
source.level.groups.get(groupNumber).zOffset=0;
}
}
JSONObject save() {
JSONObject component=super.save();
component.setInt("group number", groupNumber);
component.setFloat("offset", offset);
return component;
}
void setData(int data) {
groupNumber=data;
button.setText("z-offset "+source.level.groupNames.get(groupNumber)+" by "+offset);
}
int getData() {
return groupNumber;
}
void draw() {
super.draw();
source.fill(0);
source.textSize(15*source.Scale);
source.textAlign(source.LEFT, source.CENTER);
source.text("set", (x+5-source.camPos)*source.Scale, (y+16-source.camPosY)*source.Scale);
source.text("reset", (x+5-source.camPos)*source.Scale, (y+56-source.camPosY)*source.Scale);
}
void setOffset(float of) {
offset=of;
button.setText("z-offset "+source.level.groupNames.get(groupNumber)+" by "+offset);
}
float getOffset() {
return offset;
}
//SerialIterator iterator
@Override
public SerializedData serialize() {
SerializedData data = new SerializedData(id());
serialize(data);
data.addInt(groupNumber);
data.addFloat(offset);
return data;
}
@Override
public Identifier id() {
return ID;
}
}