23
23
import com .badlogic .gdx .scenes .scene2d .InputEvent ;
24
24
import com .badlogic .gdx .scenes .scene2d .InputListener ;
25
25
import com .badlogic .gdx .scenes .scene2d .Stage ;
26
+ import com .badlogic .gdx .scenes .scene2d .ui .HorizontalGroup ;
26
27
import com .badlogic .gdx .scenes .scene2d .ui .Label ;
27
28
import com .badlogic .gdx .scenes .scene2d .ui .SelectBox ;
28
29
import com .badlogic .gdx .scenes .scene2d .ui .Table ;
@@ -42,8 +43,12 @@ public class DebugScreen implements BladeScreen {
42
43
private Stage stage ;
43
44
44
45
private TextField speedText ;
45
- SelectBox <String > recordings ;
46
- SelectBox <String > scenes ;
46
+ private SelectBox <String > recordings ;
47
+ private SelectBox <String > scenes ;
48
+
49
+ private TextField testerTimeConf ;
50
+ private TextField inSceneTimeConf ;
51
+ private TextField testerExcludeList ;
47
52
48
53
public DebugScreen () {
49
54
}
@@ -86,7 +91,7 @@ public void show() {
86
91
@ Override
87
92
public boolean keyUp (InputEvent event , int keycode ) {
88
93
if (keycode == Input .Keys .ESCAPE || keycode == Input .Keys .BACK )
89
- ui .setCurrentScreen (Screens .MENU_SCREEN );
94
+ ui .setCurrentScreen (Screens .SCENE_SCREEN );
90
95
return true ;
91
96
}
92
97
});
@@ -95,7 +100,7 @@ public boolean keyUp(InputEvent event, int keycode) {
95
100
96
101
Label title = new Label ("DEBUG SCREEN" , ui .getSkin (), "title" );
97
102
98
- table .add (title ).padBottom (DPIUtils .getMarginSize () * 2 ).colspan (3 );
103
+ table .add (title ).padBottom (DPIUtils .getMarginSize () * 2 ).colspan (3 ). center () ;
99
104
100
105
// ------------- SPEED
101
106
speedText = new TextField (Float .toString (((SceneScreen ) ui .getScreen (Screens .SCENE_SCREEN )).getSpeed ()),
@@ -108,12 +113,16 @@ public void clicked(InputEvent event, float x, float y) {
108
113
scnScr .setSpeed (Float .parseFloat (speedText .getText ()));
109
114
}
110
115
});
116
+
117
+ speedButton .pad (2 , 3 , 2 , 3 );
118
+ HorizontalGroup sGroup = new HorizontalGroup ();
119
+ sGroup .space (10 );
120
+ sGroup .addActor (speedText );
121
+ sGroup .addActor (speedButton );
111
122
112
- speedButton .pad (2 ,3 ,2 ,3 );
113
123
table .row ().pad (5 ).align (Align .left );
114
124
table .add ("Game Speed: " );
115
- table .add (speedText );
116
- table .add (speedButton );
125
+ table .add (sGroup );
117
126
118
127
// ------------- RECORDING
119
128
@@ -132,7 +141,7 @@ public void clicked(InputEvent event, float x, float y) {
132
141
ui .setCurrentScreen (Screens .SCENE_SCREEN );
133
142
} else {
134
143
r .setPlaying (false );
135
- ui .setCurrentScreen (Screens .MENU_SCREEN );
144
+ ui .setCurrentScreen (Screens .SCENE_SCREEN );
136
145
}
137
146
}
138
147
});
@@ -152,24 +161,28 @@ public void clicked(InputEvent event, float x, float y) {
152
161
});
153
162
154
163
recordings = new SelectBox <String >(ui .getSkin ());
155
-
164
+
156
165
String [] testFiles = EngineAssetManager .getInstance ().listAssetFiles ("/tests" );
157
166
ArrayList <String > al = new ArrayList <String >();
158
-
159
- for (String file : testFiles )
160
- if (file .endsWith (".verbs.rec" ))
161
- al .add (file .substring (0 ,file .indexOf (".verbs.rec" )));
162
-
167
+
168
+ for (String file : testFiles )
169
+ if (file .endsWith (".verbs.rec" ))
170
+ al .add (file .substring (0 , file .indexOf (".verbs.rec" )));
171
+
163
172
recordings .setItems (al .toArray (new String [al .size ()]));
173
+
174
+ play .pad (2 , 3 , 2 , 3 );
175
+ rec .pad (2 , 3 , 2 , 3 );
164
176
165
- play .pad (2 ,3 ,2 ,3 );
166
- rec .pad (2 ,3 ,2 ,3 );
177
+ HorizontalGroup rGroup = new HorizontalGroup ();
178
+ rGroup .space (10 );
179
+ rGroup .addActor (recordings );
180
+ rGroup .addActor (play );
181
+ rGroup .addActor (rec );
167
182
168
183
table .row ().pad (5 ).align (Align .left );
169
184
table .add ("Game Recording: " );
170
- table .add (recordings );
171
- table .add (play );
172
- table .add (rec );
185
+ table .add (rGroup );
173
186
174
187
// ------------- SCENES
175
188
TextButton go = new TextButton ("Go" , ui .getSkin ());
@@ -180,30 +193,142 @@ public void clicked(InputEvent event, float x, float y) {
180
193
ui .setCurrentScreen (Screens .SCENE_SCREEN );
181
194
}
182
195
});
183
-
184
- go .pad (2 ,3 , 2 , 3 );
196
+
197
+ go .pad (2 , 3 , 2 , 3 );
185
198
186
199
scenes = new SelectBox <String >(ui .getSkin ());
187
- scenes .setItems (World .getInstance ().getScenes ().keySet ().toArray (new String [World .getInstance ().getScenes ().size ()]));
200
+ scenes .setItems (World .getInstance ().getScenes ().keySet ()
201
+ .toArray (new String [World .getInstance ().getScenes ().size ()]));
202
+
203
+ HorizontalGroup scGroup = new HorizontalGroup ();
204
+ scGroup .space (10 );
205
+ scGroup .addActor (scenes );
206
+ scGroup .addActor (go );
188
207
189
208
table .row ().pad (5 ).align (Align .left );
190
209
table .add ("Go to Scene: " );
191
- table .add (scenes );
192
- table .add (go );
210
+ table .add (scGroup );
211
+
212
+ // ------------- TESTERBOT
213
+ TesterBot bot = ((SceneScreen ) ui .getScreen (Screens .SCENE_SCREEN )).getTesterBot ();
214
+
215
+ TextButton runBot = new TextButton (bot .isEnabled ()?"Stop" :"Run" , ui .getSkin ());
216
+ runBot .addListener (new ClickListener () {
217
+
218
+ public void clicked (InputEvent event , float x , float y ) {
219
+ SceneScreen scnScr = (SceneScreen ) ui .getScreen (Screens .SCENE_SCREEN );
220
+ TesterBot bot = scnScr .getTesterBot ();
221
+
222
+ bot .setMaxWaitInverval (Float .parseFloat (testerTimeConf .getText ()));
223
+ bot .setInSceneTime (Float .parseFloat (inSceneTimeConf .getText ()));
224
+ bot .setExcludeList (testerExcludeList .getText ());
225
+ bot .setEnabled (!bot .isEnabled ());
226
+
227
+ ui .setCurrentScreen (Screens .SCENE_SCREEN );
228
+ }
229
+ });
230
+
231
+ runBot .pad (2 , 3 , 2 , 3 );
232
+
233
+ scenes = new SelectBox <String >(ui .getSkin ());
234
+ scenes .setItems (World .getInstance ().getScenes ().keySet ()
235
+ .toArray (new String [World .getInstance ().getScenes ().size ()]));
236
+
237
+ testerTimeConf = new TextField (Float .toString (bot .getMaxWaitInverval ()), ui .getSkin ());
238
+ inSceneTimeConf = new TextField (Float .toString (bot .getInSceneTime ()), ui .getSkin ());
239
+ testerExcludeList = new TextField (bot .getExcludeList (), ui .getSkin ());
240
+
241
+ TextButton testerLeaveConf = new TextButton ("Leave" , ui .getSkin (), "toggle" );
242
+ testerLeaveConf .addListener (new ClickListener () {
243
+
244
+ public void clicked (InputEvent event , float x , float y ) {
245
+ SceneScreen scnScr = (SceneScreen ) ui .getScreen (Screens .SCENE_SCREEN );
246
+ TesterBot bot = scnScr .getTesterBot ();
247
+
248
+ bot .setRunLeaveVerbs (!bot .isRunLeaveVerbs ());
249
+ }
250
+ });
251
+
252
+ testerLeaveConf .setChecked (bot .isRunLeaveVerbs ());
253
+
254
+ TextButton testerGotoConf = new TextButton ("Goto" , ui .getSkin (), "toggle" );
255
+ testerGotoConf .addListener (new ClickListener () {
256
+
257
+ public void clicked (InputEvent event , float x , float y ) {
258
+ SceneScreen scnScr = (SceneScreen ) ui .getScreen (Screens .SCENE_SCREEN );
259
+ TesterBot bot = scnScr .getTesterBot ();
260
+
261
+ bot .setRunGoto (!bot .isRunGoto ());
262
+ }
263
+ });
264
+
265
+ testerGotoConf .setChecked (bot .isRunGoto ());
266
+
267
+ TextButton testerPassText = new TextButton ("Pass Texts" , ui .getSkin (), "toggle" );
268
+ testerPassText .addListener (new ClickListener () {
269
+
270
+ public void clicked (InputEvent event , float x , float y ) {
271
+ SceneScreen scnScr = (SceneScreen ) ui .getScreen (Screens .SCENE_SCREEN );
272
+ TesterBot bot = scnScr .getTesterBot ();
273
+
274
+ bot .setPassTexts (!bot .isPassTexts ());
275
+ }
276
+ });
277
+
278
+ testerPassText .setChecked (bot .isPassTexts ());
279
+
280
+ TextButton testerWaitWhenWalking = new TextButton ("Wait When Walking" , ui .getSkin (), "toggle" );
281
+ testerWaitWhenWalking .addListener (new ClickListener () {
282
+
283
+ public void clicked (InputEvent event , float x , float y ) {
284
+ SceneScreen scnScr = (SceneScreen ) ui .getScreen (Screens .SCENE_SCREEN );
285
+ TesterBot bot = scnScr .getTesterBot ();
286
+
287
+ bot .setWaitWhenWalking (!bot .isWaitWhenWalking ());
288
+ }
289
+ });
290
+
291
+ testerWaitWhenWalking .setChecked (bot .isWaitWhenWalking ());
292
+
293
+ HorizontalGroup botGroup = new HorizontalGroup ();
294
+ botGroup .space (10 );
295
+
296
+ botGroup .addActor (testerLeaveConf );
297
+ botGroup .addActor (testerGotoConf );
298
+ botGroup .addActor (testerPassText );
299
+ botGroup .addActor (testerWaitWhenWalking );
300
+
301
+ HorizontalGroup botGroup2 = new HorizontalGroup ();
302
+ botGroup2 .space (10 );
303
+
304
+ botGroup2 .addActor (new Label ("Excl. List: " , ui .getSkin ()));
305
+ botGroup2 .addActor (testerExcludeList );
306
+ botGroup2 .addActor (new Label ("Interval: " , ui .getSkin ()));
307
+ botGroup2 .addActor (testerTimeConf );
308
+ botGroup2 .addActor (new Label ("Scn Time: " , ui .getSkin ()));
309
+ botGroup2 .addActor (inSceneTimeConf );
310
+ botGroup2 .addActor (runBot );
311
+
312
+ table .row ().pad (5 ).align (Align .left );
313
+ table .add ("Tester Bot: " );
314
+ table .add (botGroup );
315
+ table .row ().pad (5 ).align (Align .left );
316
+ table .add ();
317
+ table .add (botGroup2 );
193
318
194
319
// ------------- BACK BUTTON
195
320
196
321
TextButton back = new TextButton ("Back" , ui .getSkin (), "menu" );
197
322
back .addListener (new ClickListener () {
198
323
public void clicked (InputEvent event , float x , float y ) {
199
- ui .setCurrentScreen (Screens .MENU_SCREEN );
324
+ ui .setCurrentScreen (Screens .SCENE_SCREEN );
200
325
}
201
326
});
202
-
203
- back .pad (4 ,4 , 4 , 4 );
327
+
328
+ back .pad (4 , 4 , 4 , 4 );
204
329
205
330
table .row ().pad (5 );
206
- table .add (back ).colspan (3 );
331
+ table .add (back ).colspan (3 ). center () ;
207
332
208
333
table .pack ();
209
334
0 commit comments