X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=client.coffee;h=99a70a74ce68f48f1297078ee92183b06b317bd4;hb=3be596d7cfcd16a09505b8c68cad974d7b2901ac;hp=82570dd01d950e5c2e2a66b52eb758d4b98ee47f;hpb=480b41bb7b13be95e5e0ed18c2a46692aedc11ad;p=peach-cgt.git diff --git a/client.coffee b/client.coffee index 82570dd..99a70a7 100644 --- a/client.coffee +++ b/client.coffee @@ -4,6 +4,7 @@ table_height = 0 card_height = 0 state = null server_url = null +top_card_z = 0 # css z-index of front-most card show_message = (txt) -> txt # FIXME implement chat box or something @@ -32,9 +33,19 @@ transform_y = (y) -> return y unless state.agent is 'p2' return table_height - card_height - y +next_card_z = -> return top_card_z += 1 + +bring_card_to_front = (card) -> + card.view.css "z-index": next_card_z() + instantiate_card = (card) -> text = card.text - view = $ $ "
#{text}
" + if card.owner is state.agent + card_class = 'my_card' + else + card_class = 'your_card' + + view = $ $ "
#{text}
" button_box = $ $ '
' flip_button = new_button "flip over" mark_button = new_button "mark" @@ -50,7 +61,9 @@ instantiate_card = (card) -> if card.flipped view.addClass 'flipped' $table.append view - view.draggable stack: '.card' + 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) -> p = view.position() state.move state.agent, card.number, transform_x(p.left), transform_y(p.top) @@ -122,6 +135,7 @@ init = -> if agent is me tell_server ['move', agent, card, x, y] else + bring_card_to_front state.cards[card] state.cards[card].view.animate { left: "#{transform_x x}px", top: "#{transform_y y}px"}, 800 state.on 'mark', (agent, card, state) -> @cards[card].view.toggleClass 'marked', state