summaryrefslogtreecommitdiffstats
path: root/Player.hs
diff options
context:
space:
mode:
authorMatthias Schiffer <matthias@gamezock.de>2010-03-05 03:32:02 +0100
committerMatthias Schiffer <matthias@gamezock.de>2010-03-05 03:32:02 +0100
commit1020310190063279b7951e44d8ae21fe3a623aa3 (patch)
treef28f74ee4f9c37b6ec5dcac8e3dfb45c12b1e377 /Player.hs
parent88fd16d93080801014336ba8946a37919125b90c (diff)
downloadhtanks-1020310190063279b7951e44d8ae21fe3a623aa3.tar
htanks-1020310190063279b7951e44d8ae21fe3a623aa3.zip
Render cannon direction; handle resize in GLX driver
Diffstat (limited to 'Player.hs')
-rw-r--r--Player.hs6
1 files changed, 4 insertions, 2 deletions
diff --git a/Player.hs b/Player.hs
index f3303f8..5c41841 100644
--- a/Player.hs
+++ b/Player.hs
@@ -12,7 +12,7 @@ import GLDriver (SomeEvent)
class Player a where
- playerMovement :: a -> Tank -> (a, Maybe Micro, Bool)
+ playerUpdate :: a -> Tank -> (a, Maybe Micro, Bool, Maybe Micro)
handleEvent :: a -> SomeEvent -> a
handleEvent player _ = player
@@ -21,5 +21,7 @@ class Player a where
data SomePlayer = forall a. Player a => SomePlayer a
instance Player SomePlayer where
- playerMovement (SomePlayer player) tank = (\(p, angle, move) -> (SomePlayer p, angle, move)) $ playerMovement player tank
+ playerUpdate (SomePlayer player) tank =
+ let (p, angle, move, aangle) = playerUpdate player tank
+ in (SomePlayer p, angle, move, aangle)
handleEvent (SomePlayer player) event = SomePlayer $ handleEvent player event