Fix #1. Добавлена поддержка клавиатуры и джойстика
This commit is contained in:
parent
6527e7d6bf
commit
a42c232130
@ -39,6 +39,13 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch
|
|||||||
public static final String EXTRA_SAVE = "save";
|
public static final String EXTRA_SAVE = "save";
|
||||||
private static final String STATE_SAVEINFO = "saveinfo";
|
private static final String STATE_SAVEINFO = "saveinfo";
|
||||||
|
|
||||||
|
private static final int
|
||||||
|
ITEM_PREV_SCENE = 0,
|
||||||
|
ITEM_NEXT_SCENE = 1,
|
||||||
|
ITEM_NAVIGATE = 2,
|
||||||
|
ITEM_SAVE = 3,
|
||||||
|
ITEM_LOAD = 4;
|
||||||
|
|
||||||
private static final FadeInfo NO_FADE = new FadeInfo(false, false, 0);
|
private static final FadeInfo NO_FADE = new FadeInfo(false, false, 0);
|
||||||
private static ViewActivity instance;
|
private static ViewActivity instance;
|
||||||
|
|
||||||
@ -189,28 +196,64 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean onKeyUp(int keyCode, KeyEvent event) {
|
public boolean onKeyUp(int keyCode, KeyEvent event) {
|
||||||
if (keyCode == KeyEvent.KEYCODE_MENU) {
|
if (event.getRepeatCount() != 0) {
|
||||||
Dialogs.with(this).showMenu(R.array.menu_items, menu);
|
return super.onKeyUp(keyCode, event);
|
||||||
return true;
|
}
|
||||||
|
switch (keyCode) {
|
||||||
|
case KeyEvent.KEYCODE_SPACE:
|
||||||
|
case KeyEvent.KEYCODE_BUTTON_A:
|
||||||
|
// Далее
|
||||||
|
onTouchGesture(TouchGestureType.SINGLE_TAP);
|
||||||
|
return true;
|
||||||
|
case KeyEvent.KEYCODE_MENU:
|
||||||
|
case KeyEvent.KEYCODE_ENTER:
|
||||||
|
case KeyEvent.KEYCODE_BUTTON_START:
|
||||||
|
// Меню
|
||||||
|
onTouchGesture(TouchGestureType.SWIPE);
|
||||||
|
return true;
|
||||||
|
|
||||||
|
case KeyEvent.KEYCODE_Q:
|
||||||
|
case KeyEvent.KEYCODE_BUTTON_SELECT:
|
||||||
|
// Меню выхода
|
||||||
|
onBackPressed();
|
||||||
|
return true;
|
||||||
|
|
||||||
|
case KeyEvent.KEYCODE_BUTTON_R1:
|
||||||
|
case KeyEvent.KEYCODE_S:
|
||||||
|
onMenuItemSelected(ITEM_SAVE);
|
||||||
|
return true;
|
||||||
|
|
||||||
|
case KeyEvent.KEYCODE_BUTTON_L1:
|
||||||
|
case KeyEvent.KEYCODE_L:
|
||||||
|
onMenuItemSelected(ITEM_LOAD);
|
||||||
|
return true;
|
||||||
|
|
||||||
|
case KeyEvent.KEYCODE_BUTTON_B:
|
||||||
|
onMenuItemSelected(ITEM_NAVIGATE);
|
||||||
|
return true;
|
||||||
|
|
||||||
|
case KeyEvent.KEYCODE_BUTTON_X:
|
||||||
|
onMenuItemSelected(ITEM_PREV_SCENE);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
return super.onKeyUp(keyCode, event);
|
return super.onKeyUp(keyCode, event);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onMenuItemSelected(int item) {
|
private void onMenuItemSelected(int item) {
|
||||||
switch (item) {
|
switch (item) {
|
||||||
case 0:
|
case ITEM_PREV_SCENE:
|
||||||
Parser.getInstance().prevScene();
|
Parser.getInstance().prevScene();
|
||||||
break;
|
break;
|
||||||
case 1:
|
case ITEM_NEXT_SCENE:
|
||||||
Parser.getInstance().nextScene();
|
Parser.getInstance().nextScene();
|
||||||
break;
|
break;
|
||||||
case 2:
|
case ITEM_NAVIGATE:
|
||||||
Dialogs.with(getInstance()).showNavigate();
|
Dialogs.with(getInstance()).showNavigate();
|
||||||
break;
|
break;
|
||||||
case 3:
|
case ITEM_SAVE:
|
||||||
saveState();
|
saveState();
|
||||||
break;
|
break;
|
||||||
case 4:
|
case ITEM_LOAD:
|
||||||
showLoadStateDialog();
|
showLoadStateDialog();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user