Skip to content

Commit 9d53240

Browse files
committed
Added currentTarget to verbs.
1 parent 571a47e commit 9d53240

File tree

10 files changed

+62
-29
lines changed

10 files changed

+62
-29
lines changed

adventure-editor/src/main/java/com/bladecoder/engineeditor/qa/rules/CheckInteractionVerbs.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,12 +55,13 @@ public void visit(BaseActor a) {
5555
if(animations.size() == 0) {
5656
EditorLogger.error("CheckInteractionVerbs: Actor with no animations! - " + sa.getScene().getId() + "." + sa.getId());
5757
}
58-
59-
if(!hasUse)
60-
EditorLogger.msg("CheckInteractionVerbs: Inventory item should has default 'use' - " + sa.getScene().getId() + "." + sa.getId());
61-
62-
if(animations.get(r.getInitAnimation()).source.contains("inventory"))
58+
59+
if(animations.get(r.getInitAnimation()).source.contains("inventory")) {
60+
if(!hasUse)
61+
EditorLogger.msg("CheckInteractionVerbs: Inventory item should has default 'use' - " + sa.getScene().getId() + "." + sa.getId());
62+
6363
return;
64+
}
6465
}
6566
}
6667
}

adventure-editor/src/main/resources/versions.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ buildToolsVersion=23.0.3
55
libgdxVersion=1.9.7
66
roboVMGradlePluginVersion=2.3.3
77
roboVMVersion=2.3.3
8-
version=1.3.3
8+
version=1.3.4-SNAPSHOT

blade-engine/src/com/bladecoder/engine/actions/IfAttrAction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ public boolean run(VerbRunner cb) {
9191
}
9292
} else if (attr.equals(ActorAttribute.TARGET)) {
9393

94-
if (!ActionUtils.compareNullStr(value, cb.getTarget())) {
94+
if (!ActionUtils.compareNullStr(value, cb.getCurrentTarget())) {
9595
gotoElse((VerbRunner) cb);
9696
}
9797
} else if (attr.equals(ActorAttribute.IN_SCENE)) {

blade-engine/src/com/bladecoder/engine/actions/RunVerbAction.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,13 @@ public class RunVerbAction extends BaseCallbackAction implements VerbRunner {
4444

4545
private String state;
4646
private int ip = -1;
47+
private String currentTarget;
4748

4849
@Override
4950
public boolean run(VerbRunner cb) {
5051
setVerbCb(cb);
5152

52-
run();
53+
run(cb.getCurrentTarget());
5354

5455
return getWait();
5556
}
@@ -134,7 +135,7 @@ public void cancel() {
134135
}
135136

136137
@Override
137-
public String getTarget() {
138+
public String getCurrentTarget() {
138139
return target;
139140
}
140141

@@ -156,8 +157,9 @@ public ArrayList<Action> getActions() {
156157
}
157158

158159
@Override
159-
public void run() {
160+
public void run(String currentTarget) {
160161
ip = 0;
162+
this.currentTarget = currentTarget;
161163

162164
Scene s = World.getInstance().getCurrentScene();
163165

@@ -186,13 +188,16 @@ public void setIP(int ip) {
186188
public void write(Json json) {
187189
json.writeValue("ip", ip);
188190
json.writeValue("state", state);
191+
if(currentTarget != null)
192+
json.writeValue("currentTarget", currentTarget);
189193
super.write(json);
190194
}
191195

192196
@Override
193197
public void read(Json json, JsonValue jsonData) {
194198
ip = json.readValue("ip", int.class, -1, jsonData);
195199
state = json.readValue("state", String.class, jsonData);
200+
currentTarget = json.readValue("currentTarget", String.class, (String)null, jsonData);
196201
super.read(json, jsonData);
197202
}
198203

blade-engine/src/com/bladecoder/engine/ink/InkManager.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ private void continueMaximally() {
135135
}
136136

137137
if (actions.size() > 0) {
138-
run();
138+
run(null);
139139
} else {
140140

141141
if (hasChoices()) {
@@ -354,7 +354,7 @@ public ArrayList<Action> getActions() {
354354
}
355355

356356
@Override
357-
public void run() {
357+
public void run(String currentTarget) {
358358
ip = 0;
359359
nextStep();
360360
}
@@ -382,7 +382,7 @@ public void cancel() {
382382
}
383383

384384
@Override
385-
public String getTarget() {
385+
public String getCurrentTarget() {
386386
return null;
387387
}
388388

blade-engine/src/com/bladecoder/engine/model/InteractiveActor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,14 +112,14 @@ public void update(float delta) {
112112

113113
Verb v = getVerb("exit");
114114
if (v != null)
115-
v.run();
115+
v.run(null);
116116
} else if (hit && !playerInside) {
117117
// the player enters
118118
playerInside = true;
119119

120120
Verb v = getVerb("enter");
121121
if (v != null)
122-
v.run();
122+
v.run(null);
123123
}
124124
}
125125
}

blade-engine/src/com/bladecoder/engine/model/Verb.java

Lines changed: 35 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ public class Verb implements VerbRunner, Serializable {
4747
private final ArrayList<Action> actions = new ArrayList<Action>();
4848

4949
private int ip = -1;
50+
private String currentTarget;
5051

5152
public Verb() {
5253
}
@@ -106,10 +107,23 @@ public void add(Action a) {
106107
public ArrayList<Action> getActions() {
107108
return actions;
108109
}
110+
111+
public String getCurrentTarget() {
112+
return currentTarget;
113+
}
109114

110-
public void run() {
111-
if (EngineLogger.debugMode())
112-
EngineLogger.debug(">>> Running verb: " + id);
115+
public void run(String currentTarget) {
116+
this.currentTarget = currentTarget;
117+
118+
if (EngineLogger.debugMode()) {
119+
StringBuilder sb = new StringBuilder(">>> Running verb: ").append("id");
120+
121+
if(currentTarget != null) {
122+
sb.append(" currentTarget: " + currentTarget);
123+
}
124+
125+
EngineLogger.debug(sb.toString());
126+
}
113127

114128
ip = 0;
115129
nextStep();
@@ -172,16 +186,26 @@ public void write(Json json) {
172186

173187
if (SerializationHelper.getInstance().getMode() == Mode.MODEL) {
174188
json.writeValue("id", id);
175-
json.writeValue("target", target);
176-
json.writeValue("state", state);
177-
json.writeValue("icon", icon);
189+
190+
if(target != null)
191+
json.writeValue("target", target);
192+
193+
if(state != null)
194+
json.writeValue("state", state);
195+
196+
if(icon != null)
197+
json.writeValue("icon", icon);
198+
178199
json.writeArrayStart("actions");
179200
for (Action a : actions) {
180201
ActionUtils.writeJson(a, json);
181202
}
182203
json.writeArrayEnd();
183204
} else {
184205
json.writeValue("ip", ip);
206+
207+
if(currentTarget != null)
208+
json.writeValue("currentTarget", currentTarget);
185209

186210
json.writeArrayStart("actions");
187211
for (Action a : actions) {
@@ -200,9 +224,10 @@ public void read(Json json, JsonValue jsonData) {
200224

201225
if (SerializationHelper.getInstance().getMode() == Mode.MODEL) {
202226
id = json.readValue("id", String.class, jsonData);
203-
target = json.readValue("target", String.class, jsonData);
204-
state = json.readValue("state", String.class, jsonData);
205-
icon = json.readValue("icon", String.class, jsonData);
227+
target = json.readValue("target", String.class, (String)null, jsonData);
228+
state = json.readValue("state", String.class, (String)null, jsonData);
229+
icon = json.readValue("icon", String.class, (String)null, jsonData);
230+
206231
actions.clear();
207232
JsonValue actionsValue = jsonData.get("actions");
208233
for (int i = 0; i < actionsValue.size; i++) {
@@ -219,6 +244,7 @@ public void read(Json json, JsonValue jsonData) {
219244
}
220245
} else {
221246
// MUTABLE
247+
currentTarget = json.readValue("currentTarget", String.class, (String)null, jsonData);
222248
ip = json.readValue("ip", Integer.class, jsonData);
223249

224250
JsonValue actionsValue = jsonData.get("actions");

blade-engine/src/com/bladecoder/engine/model/VerbManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ public void runVerb(String verb, String state, String target) {
100100
}
101101

102102
if (v != null) {
103-
v.run();
103+
v.run(target);
104104
} else {
105105
EngineLogger.error(MessageFormat.format("Verb ''{0}'' not found for target ''{1}''", verb, target));
106106
}

blade-engine/src/com/bladecoder/engine/model/VerbRunner.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,9 @@ public interface VerbRunner extends ActionCallback {
3737

3838
/**
3939
* Run the verb
40+
* @param currentTarget the target for the 'use' verb.
4041
*/
41-
public void run();
42+
public void run(String currentTarget);
4243

4344
/**
4445
* Return the current action pointer
@@ -58,8 +59,8 @@ public interface VerbRunner extends ActionCallback {
5859

5960

6061
/**
61-
* The target actor in 'use' verb.
62+
* The target in 'use' verb.
6263
* @return The target actor 'id'
6364
*/
64-
public String getTarget();
65+
public String getCurrentTarget();
6566
}

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
version=1.3.3
1+
version=1.3.4-SNAPSHOT
22
libgdxVersion=1.9.7
33
roboVMVersion=2.3.3
44
roboVMGradlePluginVersion=2.3.3

0 commit comments

Comments
 (0)