X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=client.coffee;h=21587dd93d6088bc4f87906128c39f64d477279b;hb=711b95481e8373c56ce14f9d8b200f4204d13a36;hp=255d45583764e72d562305db7acd438f4e43e7e2;hpb=4c75fd3542bb59bc6ece0f46f4ec7b19b16085bf;p=peach-cgt.git diff --git a/client.coffee b/client.coffee index 255d455..21587dd 100644 --- a/client.coffee +++ b/client.coffee @@ -45,7 +45,15 @@ instantiate_card = (card) -> else card_class = 'your_card' - view = $ $ "
#{text}
" + # initial card state from server has z so that stacks come out with the right layers + if card.z? + if card.z > top_card_z + top_card_z = card.z + else + unless card.pile + card.z = next_card_z() + + view = $ $ "
#{text}
" button_box = $ $ '
' flip_button = new_button "flip over" mark_button = new_button "mark" @@ -61,13 +69,12 @@ instantiate_card = (card) -> if card.flipped view.addClass 'flipped' $table.append view - view.draggable containment: '#table' + view.draggable containment: '#table', grid: [20, 20] view.bind 'dragstart', (event, ui) -> view.css 'z-index': card.z = next_card_z() view.bind 'dragstop', (event, ui) -> - #view.css 'z-index': card.z p = view.position() - state.move state.agent, card.number, transform_x(p.left), transform_y(p.top) + state.move state.agent, card.number, transform_x(p.left), transform_y(p.top), card.z card.view = view error_lag = 3 @@ -131,10 +138,10 @@ init = -> server_url = window.location state = window.game_model.new me - state.on 'move', (agent, card, x, y) -> + state.on 'move', (agent, card, x, y, z) -> # FIXME add/handle pile argument if agent is me - tell_server ['move', agent, card, x, y] + tell_server ['move', agent, card, x, y, z] else bring_card_to_front state.cards[card] state.cards[card].view.animate { left: "#{transform_x x}px", top: "#{transform_y y}px"}, 800