Separate map-specific functionality into a Map interface
This commit is contained in:
parent
498f43f430
commit
3c795da121
3 changed files with 64 additions and 34 deletions
9
core/src/com/redstrate/watersymbol/Map.java
Normal file
9
core/src/com/redstrate/watersymbol/Map.java
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
package com.redstrate.watersymbol;
|
||||||
|
|
||||||
|
import com.redstrate.watersymbol.screens.GameScreen;
|
||||||
|
|
||||||
|
public interface Map {
|
||||||
|
public void setup(GameScreen game);
|
||||||
|
|
||||||
|
public String getMapFilename();
|
||||||
|
}
|
48
core/src/com/redstrate/watersymbol/maps/TestMap.java
Normal file
48
core/src/com/redstrate/watersymbol/maps/TestMap.java
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
package com.redstrate.watersymbol.maps;
|
||||||
|
|
||||||
|
import com.redstrate.watersymbol.Map;
|
||||||
|
import com.redstrate.watersymbol.Unit;
|
||||||
|
import com.redstrate.watersymbol.screens.GameScreen;
|
||||||
|
|
||||||
|
public class TestMap implements Map {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setup(GameScreen game) {
|
||||||
|
Unit player = new Unit();
|
||||||
|
player.name = "Unit";
|
||||||
|
player.positionX = 11;
|
||||||
|
player.positionY = 16;
|
||||||
|
player.team = Unit.Team.Player;
|
||||||
|
|
||||||
|
game.units.add(player);
|
||||||
|
|
||||||
|
Unit player2 = new Unit();
|
||||||
|
player2.name = "Unit 2";
|
||||||
|
player2.positionX = 11;
|
||||||
|
player2.positionY = 20;
|
||||||
|
player2.team = Unit.Team.Player;
|
||||||
|
|
||||||
|
game.units.add(player2);
|
||||||
|
|
||||||
|
Unit enemy = new Unit();
|
||||||
|
enemy.name = "Bandit A";
|
||||||
|
enemy.positionX = 15;
|
||||||
|
enemy.positionY = 18;
|
||||||
|
enemy.team = Unit.Team.Enemy;
|
||||||
|
|
||||||
|
game.units.add(enemy);
|
||||||
|
|
||||||
|
Unit enemy2 = new Unit();
|
||||||
|
enemy2.name = "Bandit B";
|
||||||
|
enemy2.positionX = 15;
|
||||||
|
enemy2.positionY = 30;
|
||||||
|
enemy2.team = Unit.Team.Enemy;
|
||||||
|
|
||||||
|
game.units.add(enemy2);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getMapFilename() {
|
||||||
|
return "test.tmx";
|
||||||
|
}
|
||||||
|
}
|
|
@ -20,6 +20,7 @@ import com.badlogic.gdx.scenes.scene2d.ui.Table;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
|
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
|
||||||
import com.badlogic.gdx.utils.ScreenUtils;
|
import com.badlogic.gdx.utils.ScreenUtils;
|
||||||
import com.redstrate.watersymbol.*;
|
import com.redstrate.watersymbol.*;
|
||||||
|
import com.redstrate.watersymbol.maps.TestMap;
|
||||||
import org.w3c.dom.Text;
|
import org.w3c.dom.Text;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -33,7 +34,8 @@ public class GameScreen implements Screen {
|
||||||
OrthographicCamera camera;
|
OrthographicCamera camera;
|
||||||
TiledMapRenderer tiledMapRenderer;
|
TiledMapRenderer tiledMapRenderer;
|
||||||
|
|
||||||
ArrayList<Unit> units = new ArrayList<>();
|
public Map map;
|
||||||
|
public ArrayList<Unit> units = new ArrayList<>();
|
||||||
Unit.Team currentTurnTeam = Unit.Team.Player;
|
Unit.Team currentTurnTeam = Unit.Team.Player;
|
||||||
Unit currentUnit = null;
|
Unit currentUnit = null;
|
||||||
int currentUnitIndex = 0;
|
int currentUnitIndex = 0;
|
||||||
|
@ -67,41 +69,12 @@ public class GameScreen implements Screen {
|
||||||
camera.setToOrtho(false, 800, 480);
|
camera.setToOrtho(false, 800, 480);
|
||||||
camera.zoom = 2.0f;
|
camera.zoom = 2.0f;
|
||||||
|
|
||||||
tiledMap = new TmxMapLoader().load("test.tmx");
|
map = new TestMap();
|
||||||
|
tiledMap = new TmxMapLoader().load(map.getMapFilename());
|
||||||
|
map.setup(this);
|
||||||
|
|
||||||
tiledMapRenderer = new OrthogonalTiledMapRenderer(tiledMap);
|
tiledMapRenderer = new OrthogonalTiledMapRenderer(tiledMap);
|
||||||
|
|
||||||
Unit player = new Unit();
|
|
||||||
player.name = "Unit";
|
|
||||||
player.positionX = 11;
|
|
||||||
player.positionY = 16;
|
|
||||||
player.team = Unit.Team.Player;
|
|
||||||
|
|
||||||
units.add(player);
|
|
||||||
|
|
||||||
Unit player2 = new Unit();
|
|
||||||
player2.name = "Unit 2";
|
|
||||||
player2.positionX = 11;
|
|
||||||
player2.positionY = 20;
|
|
||||||
player2.team = Unit.Team.Player;
|
|
||||||
|
|
||||||
units.add(player2);
|
|
||||||
|
|
||||||
Unit enemy = new Unit();
|
|
||||||
enemy.name = "Bandit A";
|
|
||||||
enemy.positionX = 15;
|
|
||||||
enemy.positionY = 18;
|
|
||||||
enemy.team = Unit.Team.Enemy;
|
|
||||||
|
|
||||||
units.add(enemy);
|
|
||||||
|
|
||||||
Unit enemy2 = new Unit();
|
|
||||||
enemy2.name = "Bandit B";
|
|
||||||
enemy2.positionX = 15;
|
|
||||||
enemy2.positionY = 30;
|
|
||||||
enemy2.team = Unit.Team.Enemy;
|
|
||||||
|
|
||||||
units.add(enemy2);
|
|
||||||
|
|
||||||
playerTexture = new Texture(Gdx.files.internal("player.png"));
|
playerTexture = new Texture(Gdx.files.internal("player.png"));
|
||||||
playerSprite = new Sprite(playerTexture);
|
playerSprite = new Sprite(playerTexture);
|
||||||
playerIdleAnimation = new Animation<TextureRegion>(0.500f, new TextureAtlas("player-idle.atlas").getRegions(), Animation.PlayMode.LOOP_PINGPONG);
|
playerIdleAnimation = new Animation<TextureRegion>(0.500f, new TextureAtlas("player-idle.atlas").getRegions(), Animation.PlayMode.LOOP_PINGPONG);
|
||||||
|
|
Reference in a new issue