Skip to content

Commit 9c33de8

Browse files
committed
Quick fix - have disable the tutorial when controller is selected. Made the controller input mapping screen a bit clearer.
1 parent 533369b commit 9c33de8

File tree

2 files changed

+80
-66
lines changed

2 files changed

+80
-66
lines changed

main/src/com/miloshpetrov/sol2/menu/InputMapControllerScreen.java

Lines changed: 74 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -182,13 +182,15 @@ public void updateCustom(SolApplication cmp, SolInputManager.Ptr[] ptrs, boolean
182182
}
183183

184184
// Keyboard items
185-
if (selectedIndex >= controllerItems) {
186185
Gdx.input.setInputProcessor(new InputAdapter() {
187186
@Override
188187
public boolean keyUp(int keycode) {
189-
InputConfigItem item = itemsList.get(selectedIndex);
190-
item.setInputKey(Input.Keys.toString(keycode));
191-
itemsList.set(selectedIndex, item);
188+
if (selectedIndex >= controllerItems) {
189+
InputConfigItem item = itemsList.get(selectedIndex);
190+
item.setInputKey(Input.Keys.toString(keycode));
191+
itemsList.set(selectedIndex, item);
192+
}
193+
192194
Gdx.input.setInputProcessor(null);
193195
Controllers.clearListeners();
194196

@@ -197,85 +199,87 @@ public boolean keyUp(int keycode) {
197199
}
198200
});
199201
// Controller items
200-
} else {
201-
// setup the listener that prints events to the console
202-
Controllers.addListener(new ControllerListener() {
203-
public int indexOf(Controller controller) {
204-
return Controllers.getControllers().indexOf(controller, true);
205-
}
206-
207-
@Override
208-
public void connected(Controller controller) {
209-
}
210-
211-
@Override
212-
public void disconnected(Controller controller) {
213-
}
214-
215-
@Override
216-
public boolean buttonDown(Controller controller, int buttonIndex) {
217-
// Do nothing on button down - register the button up event
218-
return true;
219-
}
220-
221-
@Override
222-
public boolean buttonUp(Controller controller, int buttonIndex) {
223-
System.out.println("#" + indexOf(controller) + ", button " + buttonIndex + " up");
224-
202+
// setup the listener that prints events to the console
203+
Controllers.addListener(new ControllerListener() {
204+
public int indexOf(Controller controller) {
205+
return Controllers.getControllers().indexOf(controller, true);
206+
}
207+
208+
@Override
209+
public void connected(Controller controller) {
210+
}
211+
212+
@Override
213+
public void disconnected(Controller controller) {
214+
}
215+
216+
@Override
217+
public boolean buttonDown(Controller controller, int buttonIndex) {
218+
// Do nothing on button down - register the button up event
219+
return true;
220+
}
221+
222+
@Override
223+
public boolean buttonUp(Controller controller, int buttonIndex) {
224+
System.out.println("#" + indexOf(controller) + ", button " + buttonIndex + " up");
225+
226+
if (selectedIndex < controllerItems) {
225227
InputConfigItem item = itemsList.get(selectedIndex);
226228
item.setIsAxis(false);
227229
item.setControllerInput(buttonIndex);
228230
item.setInputKey("Button: " + buttonIndex);
229231
itemsList.set(selectedIndex, item);
232+
}
230233

231-
Gdx.input.setInputProcessor(null);
232-
Controllers.clearListeners();
234+
Gdx.input.setInputProcessor(null);
235+
Controllers.clearListeners();
233236

234-
isEnterNewKey = false;
235-
return true; // return true to indicate the event was handled
236-
}
237+
isEnterNewKey = false;
238+
return true; // return true to indicate the event was handled
239+
}
237240

238-
@Override
239-
public boolean axisMoved(Controller controller, int axisIndex, float value) {
240-
System.out.println("#" + indexOf(controller) + ", axis " + axisIndex + ": " + value);
241+
@Override
242+
public boolean axisMoved(Controller controller, int axisIndex, float value) {
243+
System.out.println("#" + indexOf(controller) + ", axis " + axisIndex + ": " + value);
241244

242-
if (value > 0.5f || value < -0.5f) {
245+
if (value > 0.5f || value < -0.5f) {
246+
if (selectedIndex < controllerItems) {
243247
InputConfigItem item = itemsList.get(selectedIndex);
244248
item.setIsAxis(true);
245249
item.setControllerInput(axisIndex);
246250
item.setInputKey("Axis: " + axisIndex);
247251
itemsList.set(selectedIndex, item);
248-
249-
Gdx.input.setInputProcessor(null);
250-
Controllers.clearListeners();
251-
252-
isEnterNewKey = false;
253-
254252
}
255-
return true;
256-
}
257-
258-
@Override
259-
public boolean povMoved(Controller controller, int povIndex, PovDirection value) {
260-
return false;
261-
}
262253

263-
@Override
264-
public boolean xSliderMoved(Controller controller, int sliderIndex, boolean value) {
265-
return false;
266-
}
254+
Gdx.input.setInputProcessor(null);
255+
Controllers.clearListeners();
267256

268-
@Override
269-
public boolean ySliderMoved(Controller controller, int sliderIndex, boolean value) {
270-
return false;
271-
}
257+
isEnterNewKey = false;
272258

273-
@Override
274-
public boolean accelerometerMoved(Controller controller, int accelerometerIndex, Vector3 value) {
275-
return false;
276259
}
277-
});
278-
}
260+
return true;
261+
}
262+
263+
@Override
264+
public boolean povMoved(Controller controller, int povIndex, PovDirection value) {
265+
return false;
266+
}
267+
268+
@Override
269+
public boolean xSliderMoved(Controller controller, int sliderIndex, boolean value) {
270+
return false;
271+
}
272+
273+
@Override
274+
public boolean ySliderMoved(Controller controller, int sliderIndex, boolean value) {
275+
return false;
276+
}
277+
278+
@Override
279+
public boolean accelerometerMoved(Controller controller, int accelerometerIndex, Vector3 value) {
280+
return false;
281+
}
282+
});
279283
}
280284
}
281285

@@ -324,9 +328,13 @@ public String getHeader() {
324328
@Override
325329
public String getDisplayDetail() {
326330
if (isEnterNewKey) {
327-
return "Enter New Key";
331+
if (selectedIndex >= controllerItems) {
332+
return "Enter New Key";
333+
} else {
334+
return "Enter New Controller Input";
335+
}
328336
} else {
329-
return "";
337+
return "Only ship controls can use a\ncontroller in this version.\n\nMenu controls need to use\nthe keyboard.";
330338
}
331339
}
332340

main/src/com/miloshpetrov/sol2/menu/MainScreen.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,12 @@ public List<SolUiControl> getControls() {
6464

6565
@Override
6666
public void updateCustom(SolApplication cmp, SolInputManager.Ptr[] ptrs, boolean clickedOutside) {
67+
if (cmp.getOptions().controlType == GameOptions.CONTROL_CONTROLLER) {
68+
myTutCtrl.setEnabled(false);
69+
} else {
70+
myTutCtrl.setEnabled(true);
71+
}
72+
6773
if (myTutCtrl.isJustOff()) {
6874
cmp.loadNewGame(true, false);
6975
return;

0 commit comments

Comments
 (0)