diff --git a/src/com/annimon/turrets/GameCanvas.java b/src/com/annimon/turrets/GameCanvas.java index faab737..a9f81d6 100644 --- a/src/com/annimon/turrets/GameCanvas.java +++ b/src/com/annimon/turrets/GameCanvas.java @@ -8,10 +8,11 @@ import java.awt.image.BufferedImage; * * @author aNNiMON */ -public class GameCanvas extends DoubleBufferedCanvas { +public class GameCanvas extends DoubleBufferedCanvas implements NetworkListener { private final BufferedImage background; private final Terrain terrain; + private Turret serverTurret, clientTurret; public GameCanvas() { background = new BufferedImage(Constants.WIDTH, Constants.HEIGHT, BufferedImage.TYPE_INT_RGB); @@ -19,16 +20,31 @@ public class GameCanvas extends DoubleBufferedCanvas { terrain = new Terrain(Constants.WIDTH); terrain.generate(System.currentTimeMillis()); + + serverTurret = new Turret(Turret.SERVER, terrain.getFirstBlockHeight(), terrain); + clientTurret = new Turret(Turret.CLIENT, terrain.getLastBlockHeight(), terrain); } @Override protected void draw(Graphics2D g) { g.drawImage(background, 0, 0, null); terrain.draw(g); + serverTurret.draw(g); + clientTurret.draw(g); + } + + @Override + public void onStatusChanged(int status, Object data) { + switch (status) { + case ON_CONNECT: + System.out.println("connect!"); + break; + } } @Override protected void update() { + } private void initBackground() { @@ -36,4 +52,19 @@ public class GameCanvas extends DoubleBufferedCanvas { new Background().draw(g); g.dispose(); } + + @Override + protected void mousePressed(int x, int y) { + clientTurret.setBarrelParams(x, Constants.HEIGHT - y); + } + + @Override + protected void mouseReleased(int x, int y) { + clientTurret.shoot(); + } + + @Override + protected void mouseDragged(int x, int y) { + clientTurret.setBarrelParams(x, Constants.HEIGHT - y); + } }