JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
snap to grid so edges line up
[peach-cgt.git] / common.coffee
index ce09f13..cec2bc5 100644 (file)
@@ -46,7 +46,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 +56,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 +67,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()