X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=common.coffee;h=3cf6867af2bd2a0ef15ceca5513290dbc5ba5652;hb=e39c3d01d9c40b425168f1f8dcb2d9ddef975808;hp=cc337851c37eadf125451b1fab2e15876f26eff9;hpb=7797a9aab5a31f89b84ebc86c5a7bc3d12ef6602;p=peach-cgt.git diff --git a/common.coffee b/common.coffee index cc33785..3cf6867 100644 --- a/common.coffee +++ b/common.coffee @@ -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? @@ -58,13 +59,16 @@ class GameState @piles[card.pile].push card @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' # FIXME what to do on error? 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()