common key action methods
This commit is contained in:
parent
59a7ecff2e
commit
d350b1eb1c
@ -20,9 +20,50 @@ public abstract class AbstractKeyController extends AbstractLevelController impl
|
|||||||
additionalSteps();
|
additionalSteps();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected abstract void handleKey(final int keyCode);
|
protected void handleKey(final int keyCode) {
|
||||||
|
switch (keyCode) {
|
||||||
|
case KeyEvent.VK_UP:
|
||||||
|
up();
|
||||||
|
break;
|
||||||
|
case KeyEvent.VK_DOWN:
|
||||||
|
down();
|
||||||
|
break;
|
||||||
|
case KeyEvent.VK_LEFT:
|
||||||
|
left();
|
||||||
|
break;
|
||||||
|
case KeyEvent.VK_RIGHT:
|
||||||
|
right();
|
||||||
|
break;
|
||||||
|
case KeyEvent.VK_SPACE:
|
||||||
|
space();
|
||||||
|
break;
|
||||||
|
case KeyEvent.VK_SHIFT:
|
||||||
|
shift();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
protected void additionalSteps(){}
|
protected void up() {
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void down() {
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void left() {
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void right() {
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void space() {
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void shift() {
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protected void additionalSteps() {
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handles the 'key released' event
|
* Handles the 'key released' event
|
||||||
|
@ -30,42 +30,17 @@ public class GameKeyController extends AbstractKeyController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void handleKey(final int keyCode) {
|
protected void up() {
|
||||||
switch (keyCode) {
|
DisplayableElementModel upElement = levelModel.getGroundLevelModel()[levelModel.getRockfordPositionX()][levelModel.getRockfordPositionY() - 1];
|
||||||
case KeyEvent.VK_UP:
|
|
||||||
up();
|
if (upElement.getPriority() < levelModel.getRockford().getPriority()) {
|
||||||
break;
|
this.updatePosRockford.moveRockford(levelModel.getRockfordPositionX(), levelModel.getRockfordPositionY() - 1);
|
||||||
case KeyEvent.VK_DOWN:
|
this.levelModel.getRockford().startRunningUp();
|
||||||
down();
|
|
||||||
break;
|
|
||||||
case KeyEvent.VK_LEFT:
|
|
||||||
left();
|
|
||||||
break;
|
|
||||||
case KeyEvent.VK_RIGHT:
|
|
||||||
right();
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void right() {
|
@Override
|
||||||
DisplayableElementModel rightElement = levelModel.getGroundLevelModel()[levelModel.getRockfordPositionX() + 1][levelModel.getRockfordPositionY()];
|
protected void down() {
|
||||||
|
|
||||||
if (rightElement.getPriority() < levelModel.getRockford().getPriority()) {
|
|
||||||
this.updatePosRockford.moveRockford(levelModel.getRockfordPositionX() + 1, levelModel.getRockfordPositionY());
|
|
||||||
this.levelModel.getRockford().startRunningRight();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void left() {
|
|
||||||
DisplayableElementModel leftElement = levelModel.getGroundLevelModel()[levelModel.getRockfordPositionX() - 1][levelModel.getRockfordPositionY()];
|
|
||||||
|
|
||||||
if (leftElement.getPriority() < levelModel.getRockford().getPriority()) {
|
|
||||||
this.updatePosRockford.moveRockford(levelModel.getRockfordPositionX() - 1, levelModel.getRockfordPositionY());
|
|
||||||
this.levelModel.getRockford().startRunningLeft();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void down() {
|
|
||||||
DisplayableElementModel downElement = levelModel.getGroundLevelModel()[levelModel.getRockfordPositionX()][levelModel.getRockfordPositionY() + 1];
|
DisplayableElementModel downElement = levelModel.getGroundLevelModel()[levelModel.getRockfordPositionX()][levelModel.getRockfordPositionY() + 1];
|
||||||
|
|
||||||
if (downElement.getPriority() < levelModel.getRockford().getPriority()) {
|
if (downElement.getPriority() < levelModel.getRockford().getPriority()) {
|
||||||
@ -74,12 +49,23 @@ public class GameKeyController extends AbstractKeyController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void up() {
|
@Override
|
||||||
DisplayableElementModel upElement = levelModel.getGroundLevelModel()[levelModel.getRockfordPositionX()][levelModel.getRockfordPositionY() - 1];
|
protected void left() {
|
||||||
|
DisplayableElementModel leftElement = levelModel.getGroundLevelModel()[levelModel.getRockfordPositionX() - 1][levelModel.getRockfordPositionY()];
|
||||||
|
|
||||||
if (upElement.getPriority() < levelModel.getRockford().getPriority()) {
|
if (leftElement.getPriority() < levelModel.getRockford().getPriority()) {
|
||||||
this.updatePosRockford.moveRockford(levelModel.getRockfordPositionX(), levelModel.getRockfordPositionY() - 1);
|
this.updatePosRockford.moveRockford(levelModel.getRockfordPositionX() - 1, levelModel.getRockfordPositionY());
|
||||||
this.levelModel.getRockford().startRunningUp();
|
this.levelModel.getRockford().startRunningLeft();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void right() {
|
||||||
|
DisplayableElementModel rightElement = levelModel.getGroundLevelModel()[levelModel.getRockfordPositionX() + 1][levelModel.getRockfordPositionY()];
|
||||||
|
|
||||||
|
if (rightElement.getPriority() < levelModel.getRockford().getPriority()) {
|
||||||
|
this.updatePosRockford.moveRockford(levelModel.getRockfordPositionX() + 1, levelModel.getRockfordPositionY());
|
||||||
|
this.levelModel.getRockford().startRunningRight();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -31,30 +31,6 @@ public class LevelEditorKeyController extends AbstractKeyController {
|
|||||||
this.levelEditorView = levelEditorView;
|
this.levelEditorView = levelEditorView;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void handleKey(final int keyCode) {
|
|
||||||
switch (keyCode) {
|
|
||||||
case KeyEvent.VK_UP:
|
|
||||||
up();
|
|
||||||
break;
|
|
||||||
case KeyEvent.VK_DOWN:
|
|
||||||
down();
|
|
||||||
break;
|
|
||||||
case KeyEvent.VK_LEFT:
|
|
||||||
left();
|
|
||||||
break;
|
|
||||||
case KeyEvent.VK_RIGHT:
|
|
||||||
right();
|
|
||||||
break;
|
|
||||||
case KeyEvent.VK_SPACE:
|
|
||||||
space();
|
|
||||||
break;
|
|
||||||
case KeyEvent.VK_SHIFT:
|
|
||||||
shift();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void additionalSteps() {
|
protected void additionalSteps() {
|
||||||
// Hold block change (quick edit)
|
// Hold block change (quick edit)
|
||||||
@ -63,29 +39,34 @@ public class LevelEditorKeyController extends AbstractKeyController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void shift() {
|
@Override
|
||||||
this.capLocks = !capLocks;
|
protected void up() {
|
||||||
}
|
|
||||||
|
|
||||||
private void space() {
|
|
||||||
this.levelModel.triggerBlockChange(this.levelEditorView.getPickedBlockValue());
|
|
||||||
}
|
|
||||||
|
|
||||||
private void right() {
|
|
||||||
this.levelModel.incrementCursorXPosition();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void left() {
|
|
||||||
this.levelModel.decrementCursorXPosition();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void down() {
|
|
||||||
this.levelModel.incrementCursorYPosition();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void up() {
|
|
||||||
this.levelModel.decrementCursorYPosition();
|
this.levelModel.decrementCursorYPosition();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void down() {
|
||||||
|
this.levelModel.incrementCursorYPosition();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void left() {
|
||||||
|
this.levelModel.decrementCursorXPosition();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void right() {
|
||||||
|
this.levelModel.incrementCursorXPosition();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void space() {
|
||||||
|
this.levelModel.triggerBlockChange(this.levelEditorView.getPickedBlockValue());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void shift() {
|
||||||
|
this.capLocks = !capLocks;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user