JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
track z-axis (layer) on server, use for view init
[peach-cgt.git] / common.coffee
index ce09f13..3cf6867 100644 (file)
@@ -21,7 +21,7 @@ class GameState
                return unless @hooks[event]?
                for callback in @hooks[event]
                        callback.apply this, args
-       move: (agent, card, x, y) -> # FIXME add pile argument
+       move: (agent, card, x, y, z) -> # FIXME add pile argument
                # FIXME what to do on error?
                return unless @cards[card]? #?.pile?
                #cur_pile = cards[card].pile
@@ -29,8 +29,9 @@ class GameState
 
                @cards[card].x = x
                @cards[card].y = y
+               @cards[card].z = z
 
-               @trigger 'move', agent, card, x, y # FIXME add pile argument
+               @trigger 'move', agent, card, x, y, z # FIXME add pile argument
 
        mark: (agent, card, state) ->
                # FIXME what to do on error?
@@ -46,7 +47,7 @@ class GameState
 
        # FIXME implement set_pile(pile, card_order_array)
 
-       set_cards: (cards) ->
+       set_cards: (agent, cards) ->
                @cards = []
                @piles = {}
                for card in cards
@@ -56,7 +57,10 @@ class GameState
                                unless @piles[card.pile]?
                                        @piles[card.pile] = []
                                @piles[card.pile].push card
-               @trigger 'set_cards', @cards
+               @trigger 'set_cards', agent, @cards
+
+       send_state: (agent) ->
+               @trigger 'send_state', agent
 
        process_messages: (messages) ->
                unless typeof messages is 'array' or typeof messages is 'object'
@@ -64,7 +68,7 @@ class GameState
                        return typeof messages
 
                for message in messages
-                       unless message instanceof Array and message[0]? and message[0] in ['move', 'mark', 'flip', 'set_cards']
+                       unless message instanceof Array and message[0]? and message[0] in ['move', 'mark', 'flip', 'set_cards', 'send_state']
                                # FIXME what to do on error?
                                return 2
                        method = message.shift()