diff options
author | Kjetil Ørbekk <kjetil.orbekk@gmail.com> | 2012-03-02 16:04:55 +0100 |
---|---|---|
committer | Kjetil Ørbekk <kjetil.orbekk@gmail.com> | 2012-03-02 16:04:55 +0100 |
commit | 4474ee26b3eee38d1ad33bb3d771d6f804fedfcb (patch) | |
tree | a39c809a58b3e9b2a5f2e81942a8cd6e56d647ae /same-android/src/main/java/com/orbekk/same/android/GameController.java | |
parent | f48ad7f90ad1d494299b08f5e1866ccb63ee7b2d (diff) |
Move all Android cleasses to com.orbekk.same.android package.
Diffstat (limited to 'same-android/src/main/java/com/orbekk/same/android/GameController.java')
-rw-r--r-- | same-android/src/main/java/com/orbekk/same/android/GameController.java | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/same-android/src/main/java/com/orbekk/same/android/GameController.java b/same-android/src/main/java/com/orbekk/same/android/GameController.java new file mode 100644 index 0000000..2678208 --- /dev/null +++ b/same-android/src/main/java/com/orbekk/same/android/GameController.java @@ -0,0 +1,72 @@ +package com.orbekk.same.android; + +import java.util.ArrayList; +import java.util.List; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.orbekk.same.StateChangedListener; +import com.orbekk.same.UpdateConflict; + +import android.graphics.Paint; + +public class GameController { + private Logger logger = LoggerFactory.getLogger(getClass()); + private List<Player> remotePlayers = new ArrayList<Player>(); + private Player localPlayer; + private ChangeListener changeListener = null; +// private SameInterface same; + + public static class Player { + public Paint color; + public float posX; + public float posY; + } + + public interface ChangeListener { + void playerStatesChanged(); + } + + public static Player newPlayer() { + Player player = new Player(); + player.color = new Paint(); + player.color.setARGB(255, 255, 0, 0); + player.posX = 0.5f; + player.posY = 0.5f; + return player; + } + + public static GameController create(Player localPlayer) { + GameController controller = new GameController(localPlayer); +// same.addStateChangedListener(controller); + return controller; + } + + GameController(Player localPlayer) { + this.localPlayer = localPlayer; + } + + public void setMyPosition(float x, float y) throws UpdateConflict { + this.localPlayer.posX = x; + this.localPlayer.posY = y; + changeListener.playerStatesChanged(); + } + + public Player getLocalPlayer() { + return localPlayer; + } + + public List<Player> getRemotePlayers() { + return remotePlayers; + } + + public void setChangeListener(ChangeListener listener) { + this.changeListener = listener; + } + +// @Override +// public void stateChanged(String id, String data) { +// logger.info("StateChanged({}, {})", id, data); +// } +} |