- instantiate_card card unless card.pile
-
- # build piles
- piles = [
- {key: 'p2_draw', x: transform_x(160), y: transform_y(20), name: "Draw Pile"}
- {key: 'p2_discard', x: transform_x(20), y: transform_y(20), name: "Discard Pile"}
- {key: 'p1_draw', x: transform_x(160), y: transform_y(flip_y(20)), name: "Draw Pile"}
- {key: 'p1_discard', x: transform_x(20), y: transform_y(flip_y(20)), name: "Discard Pile"}
- ]
+ delete card.view
+ instantiate_card card unless card.pile?
+
+ unless piles?
+ piles = [ # global
+ {key: 'p2_draw', x: transform_x(140), y: transform_y(20), name: "Draw Pile"}
+ {key: 'p2_discard', x: transform_x(20), y: transform_y(20), name: "Discard Pile"}
+ {key: 'p1_draw', x: transform_x(140), y: transform_y(flip_y(20)), name: "Draw Pile"}
+ {key: 'p1_discard', x: transform_x(20), y: transform_y(flip_y(20)), name: "Discard Pile"}
+ ]
+ for pile in piles
+ pile.$blank = new_blank_card pile.x, pile.y
+ pile.$caption = $ $ "<div class=\"pile_caption\"><div>#{pile.name}:</div><div class=\"n_cards\">#{n_cards 0}</div></div>"
+
+ update_pile_views()
+
+update_pile_views = ->
+ ps = {}
+ for card in state.cards
+ if card.pile?
+ if ps[card.pile]?
+ ps[card.pile].total += 1
+ if card.z > ps[card.pile].top_z
+ if ps[card.pile].top_card.view?
+ uninstantiate_card ps[card.pile].top_card
+ ps[card.pile].top_card = card
+ ps[card.pile].top_z = card.z
+ else
+ ps[card.pile] = { total: 1, top_card: card, top_z: card.z }
+