Enable player movements

This commit is contained in:
2022-08-17 12:19:53 +02:00
parent 5776e44efa
commit 0527e71dbd
3 changed files with 38 additions and 24 deletions

View File

@@ -1,7 +1,36 @@
package com.bartlomiejpluta.demo.map;
import com.bartlomiejpluta.base.api.map.handler.MapHandler;
import com.bartlomiejpluta.base.api.map.model.GameMap;
import com.bartlomiejpluta.base.api.map.layer.object.ObjectLayer;
import com.bartlomiejpluta.base.api.context.Context;
import com.bartlomiejpluta.base.api.move.Direction;
import com.bartlomiejpluta.base.api.input.*;
import com.bartlomiejpluta.demo.runner.DemoRunner;
import com.bartlomiejpluta.demo.entity.Player;
public abstract class BaseMapHandler implements MapHandler {
protected Context context;
protected Player player;
protected ObjectLayer mainLayer;
@Override
public void onCreate(Context context, GameMap map) {
this.context = context;
this.player = ((DemoRunner) context.getGameRunner()).getPlayer();
}
@Override
public void input(Input input) {
if(input.isKeyPressed(Key.KEY_DOWN)) {
mainLayer.pushMovement(player.prepareMovement(Direction.DOWN));
} else if(input.isKeyPressed(Key.KEY_UP)) {
mainLayer.pushMovement(player.prepareMovement(Direction.UP));
} else if(input.isKeyPressed(Key.KEY_LEFT)) {
mainLayer.pushMovement(player.prepareMovement(Direction.LEFT));
} else if(input.isKeyPressed(Key.KEY_RIGHT)) {
mainLayer.pushMovement(player.prepareMovement(Direction.RIGHT));
}
}
}