ttpg-darrell 1.0.57 → 1.0.58
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/lib/bug-workarounds/bug-card-holder-assignment.d.ts +8 -0
- package/build/cjs/lib/bug-workarounds/bug-card-holder-assignment.js +14 -0
- package/build/cjs/lib/bug-workarounds/bug-card-holder-assignment.js.map +1 -0
- package/build/cjs/lib/bug-workarounds/bug-unique-cards.d.ts +8 -0
- package/build/cjs/lib/bug-workarounds/bug-unique-cards.js +14 -0
- package/build/cjs/lib/bug-workarounds/bug-unique-cards.js.map +1 -0
- package/build/cjs/lib/chess-clock/chess-clock-window.d.ts +11 -0
- package/build/cjs/lib/chess-clock/chess-clock-window.js +47 -0
- package/build/cjs/lib/chess-clock/chess-clock-window.js.map +1 -0
- package/build/cjs/lib/chess-clock/chess-clock-window.testp.d.ts +1 -0
- package/build/cjs/lib/chess-clock/chess-clock-window.testp.js +23 -0
- package/build/cjs/lib/chess-clock/chess-clock-window.testp.js.map +1 -0
- package/build/cjs/lib/context-menu/abstract-right-click-card.d.ts +17 -0
- package/build/cjs/lib/context-menu/abstract-right-click-card.js +40 -0
- package/build/cjs/lib/context-menu/abstract-right-click-card.js.map +1 -0
- package/build/cjs/lib/context-menu/abstract-right-click-deck.d.ts +19 -0
- package/build/cjs/lib/context-menu/abstract-right-click-deck.js +46 -0
- package/build/cjs/lib/context-menu/abstract-right-click-deck.js.map +1 -0
- package/build/cjs/lib/context-menu/leave-seat.d.ts +19 -0
- package/build/cjs/lib/context-menu/leave-seat.js +51 -0
- package/build/cjs/lib/context-menu/leave-seat.js.map +1 -0
- package/build/cjs/lib/event/on-card-became-singleton-or-deck.d.ts +30 -0
- package/build/cjs/lib/event/on-card-became-singleton-or-deck.js +103 -0
- package/build/cjs/lib/event/on-card-became-singleton-or-deck.js.map +1 -0
- package/build/cjs/lib/event/on-card-became-singleton-or-deck.testp.d.ts +1 -0
- package/build/cjs/lib/event/on-card-became-singleton-or-deck.testp.js +15 -0
- package/build/cjs/lib/event/on-card-became-singleton-or-deck.testp.js.map +1 -0
- package/build/cjs/lib/event/throttle-click-handler.d.ts +9 -0
- package/build/cjs/lib/event/throttle-click-handler.js +28 -0
- package/build/cjs/lib/event/throttle-click-handler.js.map +1 -0
- package/build/cjs/lib/event/triggerable-multicast-delegate.d.ts +30 -0
- package/build/cjs/lib/event/triggerable-multicast-delegate.js +57 -0
- package/build/cjs/lib/event/triggerable-multicast-delegate.js.map +1 -0
- package/build/cjs/lib/game-object/dice-snap-rotation/dice-snap-rotation-obj.d.ts +1 -0
- package/build/cjs/lib/game-object/dice-snap-rotation/dice-snap-rotation-obj.js +6 -0
- package/build/cjs/lib/game-object/dice-snap-rotation/dice-snap-rotation-obj.js.map +1 -0
- package/build/cjs/lib/game-object/dice-snap-rotation/dice-snap-rotation.d.ts +7 -0
- package/build/cjs/lib/game-object/dice-snap-rotation/dice-snap-rotation.js +27 -0
- package/build/cjs/lib/game-object/dice-snap-rotation/dice-snap-rotation.js.map +1 -0
- package/build/cjs/lib/jest-util/click-all/click-all.d.ts +2 -0
- package/build/cjs/lib/jest-util/click-all/click-all.js +38 -0
- package/build/cjs/lib/jest-util/click-all/click-all.js.map +1 -0
- package/build/cjs/lib/locale/locale.d.ts +1 -1
- package/build/cjs/lib/parse/parse-color.d.ts +7 -0
- package/build/cjs/lib/parse/parse-color.js +47 -0
- package/build/cjs/lib/parse/parse-color.js.map +1 -0
- package/build/cjs/lib/spawn/spawn.d.ts +1 -0
- package/build/cjs/lib/spawn/spawn.js +7 -0
- package/build/cjs/lib/spawn/spawn.js.map +1 -1
- package/build/cjs/lib/svg/svg-sparkline.d.ts +12 -0
- package/build/cjs/lib/svg/svg-sparkline.js +44 -0
- package/build/cjs/lib/svg/svg-sparkline.js.map +1 -0
- package/build/cjs/lib/ui-visibility/ui-visibility.d.ts +17 -0
- package/build/cjs/lib/ui-visibility/ui-visibility.js +69 -0
- package/build/cjs/lib/ui-visibility/ui-visibility.js.map +1 -0
- package/build/cjs/lib/widget/chess-clock-widget/chess-clock-config-widget.d.ts +9 -0
- package/build/cjs/lib/widget/chess-clock-widget/chess-clock-config-widget.js +82 -0
- package/build/cjs/lib/widget/chess-clock-widget/chess-clock-config-widget.js.map +1 -0
- package/build/cjs/lib/widget/chess-clock-widget/chess-clock-config-window.d.ts +4 -0
- package/build/cjs/lib/widget/chess-clock-widget/chess-clock-config-window.js +40 -0
- package/build/cjs/lib/widget/chess-clock-widget/chess-clock-config-window.js.map +1 -0
- package/build/cjs/lib/widget/chess-clock-widget/chess-clock-data.d.ts +46 -0
- package/build/cjs/lib/widget/chess-clock-widget/chess-clock-data.js +211 -0
- package/build/cjs/lib/widget/chess-clock-widget/chess-clock-data.js.map +1 -0
- package/build/cjs/lib/widget/chess-clock-widget/chess-clock-widget.d.ts +15 -0
- package/build/cjs/lib/widget/chess-clock-widget/chess-clock-widget.js +227 -0
- package/build/cjs/lib/widget/chess-clock-widget/chess-clock-widget.js.map +1 -0
- package/build/cjs/lib/widget/chess-clock-widget/chess-clock-window.d.ts +11 -0
- package/build/cjs/lib/widget/chess-clock-widget/chess-clock-window.js +47 -0
- package/build/cjs/lib/widget/chess-clock-widget/chess-clock-window.js.map +1 -0
- package/build/cjs/lib/widget/chess-clock-widget/chess-clock-window.testp.d.ts +1 -0
- package/build/cjs/lib/widget/chess-clock-widget/chess-clock-window.testp.js +22 -0
- package/build/cjs/lib/widget/chess-clock-widget/chess-clock-window.testp.js.map +1 -0
- package/build/cjs/lib-ext/create-assets/create-cardsheets/create-cardsheet-params.d.ts +160 -12
- package/build/cjs/lib-ext/create-assets/create-d6/create-d6-params.d.ts +158 -10
- package/build/cjs/lib-ext/image/cell/cell-parser/cell-schema.d.ts +20 -40
- package/build/cjs/lib-ext/image-table.d.ts +1 -0
- package/build/cjs/lib-ext/image-table.js +14 -0
- package/build/cjs/lib-ext/image-table.js.map +1 -0
- package/build/cjs/lib-ext/nsid/extract-nsid-to-template-id.js +1 -1
- package/build/cjs/lib-ext/nsid/extract-nsid-to-template-id.js.map +1 -1
- package/build/esm/lib/bug-workarounds/bug-card-holder-assignment.d.ts +8 -0
- package/build/esm/lib/bug-workarounds/bug-card-holder-assignment.js +10 -0
- package/build/esm/lib/bug-workarounds/bug-card-holder-assignment.js.map +1 -0
- package/build/esm/lib/bug-workarounds/bug-unique-cards.d.ts +8 -0
- package/build/esm/lib/bug-workarounds/bug-unique-cards.js +10 -0
- package/build/esm/lib/bug-workarounds/bug-unique-cards.js.map +1 -0
- package/build/esm/lib/chess-clock/chess-clock-window.d.ts +11 -0
- package/build/esm/lib/chess-clock/chess-clock-window.js +43 -0
- package/build/esm/lib/chess-clock/chess-clock-window.js.map +1 -0
- package/build/esm/lib/chess-clock/chess-clock-window.testp.d.ts +1 -0
- package/build/esm/lib/chess-clock/chess-clock-window.testp.js +21 -0
- package/build/esm/lib/chess-clock/chess-clock-window.testp.js.map +1 -0
- package/build/esm/lib/context-menu/abstract-right-click-card.d.ts +17 -0
- package/build/esm/lib/context-menu/abstract-right-click-card.js +36 -0
- package/build/esm/lib/context-menu/abstract-right-click-card.js.map +1 -0
- package/build/esm/lib/context-menu/abstract-right-click-deck.d.ts +19 -0
- package/build/esm/lib/context-menu/abstract-right-click-deck.js +42 -0
- package/build/esm/lib/context-menu/abstract-right-click-deck.js.map +1 -0
- package/build/esm/lib/context-menu/leave-seat.d.ts +19 -0
- package/build/esm/lib/context-menu/leave-seat.js +47 -0
- package/build/esm/lib/context-menu/leave-seat.js.map +1 -0
- package/build/esm/lib/event/on-card-became-singleton-or-deck.d.ts +30 -0
- package/build/esm/lib/event/on-card-became-singleton-or-deck.js +99 -0
- package/build/esm/lib/event/on-card-became-singleton-or-deck.js.map +1 -0
- package/build/esm/lib/event/on-card-became-singleton-or-deck.testp.d.ts +1 -0
- package/build/esm/lib/event/on-card-became-singleton-or-deck.testp.js +13 -0
- package/build/esm/lib/event/on-card-became-singleton-or-deck.testp.js.map +1 -0
- package/build/esm/lib/event/throttle-click-handler.d.ts +9 -0
- package/build/esm/lib/event/throttle-click-handler.js +24 -0
- package/build/esm/lib/event/throttle-click-handler.js.map +1 -0
- package/build/esm/lib/event/triggerable-multicast-delegate.d.ts +30 -0
- package/build/esm/lib/event/triggerable-multicast-delegate.js +53 -0
- package/build/esm/lib/event/triggerable-multicast-delegate.js.map +1 -0
- package/build/esm/lib/game-object/dice-snap-rotation/dice-snap-rotation-obj.d.ts +1 -0
- package/build/esm/lib/game-object/dice-snap-rotation/dice-snap-rotation-obj.js +4 -0
- package/build/esm/lib/game-object/dice-snap-rotation/dice-snap-rotation-obj.js.map +1 -0
- package/build/esm/lib/game-object/dice-snap-rotation/dice-snap-rotation.d.ts +4 -0
- package/build/esm/lib/game-object/dice-snap-rotation/dice-snap-rotation.js +20 -0
- package/build/esm/lib/game-object/dice-snap-rotation/dice-snap-rotation.js.map +1 -0
- package/build/esm/lib/jest-util/click-all/click-all.d.ts +2 -0
- package/build/esm/lib/jest-util/click-all/click-all.js +34 -0
- package/build/esm/lib/jest-util/click-all/click-all.js.map +1 -0
- package/build/esm/lib/locale/locale.d.ts +1 -1
- package/build/esm/lib/parse/parse-color.d.ts +7 -0
- package/build/esm/lib/parse/parse-color.js +43 -0
- package/build/esm/lib/parse/parse-color.js.map +1 -0
- package/build/esm/lib/spawn/spawn.d.ts +1 -0
- package/build/esm/lib/spawn/spawn.js +7 -0
- package/build/esm/lib/spawn/spawn.js.map +1 -1
- package/build/esm/lib/svg/svg-sparkline.d.ts +12 -0
- package/build/esm/lib/svg/svg-sparkline.js +40 -0
- package/build/esm/lib/svg/svg-sparkline.js.map +1 -0
- package/build/esm/lib/ui-visibility/ui-visibility.d.ts +17 -0
- package/build/esm/lib/ui-visibility/ui-visibility.js +65 -0
- package/build/esm/lib/ui-visibility/ui-visibility.js.map +1 -0
- package/build/esm/lib-ext/create-assets/create-cardsheets/create-cardsheet-params.d.ts +160 -12
- package/build/esm/lib-ext/create-assets/create-d6/create-d6-params.d.ts +158 -10
- package/build/esm/lib-ext/image/cell/cell-parser/cell-schema.d.ts +20 -40
- package/build/esm/lib-ext/image-table.d.ts +1 -0
- package/build/esm/lib-ext/image-table.js +9 -0
- package/build/esm/lib-ext/image-table.js.map +1 -0
- package/build/esm/lib-ext/nsid/extract-nsid-to-template-id.js +1 -1
- package/build/esm/lib-ext/nsid/extract-nsid-to-template-id.js.map +1 -1
- package/build/module_type_should_override_this/index.d.ts +54 -0
- package/build/module_type_should_override_this/index.js +55 -0
- package/build/module_type_should_override_this/index.js.map +1 -0
- package/build/module_type_should_override_this/lib/adjacency/adjacency.d.ts +61 -0
- package/build/module_type_should_override_this/lib/adjacency/adjacency.js +212 -0
- package/build/module_type_should_override_this/lib/adjacency/adjacency.js.map +1 -0
- package/build/module_type_should_override_this/lib/broadcast/broadcast.d.ts +9 -0
- package/build/module_type_should_override_this/lib/broadcast/broadcast.js +42 -0
- package/build/module_type_should_override_this/lib/broadcast/broadcast.js.map +1 -0
- package/build/module_type_should_override_this/lib/bug-workarounds/bug-card-holder-assignment.d.ts +8 -0
- package/build/module_type_should_override_this/lib/bug-workarounds/bug-card-holder-assignment.js +10 -0
- package/build/module_type_should_override_this/lib/bug-workarounds/bug-card-holder-assignment.js.map +1 -0
- package/build/module_type_should_override_this/lib/bug-workarounds/bug-unique-cards.d.ts +8 -0
- package/build/module_type_should_override_this/lib/bug-workarounds/bug-unique-cards.js +10 -0
- package/build/module_type_should_override_this/lib/bug-workarounds/bug-unique-cards.js.map +1 -0
- package/build/module_type_should_override_this/lib/card-util/card-util.d.ts +45 -0
- package/build/module_type_should_override_this/lib/card-util/card-util.js +173 -0
- package/build/module_type_should_override_this/lib/card-util/card-util.js.map +1 -0
- package/build/module_type_should_override_this/lib/context-menu/abstract-right-click-card.d.ts +17 -0
- package/build/module_type_should_override_this/lib/context-menu/abstract-right-click-card.js +36 -0
- package/build/module_type_should_override_this/lib/context-menu/abstract-right-click-card.js.map +1 -0
- package/build/module_type_should_override_this/lib/context-menu/abstract-right-click-deck.d.ts +19 -0
- package/build/module_type_should_override_this/lib/context-menu/abstract-right-click-deck.js +42 -0
- package/build/module_type_should_override_this/lib/context-menu/abstract-right-click-deck.js.map +1 -0
- package/build/module_type_should_override_this/lib/context-menu/leave-seat.d.ts +19 -0
- package/build/module_type_should_override_this/lib/context-menu/leave-seat.js +47 -0
- package/build/module_type_should_override_this/lib/context-menu/leave-seat.js.map +1 -0
- package/build/module_type_should_override_this/lib/data-store/data-store.d.ts +104 -0
- package/build/module_type_should_override_this/lib/data-store/data-store.js +392 -0
- package/build/module_type_should_override_this/lib/data-store/data-store.js.map +1 -0
- package/build/module_type_should_override_this/lib/dice-group/dice-group-testp.d.ts +1 -0
- package/build/module_type_should_override_this/lib/dice-group/dice-group-testp.js +37 -0
- package/build/module_type_should_override_this/lib/dice-group/dice-group-testp.js.map +1 -0
- package/build/module_type_should_override_this/lib/dice-group/dice-group.d.ts +83 -0
- package/build/module_type_should_override_this/lib/dice-group/dice-group.js +247 -0
- package/build/module_type_should_override_this/lib/dice-group/dice-group.js.map +1 -0
- package/build/module_type_should_override_this/lib/error-handler/bugsplat-remote-reporter.d.ts +21 -0
- package/build/module_type_should_override_this/lib/error-handler/bugsplat-remote-reporter.js +54 -0
- package/build/module_type_should_override_this/lib/error-handler/bugsplat-remote-reporter.js.map +1 -0
- package/build/module_type_should_override_this/lib/error-handler/error-batcher.d.ts +11 -0
- package/build/module_type_should_override_this/lib/error-handler/error-batcher.js +50 -0
- package/build/module_type_should_override_this/lib/error-handler/error-batcher.js.map +1 -0
- package/build/module_type_should_override_this/lib/error-handler/error-handler.d.ts +43 -0
- package/build/module_type_should_override_this/lib/error-handler/error-handler.js +234 -0
- package/build/module_type_should_override_this/lib/error-handler/error-handler.js.map +1 -0
- package/build/module_type_should_override_this/lib/error-handler/error-handler.testp.d.ts +4 -0
- package/build/module_type_should_override_this/lib/error-handler/error-handler.testp.js +13 -0
- package/build/module_type_should_override_this/lib/error-handler/error-handler.testp.js.map +1 -0
- package/build/module_type_should_override_this/lib/event/on-card-became-singleton-or-deck.d.ts +30 -0
- package/build/module_type_should_override_this/lib/event/on-card-became-singleton-or-deck.js +99 -0
- package/build/module_type_should_override_this/lib/event/on-card-became-singleton-or-deck.js.map +1 -0
- package/build/module_type_should_override_this/lib/event/on-card-became-singleton-or-deck.testp.d.ts +1 -0
- package/build/module_type_should_override_this/lib/event/on-card-became-singleton-or-deck.testp.js +13 -0
- package/build/module_type_should_override_this/lib/event/on-card-became-singleton-or-deck.testp.js.map +1 -0
- package/build/module_type_should_override_this/lib/event/throttle-click-handler.d.ts +9 -0
- package/build/module_type_should_override_this/lib/event/throttle-click-handler.js +24 -0
- package/build/module_type_should_override_this/lib/event/throttle-click-handler.js.map +1 -0
- package/build/module_type_should_override_this/lib/event/triggerable-multicast-delegate.d.ts +30 -0
- package/build/module_type_should_override_this/lib/event/triggerable-multicast-delegate.js +53 -0
- package/build/module_type_should_override_this/lib/event/triggerable-multicast-delegate.js.map +1 -0
- package/build/module_type_should_override_this/lib/facing/facing.d.ts +4 -0
- package/build/module_type_should_override_this/lib/facing/facing.js +15 -0
- package/build/module_type_should_override_this/lib/facing/facing.js.map +1 -0
- package/build/module_type_should_override_this/lib/find/find.d.ts +19 -0
- package/build/module_type_should_override_this/lib/find/find.js +152 -0
- package/build/module_type_should_override_this/lib/find/find.js.map +1 -0
- package/build/module_type_should_override_this/lib/game-object/cardholder-player-name/cardholder-player-name-obj.d.ts +1 -0
- package/build/module_type_should_override_this/lib/game-object/cardholder-player-name/cardholder-player-name-obj.js +10 -0
- package/build/module_type_should_override_this/lib/game-object/cardholder-player-name/cardholder-player-name-obj.js.map +1 -0
- package/build/module_type_should_override_this/lib/game-object/cardholder-player-name/cardholder-player-name.d.ts +19 -0
- package/build/module_type_should_override_this/lib/game-object/cardholder-player-name/cardholder-player-name.js +101 -0
- package/build/module_type_should_override_this/lib/game-object/cardholder-player-name/cardholder-player-name.js.map +1 -0
- package/build/module_type_should_override_this/lib/game-object/deleted-items-container/deleted-items-container-obj.d.ts +1 -0
- package/build/module_type_should_override_this/lib/game-object/deleted-items-container/deleted-items-container-obj.js +5 -0
- package/build/module_type_should_override_this/lib/game-object/deleted-items-container/deleted-items-container-obj.js.map +1 -0
- package/build/module_type_should_override_this/lib/game-object/deleted-items-container/deleted-items-container.d.ts +24 -0
- package/build/module_type_should_override_this/lib/game-object/deleted-items-container/deleted-items-container.js +91 -0
- package/build/module_type_should_override_this/lib/game-object/deleted-items-container/deleted-items-container.js.map +1 -0
- package/build/module_type_should_override_this/lib/game-object/garbage/garbage-container-obj.d.ts +1 -0
- package/build/module_type_should_override_this/lib/game-object/garbage/garbage-container-obj.js +4 -0
- package/build/module_type_should_override_this/lib/game-object/garbage/garbage-container-obj.js.map +1 -0
- package/build/module_type_should_override_this/lib/game-object/garbage/garbage-container.d.ts +43 -0
- package/build/module_type_should_override_this/lib/game-object/garbage/garbage-container.js +116 -0
- package/build/module_type_should_override_this/lib/game-object/garbage/garbage-container.js.map +1 -0
- package/build/module_type_should_override_this/lib/game-object/garbage/simple-card-garbage-handler.d.ts +20 -0
- package/build/module_type_should_override_this/lib/game-object/garbage/simple-card-garbage-handler.js +100 -0
- package/build/module_type_should_override_this/lib/game-object/garbage/simple-card-garbage-handler.js.map +1 -0
- package/build/module_type_should_override_this/lib/game-object/garbage/simple-to-container-handler.d.ts +16 -0
- package/build/module_type_should_override_this/lib/game-object/garbage/simple-to-container-handler.js +44 -0
- package/build/module_type_should_override_this/lib/game-object/garbage/simple-to-container-handler.js.map +1 -0
- package/build/module_type_should_override_this/lib/game-object/garbage/simple-to-snap-point-handler.d.ts +19 -0
- package/build/module_type_should_override_this/lib/game-object/garbage/simple-to-snap-point-handler.js +50 -0
- package/build/module_type_should_override_this/lib/game-object/garbage/simple-to-snap-point-handler.js.map +1 -0
- package/build/module_type_should_override_this/lib/global/global-init.d.ts +10 -0
- package/build/module_type_should_override_this/lib/global/global-init.js +20 -0
- package/build/module_type_should_override_this/lib/global/global-init.js.map +1 -0
- package/build/module_type_should_override_this/lib/global/i-global.d.ts +3 -0
- package/build/module_type_should_override_this/lib/global/i-global.js +2 -0
- package/build/module_type_should_override_this/lib/global/i-global.js.map +1 -0
- package/build/module_type_should_override_this/lib/heap/heap.d.ts +8 -0
- package/build/module_type_should_override_this/lib/heap/heap.js +109 -0
- package/build/module_type_should_override_this/lib/heap/heap.js.map +1 -0
- package/build/module_type_should_override_this/lib/layout-objects/layout-objects.d.ts +49 -0
- package/build/module_type_should_override_this/lib/layout-objects/layout-objects.js +257 -0
- package/build/module_type_should_override_this/lib/layout-objects/layout-objects.js.map +1 -0
- package/build/module_type_should_override_this/lib/locale/locale.d.ts +8 -0
- package/build/module_type_should_override_this/lib/locale/locale.js +48 -0
- package/build/module_type_should_override_this/lib/locale/locale.js.map +1 -0
- package/build/module_type_should_override_this/lib/namespace-id/namespace-id.d.ts +1 -0
- package/build/module_type_should_override_this/lib/namespace-id/namespace-id.js +2 -0
- package/build/module_type_should_override_this/lib/namespace-id/namespace-id.js.map +1 -0
- package/build/module_type_should_override_this/lib/nsid/nsid.d.ts +54 -0
- package/build/module_type_should_override_this/lib/nsid/nsid.js +86 -0
- package/build/module_type_should_override_this/lib/nsid/nsid.js.map +1 -0
- package/build/module_type_should_override_this/lib/parse/parse-color.d.ts +7 -0
- package/build/module_type_should_override_this/lib/parse/parse-color.js +43 -0
- package/build/module_type_should_override_this/lib/parse/parse-color.js.map +1 -0
- package/build/module_type_should_override_this/lib/perf/perf.d.ts +29 -0
- package/build/module_type_should_override_this/lib/perf/perf.js +93 -0
- package/build/module_type_should_override_this/lib/perf/perf.js.map +1 -0
- package/build/module_type_should_override_this/lib/setup/abstract-setup.d.ts +18 -0
- package/build/module_type_should_override_this/lib/setup/abstract-setup.js +22 -0
- package/build/module_type_should_override_this/lib/setup/abstract-setup.js.map +1 -0
- package/build/module_type_should_override_this/lib/shuffle/shuffle.d.ts +7 -0
- package/build/module_type_should_override_this/lib/shuffle/shuffle.js +26 -0
- package/build/module_type_should_override_this/lib/shuffle/shuffle.js.map +1 -0
- package/build/module_type_should_override_this/lib/spawn/spawn.d.ts +21 -0
- package/build/module_type_should_override_this/lib/spawn/spawn.js +116 -0
- package/build/module_type_should_override_this/lib/spawn/spawn.js.map +1 -0
- package/build/module_type_should_override_this/lib/svg/svg-sparkline.d.ts +12 -0
- package/build/module_type_should_override_this/lib/svg/svg-sparkline.js +40 -0
- package/build/module_type_should_override_this/lib/svg/svg-sparkline.js.map +1 -0
- package/build/module_type_should_override_this/lib/turn-order/turn-order.d.ts +51 -0
- package/build/module_type_should_override_this/lib/turn-order/turn-order.js +200 -0
- package/build/module_type_should_override_this/lib/turn-order/turn-order.js.map +1 -0
- package/build/module_type_should_override_this/lib/ui/screen-test.d.ts +1 -0
- package/build/module_type_should_override_this/lib/ui/screen-test.js +20 -0
- package/build/module_type_should_override_this/lib/ui/screen-test.js.map +1 -0
- package/build/module_type_should_override_this/lib/ui-visibility/ui-visibility.d.ts +17 -0
- package/build/module_type_should_override_this/lib/ui-visibility/ui-visibility.js +65 -0
- package/build/module_type_should_override_this/lib/ui-visibility/ui-visibility.js.map +1 -0
- package/build/module_type_should_override_this/lib/whisper-reporter/whisper-reporter-locale.data.d.ts +3 -0
- package/build/module_type_should_override_this/lib/whisper-reporter/whisper-reporter-locale.data.js +4 -0
- package/build/module_type_should_override_this/lib/whisper-reporter/whisper-reporter-locale.data.js.map +1 -0
- package/build/module_type_should_override_this/lib/whisper-reporter/whisper-reporter.d.ts +5 -0
- package/build/module_type_should_override_this/lib/whisper-reporter/whisper-reporter.js +25 -0
- package/build/module_type_should_override_this/lib/whisper-reporter/whisper-reporter.js.map +1 -0
- package/build/module_type_should_override_this/lib/widget/confirm-button/confirm-button.d.ts +2 -0
- package/build/module_type_should_override_this/lib/widget/confirm-button/confirm-button.js +3 -0
- package/build/module_type_should_override_this/lib/widget/confirm-button/confirm-button.js.map +1 -0
- package/build/module_type_should_override_this/lib/widget/d6widget/d6widget.d.ts +48 -0
- package/build/module_type_should_override_this/lib/widget/d6widget/d6widget.js +84 -0
- package/build/module_type_should_override_this/lib/widget/d6widget/d6widget.js.map +1 -0
- package/build/module_type_should_override_this/lib/widget/end-turn-button/end-turn-button.d.ts +35 -0
- package/build/module_type_should_override_this/lib/widget/end-turn-button/end-turn-button.js +109 -0
- package/build/module_type_should_override_this/lib/widget/end-turn-button/end-turn-button.js.map +1 -0
- package/build/module_type_should_override_this/lib/widget/end-turn-button/end-turn-button.testp.d.ts +1 -0
- package/build/module_type_should_override_this/lib/widget/end-turn-button/end-turn-button.testp.js +10 -0
- package/build/module_type_should_override_this/lib/widget/end-turn-button/end-turn-button.testp.js.map +1 -0
- package/build/module_type_should_override_this/lib/widget/end-turn-button/end-turn-locale.data.d.ts +3 -0
- package/build/module_type_should_override_this/lib/widget/end-turn-button/end-turn-locale.data.js +4 -0
- package/build/module_type_should_override_this/lib/widget/end-turn-button/end-turn-locale.data.js.map +1 -0
- package/build/module_type_should_override_this/lib/widget/hot-seat-button/hot-seat-button.d.ts +28 -0
- package/build/module_type_should_override_this/lib/widget/hot-seat-button/hot-seat-button.js +99 -0
- package/build/module_type_should_override_this/lib/widget/hot-seat-button/hot-seat-button.js.map +1 -0
- package/build/module_type_should_override_this/lib/widget/hot-seat-button/hot-seat-button.testp.d.ts +1 -0
- package/build/module_type_should_override_this/lib/widget/hot-seat-button/hot-seat-button.testp.js +10 -0
- package/build/module_type_should_override_this/lib/widget/hot-seat-button/hot-seat-button.testp.js.map +1 -0
- package/build/module_type_should_override_this/lib/widget/hot-seat-button/hot-seat-locale.data.d.ts +3 -0
- package/build/module_type_should_override_this/lib/widget/hot-seat-button/hot-seat-locale.data.js +5 -0
- package/build/module_type_should_override_this/lib/widget/hot-seat-button/hot-seat-locale.data.js.map +1 -0
- package/build/module_type_should_override_this/lib/widget/perf-widget/perf-widget-locale.data.d.ts +3 -0
- package/build/module_type_should_override_this/lib/widget/perf-widget/perf-widget-locale.data.js +4 -0
- package/build/module_type_should_override_this/lib/widget/perf-widget/perf-widget-locale.data.js.map +1 -0
- package/build/module_type_should_override_this/lib/widget/perf-widget/perf-widget.d.ts +19 -0
- package/build/module_type_should_override_this/lib/widget/perf-widget/perf-widget.js +74 -0
- package/build/module_type_should_override_this/lib/widget/perf-widget/perf-widget.js.map +1 -0
- package/build/module_type_should_override_this/lib/widget/perf-widget/perf-widget.testp.d.ts +1 -0
- package/build/module_type_should_override_this/lib/widget/perf-widget/perf-widget.testp.js +5 -0
- package/build/module_type_should_override_this/lib/widget/perf-widget/perf-widget.testp.js.map +1 -0
- package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-clicked-widget.d.ts +22 -0
- package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-clicked-widget.js +136 -0
- package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-clicked-widget.js.map +1 -0
- package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-entry-wart.d.ts +16 -0
- package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-entry-wart.js +7 -0
- package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-entry-wart.js.map +1 -0
- package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-entry-widget.d.ts +29 -0
- package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-entry-widget.js +131 -0
- package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-entry-widget.js.map +1 -0
- package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-locale.data.d.ts +3 -0
- package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-locale.data.js +13 -0
- package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-locale.data.js.map +1 -0
- package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-widget-params.d.ts +33 -0
- package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-widget-params.js +6 -0
- package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-widget-params.js.map +1 -0
- package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-widget.d.ts +25 -0
- package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-widget.js +99 -0
- package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-widget.js.map +1 -0
- package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-widget.testp.d.ts +1 -0
- package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-widget.testp.js +58 -0
- package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-widget.testp.js.map +1 -0
- package/build/module_type_should_override_this/lib-ext/image-table.d.ts +1 -0
- package/build/module_type_should_override_this/lib-ext/image-table.js +9 -0
- package/build/module_type_should_override_this/lib-ext/image-table.js.map +1 -0
- package/build/module_type_should_override_this/locale.data.d.ts +4 -0
- package/build/module_type_should_override_this/locale.data.js +5 -0
- package/build/module_type_should_override_this/locale.data.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BugCardHolderAssignment = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Monitor card holder, expect it to be the primary holder for
|
|
6
|
+
* the owning player slot player.
|
|
7
|
+
*/
|
|
8
|
+
class BugCardHolderAssignment {
|
|
9
|
+
init() {
|
|
10
|
+
throw new Error("Method not implemented.");
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.BugCardHolderAssignment = BugCardHolderAssignment;
|
|
14
|
+
//# sourceMappingURL=bug-card-holder-assignment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bug-card-holder-assignment.js","sourceRoot":"","sources":["../../../../src/lib/bug-workarounds/bug-card-holder-assignment.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACH,MAAa,uBAAuB;IAChC,IAAI;QACA,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;CACJ;AAJD,0DAIC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BugUniqueCards = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Monitor given decks expecting no NSID (metadata) repeats.
|
|
6
|
+
* Prune extra cards if found.
|
|
7
|
+
*/
|
|
8
|
+
class BugUniqueCards {
|
|
9
|
+
init() {
|
|
10
|
+
throw new Error("Method not implemented.");
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.BugUniqueCards = BugUniqueCards;
|
|
14
|
+
//# sourceMappingURL=bug-unique-cards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bug-unique-cards.js","sourceRoot":"","sources":["../../../../src/lib/bug-workarounds/bug-unique-cards.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACH,MAAa,cAAc;IACvB,IAAI;QACA,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;CACJ;AAJD,wCAIC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { NamespaceId } from "../namespace-id/namespace-id";
|
|
2
|
+
import { ChessClockData } from "./chess-clock-data";
|
|
3
|
+
/**
|
|
4
|
+
* Add the chess clock as a window.
|
|
5
|
+
*/
|
|
6
|
+
export declare class ChessClockWindow {
|
|
7
|
+
private readonly _chessClockData;
|
|
8
|
+
private readonly _window;
|
|
9
|
+
constructor(chessClockData: ChessClockData, persistenceKey?: NamespaceId);
|
|
10
|
+
destroy(): void;
|
|
11
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ChessClockWindow = void 0;
|
|
4
|
+
const api_1 = require("@tabletop-playground/api");
|
|
5
|
+
const window_1 = require("../ui/window/window");
|
|
6
|
+
const chess_clock_widget_1 = require("./chess-clock-widget");
|
|
7
|
+
/**
|
|
8
|
+
* Add the chess clock as a window.
|
|
9
|
+
*/
|
|
10
|
+
class ChessClockWindow {
|
|
11
|
+
constructor(chessClockData, persistenceKey) {
|
|
12
|
+
if (chessClockData.getPlayerOrder().length === 0) {
|
|
13
|
+
throw new Error("No players in chess clock data.");
|
|
14
|
+
}
|
|
15
|
+
this._chessClockData = chessClockData;
|
|
16
|
+
const params = {
|
|
17
|
+
title: "Chess Clock",
|
|
18
|
+
size: {
|
|
19
|
+
width: 400,
|
|
20
|
+
height: chessClockData.getPlayerCount() * 60,
|
|
21
|
+
},
|
|
22
|
+
screen: {
|
|
23
|
+
anchor: { x: 0.5, y: 0 },
|
|
24
|
+
pos: { u: 0.5, v: 0.1 },
|
|
25
|
+
},
|
|
26
|
+
windowWidgetGenerator: function () {
|
|
27
|
+
return new chess_clock_widget_1.ChessClockWidget(chessClockData);
|
|
28
|
+
},
|
|
29
|
+
diableWarpScreenWorld: true,
|
|
30
|
+
addToggleMenuItem: true,
|
|
31
|
+
};
|
|
32
|
+
// Create for all involved players.
|
|
33
|
+
const playerSlots = this._chessClockData.getPlayerOrder();
|
|
34
|
+
// Also create for any current spectators.
|
|
35
|
+
for (const player of api_1.world.getAllPlayers()) {
|
|
36
|
+
if (!playerSlots.includes(player.getSlot())) {
|
|
37
|
+
playerSlots.push(player.getSlot());
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
this._window = new window_1.Window(params, playerSlots, persistenceKey).attach();
|
|
41
|
+
}
|
|
42
|
+
destroy() {
|
|
43
|
+
this._window.detach();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.ChessClockWindow = ChessClockWindow;
|
|
47
|
+
//# sourceMappingURL=chess-clock-window.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chess-clock-window.js","sourceRoot":"","sources":["../../../../src/lib/chess-clock/chess-clock-window.ts"],"names":[],"mappings":";;;AAAA,kDAAiD;AAEjD,gDAA6C;AAG7C,6DAAwD;AAExD;;GAEG;AACH,MAAa,gBAAgB;IAIzB,YAAY,cAA8B,EAAE,cAA4B;QACpE,IAAI,cAAc,CAAC,cAAc,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QAEtC,MAAM,MAAM,GAAiB;YACzB,KAAK,EAAE,aAAa;YACpB,IAAI,EAAE;gBACF,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,cAAc,CAAC,cAAc,EAAE,GAAG,EAAE;aAC/C;YACD,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE;gBACxB,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE;aAC1B;YACD,qBAAqB,EAAE;gBACnB,OAAO,IAAI,qCAAgB,CAAC,cAAc,CAAC,CAAC;YAChD,CAAC;YACD,qBAAqB,EAAE,IAAI;YAC3B,iBAAiB,EAAE,IAAI;SAC1B,CAAC;QAEF,mCAAmC;QACnC,MAAM,WAAW,GACb,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC;QAE1C,0CAA0C;QAC1C,KAAK,MAAM,MAAM,IAAI,WAAK,CAAC,aAAa,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;gBAC1C,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YACvC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,eAAM,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,CAAC;IAC5E,CAAC;IAED,OAAO;QACH,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;CACJ;AA7CD,4CA6CC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const api_1 = require("@tabletop-playground/api");
|
|
4
|
+
const error_handler_1 = require("../error-handler/error-handler");
|
|
5
|
+
const chess_clock_data_1 = require("./chess-clock-data");
|
|
6
|
+
//import { ChessClockWindow } from "./chess-clock-window";
|
|
7
|
+
const chess_clock_config_window_1 = require("./chess-clock-config-window");
|
|
8
|
+
console.log("ChessClockWindow testp");
|
|
9
|
+
new error_handler_1.ErrorHandler().init();
|
|
10
|
+
const chessClockData = new chess_clock_data_1.ChessClockData()
|
|
11
|
+
.setPlayerCount(4)
|
|
12
|
+
.setPlayerOrder([0, 1, 2, 3])
|
|
13
|
+
.setWidgetColor(1, new api_1.Color(1, 1, 0))
|
|
14
|
+
.setCurrentTurn(1)
|
|
15
|
+
.overrideActivePlayerSlot(1)
|
|
16
|
+
.setTimeBudgetSeconds(1200);
|
|
17
|
+
//chessClockData.connectDiscordSpeaking(
|
|
18
|
+
// "eyJpIjoiMTI0NjU0MjE1NDM0ODg4ODE1NyIsInQiOiJvb2NGelJHVXBJc1dpMWc3dFNPQVZQRElNUHBtQjhrSTJtOHcycDZZMnQ5UnZpOHo4Zkt0VkNkbXJIbmhoMFZxVWN1ayIsIm0iOiIxMjQ2NTQyMTU1MjAwMDY5NzYzIn0"
|
|
19
|
+
//);
|
|
20
|
+
//new ChessClockWindow(chessClockData);
|
|
21
|
+
// config will create the chess clock window
|
|
22
|
+
new chess_clock_config_window_1.ChessClockConfigWindow(chessClockData);
|
|
23
|
+
//# sourceMappingURL=chess-clock-window.testp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chess-clock-window.testp.js","sourceRoot":"","sources":["../../../../src/lib/chess-clock/chess-clock-window.testp.ts"],"names":[],"mappings":";;AAAA,kDAAiD;AACjD,kEAA8D;AAC9D,yDAAoD;AACpD,0DAA0D;AAC1D,2EAAqE;AAErE,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;AACtC,IAAI,4BAAY,EAAE,CAAC,IAAI,EAAE,CAAC;AAE1B,MAAM,cAAc,GAAG,IAAI,iCAAc,EAAE;KACtC,cAAc,CAAC,CAAC,CAAC;KACjB,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KAC5B,cAAc,CAAC,CAAC,EAAE,IAAI,WAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KACrC,cAAc,CAAC,CAAC,CAAC;KACjB,wBAAwB,CAAC,CAAC,CAAC;KAC3B,oBAAoB,CAAC,IAAI,CAAC,CAAC;AAEhC,wCAAwC;AACxC,mLAAmL;AACnL,IAAI;AAEJ,uCAAuC;AAEvC,4CAA4C;AAC5C,IAAI,kDAAsB,CAAC,cAAc,CAAC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { GameObject, Player } from "@tabletop-playground/api";
|
|
2
|
+
import { IGlobal } from "../global/i-global";
|
|
3
|
+
/**
|
|
4
|
+
* Add a context menu item ONLY when the singleton card exists.
|
|
5
|
+
* Remove it if the card becomes a deck.
|
|
6
|
+
*
|
|
7
|
+
* NOTE: the handler is a standard onCustomAction handler -- you need to verify
|
|
8
|
+
* the identifier before processing! This is to match other onCustomAction
|
|
9
|
+
* handling rather than create a new signature.
|
|
10
|
+
*/
|
|
11
|
+
export declare abstract class AbstractRightClickCard implements IGlobal {
|
|
12
|
+
private readonly _cardNsidPrefix;
|
|
13
|
+
private readonly _customActionName;
|
|
14
|
+
private readonly _customActionHandler;
|
|
15
|
+
constructor(cardNsidPrefix: string, customActionName: string, customActionHandler: (object: GameObject, player: Player, identifier: string) => void);
|
|
16
|
+
init(): void;
|
|
17
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AbstractRightClickCard = void 0;
|
|
4
|
+
const on_card_became_singleton_or_deck_1 = require("../event/on-card-became-singleton-or-deck");
|
|
5
|
+
const nsid_1 = require("../nsid/nsid");
|
|
6
|
+
/**
|
|
7
|
+
* Add a context menu item ONLY when the singleton card exists.
|
|
8
|
+
* Remove it if the card becomes a deck.
|
|
9
|
+
*
|
|
10
|
+
* NOTE: the handler is a standard onCustomAction handler -- you need to verify
|
|
11
|
+
* the identifier before processing! This is to match other onCustomAction
|
|
12
|
+
* handling rather than create a new signature.
|
|
13
|
+
*/
|
|
14
|
+
class AbstractRightClickCard {
|
|
15
|
+
constructor(cardNsidPrefix, customActionName, customActionHandler) {
|
|
16
|
+
this._cardNsidPrefix = cardNsidPrefix;
|
|
17
|
+
this._customActionName = customActionName;
|
|
18
|
+
this._customActionHandler = customActionHandler;
|
|
19
|
+
}
|
|
20
|
+
init() {
|
|
21
|
+
// These trigger the frame AFTER init. No need to look for objects.
|
|
22
|
+
on_card_became_singleton_or_deck_1.OnCardBecameSingletonOrDeck.onSingletonCardCreated.add((card) => {
|
|
23
|
+
const nsid = nsid_1.NSID.get(card);
|
|
24
|
+
if (nsid.startsWith(this._cardNsidPrefix)) {
|
|
25
|
+
card.removeCustomAction(this._customActionName);
|
|
26
|
+
card.addCustomAction(this._customActionName);
|
|
27
|
+
card.onCustomAction.remove(this._customActionHandler);
|
|
28
|
+
card.onCustomAction.add(this._customActionHandler);
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
on_card_became_singleton_or_deck_1.OnCardBecameSingletonOrDeck.onSingletonCardMadeDeck.add((card, oldNsid) => {
|
|
32
|
+
if (oldNsid.startsWith(this._cardNsidPrefix)) {
|
|
33
|
+
card.removeCustomAction(this._customActionName);
|
|
34
|
+
card.onCustomAction.remove(this._customActionHandler);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.AbstractRightClickCard = AbstractRightClickCard;
|
|
40
|
+
//# sourceMappingURL=abstract-right-click-card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstract-right-click-card.js","sourceRoot":"","sources":["../../../../src/lib/context-menu/abstract-right-click-card.ts"],"names":[],"mappings":";;;AACA,gGAAwF;AAExF,uCAAoC;AAEpC;;;;;;;GAOG;AACH,MAAsB,sBAAsB;IASxC,YACI,cAAsB,EACtB,gBAAwB,EACxB,mBAIS;QAET,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;QAC1C,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;IACpD,CAAC;IAED,IAAI;QACA,oEAAoE;QACpE,8DAA2B,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,IAAU,EAAE,EAAE;YAClE,MAAM,IAAI,GAAG,WAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAChD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAC7C,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBACtD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACvD,CAAC;QACL,CAAC,CAAC,CAAC;QACH,8DAA2B,CAAC,uBAAuB,CAAC,GAAG,CACnD,CAAC,IAAU,EAAE,OAAe,EAAE,EAAE;YAC5B,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC3C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAChD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC1D,CAAC;QACL,CAAC,CACJ,CAAC;IACN,CAAC;CACJ;AA3CD,wDA2CC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { GameObject, Player } from "@tabletop-playground/api";
|
|
2
|
+
import { IGlobal } from "../global/i-global";
|
|
3
|
+
/**
|
|
4
|
+
* Add context menu item on a deck ONLY when all cards match the given prefix.
|
|
5
|
+
* Remove it if the deck becomes a singleton card.
|
|
6
|
+
*
|
|
7
|
+
* NOTE: does not remove the handler if a mismatch card is added to the deck later!
|
|
8
|
+
*
|
|
9
|
+
* NOTE: the handler is a standard onCustomAction handler -- you need to verify
|
|
10
|
+
* the identifier before processing! This is to match other onCustomAction
|
|
11
|
+
* handling rather than create a new signature.
|
|
12
|
+
*/
|
|
13
|
+
export declare abstract class AbstractRightClickDeck implements IGlobal {
|
|
14
|
+
private readonly _deckNsidPrefix;
|
|
15
|
+
private readonly _customActionName;
|
|
16
|
+
private readonly _customActionHandler;
|
|
17
|
+
constructor(deckNsidPrefix: string, customActionName: string, customActionHandler: (object: GameObject, player: Player, identifier: string) => void);
|
|
18
|
+
init(): void;
|
|
19
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AbstractRightClickDeck = void 0;
|
|
4
|
+
const on_card_became_singleton_or_deck_1 = require("../event/on-card-became-singleton-or-deck");
|
|
5
|
+
const nsid_1 = require("../nsid/nsid");
|
|
6
|
+
/**
|
|
7
|
+
* Add context menu item on a deck ONLY when all cards match the given prefix.
|
|
8
|
+
* Remove it if the deck becomes a singleton card.
|
|
9
|
+
*
|
|
10
|
+
* NOTE: does not remove the handler if a mismatch card is added to the deck later!
|
|
11
|
+
*
|
|
12
|
+
* NOTE: the handler is a standard onCustomAction handler -- you need to verify
|
|
13
|
+
* the identifier before processing! This is to match other onCustomAction
|
|
14
|
+
* handling rather than create a new signature.
|
|
15
|
+
*/
|
|
16
|
+
class AbstractRightClickDeck {
|
|
17
|
+
constructor(deckNsidPrefix, customActionName, customActionHandler) {
|
|
18
|
+
this._deckNsidPrefix = deckNsidPrefix;
|
|
19
|
+
this._customActionName = customActionName;
|
|
20
|
+
this._customActionHandler = customActionHandler;
|
|
21
|
+
}
|
|
22
|
+
init() {
|
|
23
|
+
// These trigger the frame AFTER init. No need to look for objects.
|
|
24
|
+
on_card_became_singleton_or_deck_1.OnCardBecameSingletonOrDeck.onSingletonCardCreated.add((card) => {
|
|
25
|
+
const nsid = nsid_1.NSID.get(card);
|
|
26
|
+
if (nsid.startsWith(this._deckNsidPrefix)) {
|
|
27
|
+
card.removeCustomAction(this._customActionName);
|
|
28
|
+
card.onCustomAction.remove(this._customActionHandler);
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
on_card_became_singleton_or_deck_1.OnCardBecameSingletonOrDeck.onSingletonCardMadeDeck.add((card) => {
|
|
32
|
+
const nsids = nsid_1.NSID.getDeck(card);
|
|
33
|
+
for (const nsid of nsids) {
|
|
34
|
+
if (!nsid.startsWith(this._deckNsidPrefix)) {
|
|
35
|
+
return; // at least one mismatch
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
card.removeCustomAction(this._customActionName);
|
|
39
|
+
card.addCustomAction(this._customActionName);
|
|
40
|
+
card.onCustomAction.remove(this._customActionHandler);
|
|
41
|
+
card.onCustomAction.add(this._customActionHandler);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.AbstractRightClickDeck = AbstractRightClickDeck;
|
|
46
|
+
//# sourceMappingURL=abstract-right-click-deck.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstract-right-click-deck.js","sourceRoot":"","sources":["../../../../src/lib/context-menu/abstract-right-click-deck.ts"],"names":[],"mappings":";;;AACA,gGAAwF;AAExF,uCAAoC;AAEpC;;;;;;;;;GASG;AACH,MAAsB,sBAAsB;IASxC,YACI,cAAsB,EACtB,gBAAwB,EACxB,mBAIS;QAET,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;QAC1C,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;IACpD,CAAC;IAED,IAAI;QACA,oEAAoE;QACpE,8DAA2B,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,IAAU,EAAE,EAAE;YAClE,MAAM,IAAI,GAAG,WAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAChD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC1D,CAAC;QACL,CAAC,CAAC,CAAC;QACH,8DAA2B,CAAC,uBAAuB,CAAC,GAAG,CACnD,CAAC,IAAU,EAAE,EAAE;YACX,MAAM,KAAK,GAAa,WAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;oBACzC,OAAO,CAAC,wBAAwB;gBACpC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAChD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC7C,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACtD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACvD,CAAC,CACJ,CAAC;IACN,CAAC;CACJ;AA/CD,wDA+CC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Player } from "@tabletop-playground/api";
|
|
2
|
+
import { IGlobal } from "../global/i-global";
|
|
3
|
+
/**
|
|
4
|
+
* Global content menu item to leave seat. Move to an unused slot, NOT the
|
|
5
|
+
* spectator slot (spectators cannot interact, preventing them from clicking
|
|
6
|
+
* any "take seat" buttons).
|
|
7
|
+
*/
|
|
8
|
+
export declare class LeaveSeat implements IGlobal {
|
|
9
|
+
static readonly CUSTOM_ACTION_NAME = "* Leave seat";
|
|
10
|
+
private static readonly _customActionHandler;
|
|
11
|
+
init(): void;
|
|
12
|
+
/**
|
|
13
|
+
* Move player to an "unused" slot, meaning no existing player NOR any
|
|
14
|
+
* object's owning player slot.
|
|
15
|
+
*
|
|
16
|
+
* @param player
|
|
17
|
+
*/
|
|
18
|
+
static leaveSeat(player: Player): boolean;
|
|
19
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LeaveSeat = void 0;
|
|
4
|
+
const api_1 = require("@tabletop-playground/api");
|
|
5
|
+
/**
|
|
6
|
+
* Global content menu item to leave seat. Move to an unused slot, NOT the
|
|
7
|
+
* spectator slot (spectators cannot interact, preventing them from clicking
|
|
8
|
+
* any "take seat" buttons).
|
|
9
|
+
*/
|
|
10
|
+
class LeaveSeat {
|
|
11
|
+
init() {
|
|
12
|
+
const tooltip = "Switch to non-seat player slot";
|
|
13
|
+
api_1.world.removeCustomAction(LeaveSeat.CUSTOM_ACTION_NAME);
|
|
14
|
+
api_1.world.addCustomAction(LeaveSeat.CUSTOM_ACTION_NAME, tooltip);
|
|
15
|
+
api_1.globalEvents.onCustomAction.remove(LeaveSeat._customActionHandler);
|
|
16
|
+
api_1.globalEvents.onCustomAction.add(LeaveSeat._customActionHandler);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Move player to an "unused" slot, meaning no existing player NOR any
|
|
20
|
+
* object's owning player slot.
|
|
21
|
+
*
|
|
22
|
+
* @param player
|
|
23
|
+
*/
|
|
24
|
+
static leaveSeat(player) {
|
|
25
|
+
const busy = new Set();
|
|
26
|
+
for (const player of api_1.world.getAllPlayers()) {
|
|
27
|
+
busy.add(player.getSlot());
|
|
28
|
+
}
|
|
29
|
+
const skipContained = false;
|
|
30
|
+
for (const obj of api_1.world.getAllObjects(skipContained)) {
|
|
31
|
+
busy.add(obj.getOwningPlayerSlot());
|
|
32
|
+
}
|
|
33
|
+
for (let i = 0; i < 20; i++) {
|
|
34
|
+
if (!busy.has(i)) {
|
|
35
|
+
console.log(`LeaveSeat: moving "${player.getName()}" to open slot ${i}`);
|
|
36
|
+
player.switchSlot(i);
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
console.log("LeaveSeat: no available player slot");
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.LeaveSeat = LeaveSeat;
|
|
45
|
+
LeaveSeat.CUSTOM_ACTION_NAME = "* Leave seat";
|
|
46
|
+
LeaveSeat._customActionHandler = (player, identifier) => {
|
|
47
|
+
if (identifier === LeaveSeat.CUSTOM_ACTION_NAME) {
|
|
48
|
+
LeaveSeat.leaveSeat(player);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=leave-seat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"leave-seat.js","sourceRoot":"","sources":["../../../../src/lib/context-menu/leave-seat.ts"],"names":[],"mappings":";;;AAAA,kDAAuE;AAGvE;;;;GAIG;AACH,MAAa,SAAS;IAWX,IAAI;QACP,MAAM,OAAO,GAAW,gCAAgC,CAAC;QACzD,WAAK,CAAC,kBAAkB,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QACvD,WAAK,CAAC,eAAe,CAAC,SAAS,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QAE7D,kBAAY,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACnE,kBAAY,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;IACpE,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,MAAc;QAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,MAAM,IAAI,WAAK,CAAC,aAAa,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/B,CAAC;QACD,MAAM,aAAa,GAAG,KAAK,CAAC;QAC5B,KAAK,MAAM,GAAG,IAAI,WAAK,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CACP,sBAAsB,MAAM,CAAC,OAAO,EAAE,kBAAkB,CAAC,EAAE,CAC9D,CAAC;gBACF,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACrB,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO,KAAK,CAAC;IACjB,CAAC;;AA9CL,8BA+CC;AA9C0B,4BAAkB,GAAG,cAAc,CAAC;AACnC,8BAAoB,GAAG,CAC3C,MAAc,EACd,UAAkB,EACpB,EAAE;IACA,IAAI,UAAU,KAAK,SAAS,CAAC,kBAAkB,EAAE,CAAC;QAC9C,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global events trigger when either:
|
|
3
|
+
*
|
|
4
|
+
* 1. A singleton card gets added to a deck/second card.
|
|
5
|
+
*
|
|
6
|
+
* 2. A singleton card gets fromved from a deck.
|
|
7
|
+
*
|
|
8
|
+
* 3. A deck has its second-last card removed, making that deck a singleton.
|
|
9
|
+
*
|
|
10
|
+
* Scripts may wish to offer content menu items for singleton cards, but
|
|
11
|
+
* not when they become a deck (or vice versa).
|
|
12
|
+
*
|
|
13
|
+
* If one adds a listener during global init, it will be called next frame with
|
|
14
|
+
* with in-game singleton cards and decks.
|
|
15
|
+
*/
|
|
16
|
+
import { Card, GameObject, Player } from "@tabletop-playground/api";
|
|
17
|
+
import { TriggerableMulticastDelegate } from "./triggerable-multicast-delegate";
|
|
18
|
+
import { IGlobal } from "../global/i-global";
|
|
19
|
+
export declare class OnCardBecameSingletonOrDeck implements IGlobal {
|
|
20
|
+
static readonly onSingletonCardCreated: TriggerableMulticastDelegate<(card: Card, player?: Player) => void>;
|
|
21
|
+
static readonly onSingletonCardMadeDeck: TriggerableMulticastDelegate<(card: Card, oldNsid: string, player?: Player) => void>;
|
|
22
|
+
private static readonly _onInsertedHandler;
|
|
23
|
+
static _onRemovedHandler: (deck: Card, removedCard: Card, position: number, player?: Player) => void;
|
|
24
|
+
static _onCreatedHandler: (obj: GameObject) => void;
|
|
25
|
+
/**
|
|
26
|
+
* Remove and (re)install handlers. Safe to call multiple times.
|
|
27
|
+
*/
|
|
28
|
+
init(): void;
|
|
29
|
+
static _reset(): void;
|
|
30
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Global events trigger when either:
|
|
4
|
+
*
|
|
5
|
+
* 1. A singleton card gets added to a deck/second card.
|
|
6
|
+
*
|
|
7
|
+
* 2. A singleton card gets fromved from a deck.
|
|
8
|
+
*
|
|
9
|
+
* 3. A deck has its second-last card removed, making that deck a singleton.
|
|
10
|
+
*
|
|
11
|
+
* Scripts may wish to offer content menu items for singleton cards, but
|
|
12
|
+
* not when they become a deck (or vice versa).
|
|
13
|
+
*
|
|
14
|
+
* If one adds a listener during global init, it will be called next frame with
|
|
15
|
+
* with in-game singleton cards and decks.
|
|
16
|
+
*/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.OnCardBecameSingletonOrDeck = void 0;
|
|
19
|
+
const api_1 = require("@tabletop-playground/api");
|
|
20
|
+
const triggerable_multicast_delegate_1 = require("./triggerable-multicast-delegate");
|
|
21
|
+
const nsid_1 = require("../nsid/nsid");
|
|
22
|
+
class OnCardBecameSingletonOrDeck {
|
|
23
|
+
/**
|
|
24
|
+
* Remove and (re)install handlers. Safe to call multiple times.
|
|
25
|
+
*/
|
|
26
|
+
init() {
|
|
27
|
+
api_1.globalEvents.onObjectCreated.add(OnCardBecameSingletonOrDeck._onCreatedHandler);
|
|
28
|
+
const skipContained = false;
|
|
29
|
+
for (const obj of api_1.world.getAllObjects(skipContained)) {
|
|
30
|
+
OnCardBecameSingletonOrDeck._onCreatedHandler(obj);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
static _reset() {
|
|
34
|
+
api_1.globalEvents.onObjectCreated.remove(OnCardBecameSingletonOrDeck._onCreatedHandler);
|
|
35
|
+
OnCardBecameSingletonOrDeck.onSingletonCardCreated.clear();
|
|
36
|
+
OnCardBecameSingletonOrDeck.onSingletonCardMadeDeck.clear();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.OnCardBecameSingletonOrDeck = OnCardBecameSingletonOrDeck;
|
|
40
|
+
OnCardBecameSingletonOrDeck.onSingletonCardCreated = new triggerable_multicast_delegate_1.TriggerableMulticastDelegate();
|
|
41
|
+
OnCardBecameSingletonOrDeck.onSingletonCardMadeDeck = new triggerable_multicast_delegate_1.TriggerableMulticastDelegate();
|
|
42
|
+
OnCardBecameSingletonOrDeck._onInsertedHandler = (deck, insertedCard, position, player) => {
|
|
43
|
+
// This handler is only installed on singleton cards, and other card(s)
|
|
44
|
+
// have already been added to deck before calling this. So remove
|
|
45
|
+
// this handler, and signal the card is now a deck.
|
|
46
|
+
process.nextTick(() => {
|
|
47
|
+
if (deck.isValid() && deck.getStackSize() > 1) {
|
|
48
|
+
deck.onInserted.remove(OnCardBecameSingletonOrDeck._onInsertedHandler);
|
|
49
|
+
deck.onRemoved.remove(OnCardBecameSingletonOrDeck._onRemovedHandler);
|
|
50
|
+
deck.onRemoved.add(OnCardBecameSingletonOrDeck._onRemovedHandler);
|
|
51
|
+
// Tested in TTPG, with face up and down decks.
|
|
52
|
+
const nsids = nsid_1.NSID.getDeck(deck);
|
|
53
|
+
const oldNsid = nsids[position === 1 ? 0 : nsids.length - 1];
|
|
54
|
+
if (oldNsid === undefined) {
|
|
55
|
+
throw new Error("missing oldNsid");
|
|
56
|
+
}
|
|
57
|
+
OnCardBecameSingletonOrDeck.onSingletonCardMadeDeck.trigger(deck, oldNsid, player);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
OnCardBecameSingletonOrDeck._onRemovedHandler = (deck, removedCard, position, player) => {
|
|
62
|
+
// Called after card is removed.
|
|
63
|
+
// Removed card get seen by the onCreated handler.
|
|
64
|
+
process.nextTick(() => {
|
|
65
|
+
if (deck.getStackSize() === 1) {
|
|
66
|
+
deck.onRemoved.remove(OnCardBecameSingletonOrDeck._onRemovedHandler);
|
|
67
|
+
deck.onInserted.remove(OnCardBecameSingletonOrDeck._onInsertedHandler);
|
|
68
|
+
deck.onInserted.add(OnCardBecameSingletonOrDeck._onInsertedHandler);
|
|
69
|
+
OnCardBecameSingletonOrDeck.onSingletonCardCreated.trigger(deck, player);
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
};
|
|
73
|
+
OnCardBecameSingletonOrDeck._onCreatedHandler = (obj) => {
|
|
74
|
+
if (!(obj instanceof api_1.Card)) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
// Strange things happen when making a deck. Wait a frame then see.
|
|
78
|
+
process.nextTick(() => {
|
|
79
|
+
if (!obj.isValid()) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
if (obj.getStackSize() > 1) {
|
|
83
|
+
// deck
|
|
84
|
+
obj.onRemoved.remove(OnCardBecameSingletonOrDeck._onRemovedHandler);
|
|
85
|
+
obj.onRemoved.add(OnCardBecameSingletonOrDeck._onRemovedHandler);
|
|
86
|
+
const oldNsid = nsid_1.NSID.getDeck(obj)[0];
|
|
87
|
+
if (oldNsid === undefined) {
|
|
88
|
+
throw new Error("missing oldNsid");
|
|
89
|
+
}
|
|
90
|
+
OnCardBecameSingletonOrDeck.onSingletonCardMadeDeck.trigger(obj, oldNsid);
|
|
91
|
+
}
|
|
92
|
+
else if (obj.getStackSize() === 1) {
|
|
93
|
+
// singleton card
|
|
94
|
+
obj.onInserted.remove(OnCardBecameSingletonOrDeck._onInsertedHandler);
|
|
95
|
+
obj.onInserted.add(OnCardBecameSingletonOrDeck._onInsertedHandler);
|
|
96
|
+
OnCardBecameSingletonOrDeck.onSingletonCardCreated.trigger(obj);
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
};
|
|
100
|
+
if (api_1.GameWorld.getExecutionReason() === "unittest") {
|
|
101
|
+
afterEach(() => OnCardBecameSingletonOrDeck._reset());
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=on-card-became-singleton-or-deck.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"on-card-became-singleton-or-deck.js","sourceRoot":"","sources":["../../../../src/lib/event/on-card-became-singleton-or-deck.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const on_card_became_singleton_or_deck_1 = require("./on-card-became-singleton-or-deck");
|
|
4
|
+
const nsid_1 = require("../nsid/nsid");
|
|
5
|
+
console.log("OnCardBecameSingletonOrDeck reporter");
|
|
6
|
+
new on_card_became_singleton_or_deck_1.OnCardBecameSingletonOrDeck().init();
|
|
7
|
+
on_card_became_singleton_or_deck_1.OnCardBecameSingletonOrDeck.onSingletonCardCreated.add((card) => {
|
|
8
|
+
const nsid = nsid_1.NSID.get(card);
|
|
9
|
+
console.log(`onSingletonCardCreated: [${nsid}]`);
|
|
10
|
+
});
|
|
11
|
+
on_card_became_singleton_or_deck_1.OnCardBecameSingletonOrDeck.onSingletonCardMadeDeck.add((card, oldNsid) => {
|
|
12
|
+
const nsids = nsid_1.NSID.getDeck(card);
|
|
13
|
+
console.log(`onSingletonCardMadeDeck: [${nsids.join(", ")}], oldNsid: "${oldNsid}"`);
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=on-card-became-singleton-or-deck.testp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"on-card-became-singleton-or-deck.testp.js","sourceRoot":"","sources":["../../../../src/lib/event/on-card-became-singleton-or-deck.testp.ts"],"names":[],"mappings":";;AACA,yFAAiF;AACjF,uCAAoC;AAEpC,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;AAEpD,IAAI,8DAA2B,EAAE,CAAC,IAAI,EAAE,CAAC;AAEzC,8DAA2B,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,IAAU,EAAE,EAAE;IAClE,MAAM,IAAI,GAAW,WAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,GAAG,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;AAEH,8DAA2B,CAAC,uBAAuB,CAAC,GAAG,CACnD,CAAC,IAAU,EAAE,OAAe,EAAE,EAAE;IAC5B,MAAM,KAAK,GAAa,WAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CACP,6BAA6B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,OAAO,GAAG,CAC1E,CAAC;AACN,CAAC,CACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Player } from "@tabletop-playground/api";
|
|
2
|
+
export declare class ThrottleClickHandler<T> {
|
|
3
|
+
static readonly THROTTLE_MSECS = 500;
|
|
4
|
+
private readonly _playerSlotToLastClickMsecs;
|
|
5
|
+
private readonly _clickHandler;
|
|
6
|
+
private readonly _throttledHandler;
|
|
7
|
+
constructor(clickHandler: (button: T, player: Player) => void);
|
|
8
|
+
get(): (button: T, player: Player) => void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ThrottleClickHandler = void 0;
|
|
4
|
+
class ThrottleClickHandler {
|
|
5
|
+
constructor(clickHandler) {
|
|
6
|
+
this._playerSlotToLastClickMsecs = {};
|
|
7
|
+
this._throttledHandler = (button, player) => {
|
|
8
|
+
const playerSlot = player.getSlot();
|
|
9
|
+
const lastClickMsecs = this._playerSlotToLastClickMsecs[playerSlot];
|
|
10
|
+
// Throttle if same player clicked again too soon.
|
|
11
|
+
const nowMsecs = Date.now();
|
|
12
|
+
if (lastClickMsecs &&
|
|
13
|
+
nowMsecs < lastClickMsecs + ThrottleClickHandler.THROTTLE_MSECS) {
|
|
14
|
+
console.log("ThrottleClickHandler: throttled");
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
this._playerSlotToLastClickMsecs[playerSlot] = nowMsecs;
|
|
18
|
+
this._clickHandler(button, player);
|
|
19
|
+
};
|
|
20
|
+
this._clickHandler = clickHandler;
|
|
21
|
+
}
|
|
22
|
+
get() {
|
|
23
|
+
return this._throttledHandler;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.ThrottleClickHandler = ThrottleClickHandler;
|
|
27
|
+
ThrottleClickHandler.THROTTLE_MSECS = 500;
|
|
28
|
+
//# sourceMappingURL=throttle-click-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"throttle-click-handler.js","sourceRoot":"","sources":["../../../../src/lib/event/throttle-click-handler.ts"],"names":[],"mappings":";;;AAEA,MAAa,oBAAoB;IAyB7B,YAAY,YAAiD;QAtB5C,gCAA2B,GACxC,EAAE,CAAC;QAGU,sBAAiB,GAAG,CAAC,MAAS,EAAE,MAAc,EAAQ,EAAE;YACrE,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YACpC,MAAM,cAAc,GAAG,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC;YAEpE,kDAAkD;YAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC5B,IACI,cAAc;gBACd,QAAQ,GAAG,cAAc,GAAG,oBAAoB,CAAC,cAAc,EACjE,CAAC;gBACC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;gBAC/C,OAAO;YACX,CAAC;YACD,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;YAExD,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC,CAAC;QAGE,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACtC,CAAC;IAED,GAAG;QACC,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAClC,CAAC;;AA/BL,oDAgCC;AA/B0B,mCAAc,GAAG,GAAG,AAAN,CAAO"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lookalike for TTPG's MulticastDelegate, but with a trigger method.
|
|
3
|
+
*/
|
|
4
|
+
export declare class TriggerableMulticastDelegate<T extends (...args: any[]) => any> {
|
|
5
|
+
private readonly _listeners;
|
|
6
|
+
/**
|
|
7
|
+
* Add a function to the trigger set.
|
|
8
|
+
*
|
|
9
|
+
* @param fn
|
|
10
|
+
*/
|
|
11
|
+
add(fn: T): void;
|
|
12
|
+
/**
|
|
13
|
+
* Remove a function from the trigger set.
|
|
14
|
+
*
|
|
15
|
+
* @param fn
|
|
16
|
+
*/
|
|
17
|
+
remove(fn: T): void;
|
|
18
|
+
/**
|
|
19
|
+
* Clear the trigger set.
|
|
20
|
+
*/
|
|
21
|
+
clear(): void;
|
|
22
|
+
/**
|
|
23
|
+
* Call every function in the trigger set.
|
|
24
|
+
*
|
|
25
|
+
* Call every function even if one throws, raise gathered errors at end.
|
|
26
|
+
*
|
|
27
|
+
* @param args
|
|
28
|
+
*/
|
|
29
|
+
trigger(...args: Parameters<T>): void;
|
|
30
|
+
}
|