@almadar/std 16.152.0 → 16.154.0
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/behaviors/lolo/infra/atoms/std-data-erasure.lolo +5 -1
- package/behaviors/lolo/ui/core/atoms/std-browse.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-emoji-picker.lolo +56 -0
- package/behaviors/lolo/ui/core/molecules/ui-popover.lolo +39 -0
- package/behaviors/lolo/ui/core/molecules/ui-table-view.lolo +11 -0
- package/behaviors/lolo/ui/game/atoms/ui-draw-sprite.lolo +2 -2
- package/behaviors/lolo/ui/game/molecules/std-crew-board-2d.lolo +4 -4
- package/behaviors/lolo/ui/game/molecules/std-dungeon-board-2d.lolo +6 -6
- package/behaviors/lolo/ui/game/molecules/std-tactics-board-2d.lolo +41 -9
- package/behaviors/lolo/ui/game/molecules/std-worldmap-board-2d.lolo +2 -2
- package/behaviors/lolo/ui/game/molecules/ui-canvas-2d.lolo +11 -1
- package/behaviors/lolo/ui/game/molecules/ui-canvas.lolo +10 -0
- package/behaviors/lolo/ui/game/organisms/ui-arena-board.lolo +2 -2
- package/behaviors/lolo/ui/game/organisms/ui-battle-board.lolo +110 -7
- package/behaviors/lolo/ui/game/organisms/ui-builder-board.lolo +5 -20
- package/behaviors/lolo/ui/game/organisms/ui-card-battler-board.lolo +2 -0
- package/behaviors/lolo/ui/game/organisms/ui-castle-board.lolo +3 -3
- package/behaviors/lolo/ui/game/organisms/ui-city-builder-board.lolo +9 -7
- package/behaviors/lolo/ui/game/organisms/ui-fishing-board.lolo +8 -8
- package/behaviors/lolo/ui/game/organisms/ui-grid-tactics-demo-board.lolo +2 -2
- package/behaviors/lolo/ui/game/organisms/ui-hex-strategy-board.lolo +5 -1
- package/behaviors/lolo/ui/game/organisms/ui-holiday-runner-board.lolo +1 -1
- package/behaviors/lolo/ui/game/organisms/ui-minigolf-board.lolo +22 -22
- package/behaviors/lolo/ui/game/organisms/ui-physics-sandbox-board.lolo +5 -5
- package/behaviors/lolo/ui/game/organisms/ui-pinball-board.lolo +7 -7
- package/behaviors/lolo/ui/game/organisms/ui-pirate-board.lolo +14 -14
- package/behaviors/lolo/ui/game/organisms/ui-platformer-board.lolo +4 -0
- package/behaviors/lolo/ui/game/organisms/ui-roguelike-board.lolo +5 -5
- package/behaviors/lolo/ui/game/organisms/ui-sokoban-board.lolo +5 -5
- package/behaviors/lolo/ui/game/organisms/ui-sports-board.lolo +10 -7
- package/behaviors/lolo/ui/game/organisms/ui-state-architect-board.lolo +4 -4
- package/behaviors/lolo/ui/game/organisms/ui-tactics-demo-2d.lolo +7 -3
- package/behaviors/lolo/ui/game/organisms/ui-tanks-board.lolo +5 -1
- package/behaviors/lolo/ui/game/organisms/ui-topdown-rts-board.lolo +5 -1
- package/behaviors/lolo/ui/game/organisms/ui-tower-defense-board.lolo +8 -8
- package/behaviors/lolo/ui/game/organisms/ui-uncontrolled-battle-board.lolo +5 -5
- package/behaviors/lolo/ui/game/organisms/ui-winter-ski-board.lolo +7 -7
- package/behaviors/lolo/ui/game/organisms/ui-world-map-board.lolo +3 -3
- package/behaviors/registry/factory-signatures.json +6211 -2181
- package/behaviors/registry/infra/atoms/std-approval-gate.orb +16 -8
- package/behaviors/registry/infra/atoms/std-cache-aside.orb +62 -31
- package/behaviors/registry/infra/atoms/std-circuit-breaker.orb +32 -16
- package/behaviors/registry/infra/atoms/std-data-erasure.orb +17 -9
- package/behaviors/registry/infra/atoms/std-mod-queue.orb +16 -8
- package/behaviors/registry/infra/atoms/std-rate-limiter.orb +28 -14
- package/behaviors/registry/ml/molecules/std-escalating-decision.orb +10 -5
- package/behaviors/registry/ml/molecules/std-knowledge-tracing.orb +4 -2
- package/behaviors/registry/ui/core/atoms/std-billable-hour.orb +2 -1
- package/behaviors/registry/ui/core/atoms/std-browse.orb +4 -0
- package/behaviors/registry/ui/core/atoms/std-dashboard-grid-embedded.orb +2 -1
- package/behaviors/registry/ui/core/atoms/std-esign-flow.orb +4 -2
- package/behaviors/registry/ui/core/atoms/std-esign-request.orb +6 -3
- package/behaviors/registry/ui/core/atoms/std-gallery.orb +18 -9
- package/behaviors/registry/ui/core/atoms/std-import.orb +4 -2
- package/behaviors/registry/ui/core/molecules/ui-emoji-picker.orb +214 -0
- package/behaviors/registry/ui/core/molecules/ui-popover.orb +112 -1
- package/behaviors/registry/ui/core/molecules/ui-table-view.orb +44 -0
- package/behaviors/registry/ui/game/atoms/std-arcade-flow.orb +1 -0
- package/behaviors/registry/ui/game/atoms/std-arcade-play.orb +1 -0
- package/behaviors/registry/ui/game/atoms/std-chase-ai.orb +1 -0
- package/behaviors/registry/ui/game/atoms/std-dungeon-combat.orb +1 -0
- package/behaviors/registry/ui/game/atoms/std-fx-particles.orb +1 -0
- package/behaviors/registry/ui/game/atoms/std-gather.orb +1 -0
- package/behaviors/registry/ui/game/atoms/std-gold.orb +1 -0
- package/behaviors/registry/ui/game/atoms/std-grid-tactics.orb +1 -0
- package/behaviors/registry/ui/game/atoms/std-hero-nav.orb +1 -0
- package/behaviors/registry/ui/game/atoms/std-market-flow.orb +1 -0
- package/behaviors/registry/ui/game/atoms/std-objective-flow.orb +1 -0
- package/behaviors/registry/ui/game/atoms/std-objective-reach.orb +1 -0
- package/behaviors/registry/ui/game/atoms/std-patience.orb +1 -0
- package/behaviors/registry/ui/game/atoms/std-production.orb +1 -0
- package/behaviors/registry/ui/game/atoms/std-round-flow.orb +1 -0
- package/behaviors/registry/ui/game/atoms/std-score.orb +1 -0
- package/behaviors/registry/ui/game/atoms/std-survival-flow.orb +1 -0
- package/behaviors/registry/ui/game/atoms/std-xp.orb +1 -0
- package/behaviors/registry/ui/game/atoms/ui-draw-sprite.orb +2 -2
- package/behaviors/registry/ui/game/molecules/std-crew-board-2d.orb +10 -12
- package/behaviors/registry/ui/game/molecules/std-dungeon-board-2d.orb +15 -18
- package/behaviors/registry/ui/game/molecules/std-tactics-board-2d.orb +860 -138
- package/behaviors/registry/ui/game/molecules/std-worldmap-board-2d.orb +4 -54
- package/behaviors/registry/ui/game/molecules/ui-canvas-2d.orb +16 -1
- package/behaviors/registry/ui/game/molecules/ui-canvas.orb +14 -0
- package/behaviors/registry/ui/game/organisms/ui-arena-board.orb +5 -6
- package/behaviors/registry/ui/game/organisms/ui-battle-board.orb +86 -99
- package/behaviors/registry/ui/game/organisms/ui-builder-board.orb +21 -226
- package/behaviors/registry/ui/game/organisms/ui-card-battler-board.orb +42 -0
- package/behaviors/registry/ui/game/organisms/ui-castle-board.orb +30 -9
- package/behaviors/registry/ui/game/organisms/ui-city-builder-board.orb +49 -0
- package/behaviors/registry/ui/game/organisms/ui-fishing-board.orb +16 -16
- package/behaviors/registry/ui/game/organisms/ui-grid-tactics-demo-board.orb +5 -6
- package/behaviors/registry/ui/game/organisms/ui-hex-strategy-board.orb +30 -10
- package/behaviors/registry/ui/game/organisms/ui-holiday-runner-board.orb +2 -3
- package/behaviors/registry/ui/game/organisms/ui-minigolf-board.orb +55 -11
- package/behaviors/registry/ui/game/organisms/ui-physics-sandbox-board.orb +10 -10
- package/behaviors/registry/ui/game/organisms/ui-pinball-board.orb +8 -8
- package/behaviors/registry/ui/game/organisms/ui-pirate-board.orb +14 -0
- package/behaviors/registry/ui/game/organisms/ui-platformer-board.orb +72 -0
- package/behaviors/registry/ui/game/organisms/ui-roguelike-board.orb +10 -10
- package/behaviors/registry/ui/game/organisms/ui-sokoban-board.orb +10 -10
- package/behaviors/registry/ui/game/organisms/ui-sports-board.orb +60 -0
- package/behaviors/registry/ui/game/organisms/ui-state-architect-board.orb +8 -8
- package/behaviors/registry/ui/game/organisms/ui-tactics-demo-2d.orb +48 -28
- package/behaviors/registry/ui/game/organisms/ui-tanks-board.orb +30 -10
- package/behaviors/registry/ui/game/organisms/ui-topdown-rts-board.orb +31 -12
- package/behaviors/registry/ui/game/organisms/ui-tower-defense-board.orb +8 -0
- package/behaviors/registry/ui/game/organisms/ui-uncontrolled-battle-board.orb +5 -0
- package/behaviors/registry/ui/game/organisms/ui-winter-ski-board.orb +14 -14
- package/behaviors/registry/ui/game/organisms/ui-world-map-board.orb +8 -12
- package/dist/behaviors/behaviors-embeddings.json +384 -380
- package/dist/behaviors/behaviors-registry.json +594 -57
- package/dist/behaviors/exports-reader.js +3409 -3101
- package/dist/behaviors/functions/index.d.ts +596 -5
- package/dist/behaviors/functions/index.js +3389 -3102
- package/dist/behaviors/index.d.ts +1 -1
- package/dist/behaviors/index.js +3410 -3102
- package/dist/behaviors/knob-embeddings.json +1 -1
- package/dist/behaviors/query.js +3409 -3101
- package/dist/behaviors/registry/factory-signatures.json +6211 -2181
- package/dist/behaviors/registry/infra/atoms/std-approval-gate.orb +16 -8
- package/dist/behaviors/registry/infra/atoms/std-cache-aside.orb +62 -31
- package/dist/behaviors/registry/infra/atoms/std-circuit-breaker.orb +32 -16
- package/dist/behaviors/registry/infra/atoms/std-data-erasure.orb +17 -9
- package/dist/behaviors/registry/infra/atoms/std-mod-queue.orb +16 -8
- package/dist/behaviors/registry/infra/atoms/std-rate-limiter.orb +28 -14
- package/dist/behaviors/registry/ml/molecules/std-escalating-decision.orb +10 -5
- package/dist/behaviors/registry/ml/molecules/std-knowledge-tracing.orb +4 -2
- package/dist/behaviors/registry/ui/core/atoms/std-billable-hour.orb +2 -1
- package/dist/behaviors/registry/ui/core/atoms/std-browse.orb +4 -0
- package/dist/behaviors/registry/ui/core/atoms/std-dashboard-grid-embedded.orb +2 -1
- package/dist/behaviors/registry/ui/core/atoms/std-esign-flow.orb +4 -2
- package/dist/behaviors/registry/ui/core/atoms/std-esign-request.orb +6 -3
- package/dist/behaviors/registry/ui/core/atoms/std-gallery.orb +18 -9
- package/dist/behaviors/registry/ui/core/atoms/std-import.orb +4 -2
- package/dist/behaviors/registry/ui/core/molecules/ui-emoji-picker.orb +214 -0
- package/dist/behaviors/registry/ui/core/molecules/ui-popover.orb +112 -1
- package/dist/behaviors/registry/ui/core/molecules/ui-table-view.orb +44 -0
- package/dist/behaviors/registry/ui/game/atoms/std-arcade-flow.orb +1 -0
- package/dist/behaviors/registry/ui/game/atoms/std-arcade-play.orb +1 -0
- package/dist/behaviors/registry/ui/game/atoms/std-chase-ai.orb +1 -0
- package/dist/behaviors/registry/ui/game/atoms/std-dungeon-combat.orb +1 -0
- package/dist/behaviors/registry/ui/game/atoms/std-fx-particles.orb +1 -0
- package/dist/behaviors/registry/ui/game/atoms/std-gather.orb +1 -0
- package/dist/behaviors/registry/ui/game/atoms/std-gold.orb +1 -0
- package/dist/behaviors/registry/ui/game/atoms/std-grid-tactics.orb +1 -0
- package/dist/behaviors/registry/ui/game/atoms/std-hero-nav.orb +1 -0
- package/dist/behaviors/registry/ui/game/atoms/std-market-flow.orb +1 -0
- package/dist/behaviors/registry/ui/game/atoms/std-objective-flow.orb +1 -0
- package/dist/behaviors/registry/ui/game/atoms/std-objective-reach.orb +1 -0
- package/dist/behaviors/registry/ui/game/atoms/std-patience.orb +1 -0
- package/dist/behaviors/registry/ui/game/atoms/std-production.orb +1 -0
- package/dist/behaviors/registry/ui/game/atoms/std-round-flow.orb +1 -0
- package/dist/behaviors/registry/ui/game/atoms/std-score.orb +1 -0
- package/dist/behaviors/registry/ui/game/atoms/std-survival-flow.orb +1 -0
- package/dist/behaviors/registry/ui/game/atoms/std-xp.orb +1 -0
- package/dist/behaviors/registry/ui/game/atoms/ui-draw-sprite.orb +2 -2
- package/dist/behaviors/registry/ui/game/molecules/std-crew-board-2d.orb +10 -12
- package/dist/behaviors/registry/ui/game/molecules/std-dungeon-board-2d.orb +15 -18
- package/dist/behaviors/registry/ui/game/molecules/std-tactics-board-2d.orb +860 -138
- package/dist/behaviors/registry/ui/game/molecules/std-worldmap-board-2d.orb +4 -54
- package/dist/behaviors/registry/ui/game/molecules/ui-canvas-2d.orb +16 -1
- package/dist/behaviors/registry/ui/game/molecules/ui-canvas.orb +14 -0
- package/dist/behaviors/registry/ui/game/organisms/ui-arena-board.orb +5 -6
- package/dist/behaviors/registry/ui/game/organisms/ui-battle-board.orb +86 -99
- package/dist/behaviors/registry/ui/game/organisms/ui-builder-board.orb +21 -226
- package/dist/behaviors/registry/ui/game/organisms/ui-card-battler-board.orb +42 -0
- package/dist/behaviors/registry/ui/game/organisms/ui-castle-board.orb +30 -9
- package/dist/behaviors/registry/ui/game/organisms/ui-city-builder-board.orb +49 -0
- package/dist/behaviors/registry/ui/game/organisms/ui-fishing-board.orb +16 -16
- package/dist/behaviors/registry/ui/game/organisms/ui-grid-tactics-demo-board.orb +5 -6
- package/dist/behaviors/registry/ui/game/organisms/ui-hex-strategy-board.orb +30 -10
- package/dist/behaviors/registry/ui/game/organisms/ui-holiday-runner-board.orb +2 -3
- package/dist/behaviors/registry/ui/game/organisms/ui-minigolf-board.orb +55 -11
- package/dist/behaviors/registry/ui/game/organisms/ui-physics-sandbox-board.orb +10 -10
- package/dist/behaviors/registry/ui/game/organisms/ui-pinball-board.orb +8 -8
- package/dist/behaviors/registry/ui/game/organisms/ui-pirate-board.orb +14 -0
- package/dist/behaviors/registry/ui/game/organisms/ui-platformer-board.orb +72 -0
- package/dist/behaviors/registry/ui/game/organisms/ui-roguelike-board.orb +10 -10
- package/dist/behaviors/registry/ui/game/organisms/ui-sokoban-board.orb +10 -10
- package/dist/behaviors/registry/ui/game/organisms/ui-sports-board.orb +60 -0
- package/dist/behaviors/registry/ui/game/organisms/ui-state-architect-board.orb +8 -8
- package/dist/behaviors/registry/ui/game/organisms/ui-tactics-demo-2d.orb +48 -28
- package/dist/behaviors/registry/ui/game/organisms/ui-tanks-board.orb +30 -10
- package/dist/behaviors/registry/ui/game/organisms/ui-topdown-rts-board.orb +31 -12
- package/dist/behaviors/registry/ui/game/organisms/ui-tower-defense-board.orb +8 -0
- package/dist/behaviors/registry/ui/game/organisms/ui-uncontrolled-battle-board.orb +5 -0
- package/dist/behaviors/registry/ui/game/organisms/ui-winter-ski-board.orb +14 -14
- package/dist/behaviors/registry/ui/game/organisms/ui-world-map-board.orb +8 -12
- package/dist/behaviors-embeddings.json +384 -380
- package/dist/behaviors-registry.json +594 -57
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3410 -3102
- package/dist/knob-embeddings.json +1 -1
- package/dist/registry/factory-signatures.json +6211 -2181
- package/package.json +2 -2
|
@@ -127,7 +127,7 @@ orbital FishingBoardOrbital {
|
|
|
127
127
|
addons: { type: stack, direction: vertical, gap: sm, children: [ { type: button, action: CAST, label: "Cast", iconAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_drop.png", role: "ui", category: "ui", animations: ["static"], style: "vector", variant: "", dimension: "2d", aspect: "1:1", name: "icon-cast", thumbnailUrl: "" }, variant: primary }, { type: button, action: REEL, label: "Reel", iconAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.json", sprite: "rotate_cw.png", role: "ui", category: "ui", animations: ["static"], style: "vector", variant: "", dimension: "2d", aspect: "1:1", name: "icon-reel", thumbnailUrl: "" }, variant: primary } ] }
|
|
128
128
|
children: [ { type: canvas, camera: { zoom: (math/min 1 (/ 5 (+ 1 (math/max (array/max @config.tiles "x") (array/max @config.tiles "y"))))), pos: { x: (/ (+ (array/min @config.tiles "x") (array/max @config.tiles "x")) 2), y: (/ (+ (array/min @config.tiles "y") (array/max @config.tiles "y")) 2) } }, projection: "flat", showMinimap: false, children: [
|
|
129
129
|
{ type: draw-shape-layer, items: (array/map @config.tiles (fn t { type: draw-shape, shape: "cell", position: { x: (object/get @t x), y: (object/get @t y) }, fill: "#5c94fc", stroke: "rgba(255,255,255,0.35)", strokeWidth: 1 })) }
|
|
130
|
-
{ type: draw-sprite-layer, items: (array/map @config.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite), anchor: "center", width:
|
|
130
|
+
{ type: draw-sprite-layer, items: (array/map @config.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite), anchor: "center", width: 1, height: 1 })) }
|
|
131
131
|
{ type: draw-sprite-layer, items: (array/map @config.features (fn f { type: draw-sprite, position: { x: (object/get @f x), y: (object/get @f y) }, asset: (object/get @f sprite), anchor: "center", width: 0.5, height: 0.5 })) }
|
|
132
132
|
{ type: draw-sprite-layer, items: (array/map @entity.units (fn u { type: draw-sprite, position: (object/get @u position), asset: (object/get @u sprite), anchor: "ground", width: 0.5, height: 0.5 })) }
|
|
133
133
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: (object/get @u position), anchor: "ground", offsetX: -0.25, offsetY: -0.6, width: 0.5, height: 0.12, fill: "rgba(0,0,0,0.6)" })) }
|
|
@@ -149,7 +149,7 @@ orbital FishingBoardOrbital {
|
|
|
149
149
|
addons: { type: stack, direction: vertical, gap: sm, children: [ { type: button, action: CAST, label: "Cast", iconAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_drop.png", role: "ui", category: "ui", animations: ["static"], style: "vector", variant: "", dimension: "2d", aspect: "1:1", name: "icon-cast", thumbnailUrl: "" }, variant: primary }, { type: button, action: REEL, label: "Reel", iconAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.json", sprite: "rotate_cw.png", role: "ui", category: "ui", animations: ["static"], style: "vector", variant: "", dimension: "2d", aspect: "1:1", name: "icon-reel", thumbnailUrl: "" }, variant: primary } ] }
|
|
150
150
|
children: [ { type: canvas, camera: { zoom: (math/min 1 (/ 5 (+ 1 (math/max (array/max @config.tiles "x") (array/max @config.tiles "y"))))), pos: { x: (/ (+ (array/min @config.tiles "x") (array/max @config.tiles "x")) 2), y: (/ (+ (array/min @config.tiles "y") (array/max @config.tiles "y")) 2) } }, projection: "flat", showMinimap: false, children: [
|
|
151
151
|
{ type: draw-shape-layer, items: (array/map @config.tiles (fn t { type: draw-shape, shape: "cell", position: { x: (object/get @t x), y: (object/get @t y) }, fill: "#5c94fc", stroke: "rgba(255,255,255,0.35)", strokeWidth: 1 })) }
|
|
152
|
-
{ type: draw-sprite-layer, items: (array/map @config.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite), anchor: "center", width:
|
|
152
|
+
{ type: draw-sprite-layer, items: (array/map @config.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite), anchor: "center", width: 1, height: 1 })) }
|
|
153
153
|
{ type: draw-sprite-layer, items: (array/map @config.features (fn f { type: draw-sprite, position: { x: (object/get @f x), y: (object/get @f y) }, asset: (object/get @f sprite), anchor: "center", width: 0.5, height: 0.5 })) }
|
|
154
154
|
{ type: draw-sprite-layer, items: (array/map @entity.units (fn u { type: draw-sprite, position: (object/get @u position), asset: (object/get @u sprite), anchor: "ground", width: 0.5, height: 0.5 })) }
|
|
155
155
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: (object/get @u position), anchor: "ground", offsetX: -0.25, offsetY: -0.6, width: 0.5, height: 0.12, fill: "rgba(0,0,0,0.6)" })) }
|
|
@@ -176,7 +176,7 @@ orbital FishingBoardOrbital {
|
|
|
176
176
|
addons: { type: stack, direction: vertical, gap: sm, children: [ { type: button, action: CAST, label: "Cast", iconAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_drop.png", role: "ui", category: "ui", animations: ["static"], style: "vector", variant: "", dimension: "2d", aspect: "1:1", name: "icon-cast", thumbnailUrl: "" }, variant: primary }, { type: button, action: REEL, label: "Reel", iconAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.json", sprite: "rotate_cw.png", role: "ui", category: "ui", animations: ["static"], style: "vector", variant: "", dimension: "2d", aspect: "1:1", name: "icon-reel", thumbnailUrl: "" }, variant: primary } ] }
|
|
177
177
|
children: [ { type: canvas, camera: { zoom: (math/min 1 (/ 5 (+ 1 (math/max (array/max @config.tiles "x") (array/max @config.tiles "y"))))), pos: { x: (/ (+ (array/min @config.tiles "x") (array/max @config.tiles "x")) 2), y: (/ (+ (array/min @config.tiles "y") (array/max @config.tiles "y")) 2) } }, projection: "flat", showMinimap: false, children: [
|
|
178
178
|
{ type: draw-shape-layer, items: (array/map @config.tiles (fn t { type: draw-shape, shape: "cell", position: { x: (object/get @t x), y: (object/get @t y) }, fill: "#5c94fc", stroke: "rgba(255,255,255,0.35)", strokeWidth: 1 })) }
|
|
179
|
-
{ type: draw-sprite-layer, items: (array/map @config.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite), anchor: "center", width:
|
|
179
|
+
{ type: draw-sprite-layer, items: (array/map @config.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite), anchor: "center", width: 1, height: 1 })) }
|
|
180
180
|
{ type: draw-sprite-layer, items: (array/map @config.features (fn f { type: draw-sprite, position: { x: (object/get @f x), y: (object/get @f y) }, asset: (object/get @f sprite), anchor: "center", width: 0.5, height: 0.5 })) }
|
|
181
181
|
{ type: draw-sprite-layer, items: (array/map @entity.units (fn u { type: draw-sprite, position: (object/get @u position), asset: (object/get @u sprite), anchor: "ground", width: 0.5, height: 0.5 })) }
|
|
182
182
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: (object/get @u position), anchor: "ground", offsetX: -0.25, offsetY: -0.6, width: 0.5, height: 0.12, fill: "rgba(0,0,0,0.6)" })) }
|
|
@@ -196,7 +196,7 @@ orbital FishingBoardOrbital {
|
|
|
196
196
|
overlay: { type: game-menu, title: "VICTORY", subtitle: (str/concat "Full net! Score: " @entity.score), options: [ { id: "again", label: "Play Again", event: "PLAY_AGAIN", variant: "primary" } ] }
|
|
197
197
|
children: [ { type: canvas, camera: { zoom: (math/min 1 (/ 5 (+ 1 (math/max (array/max @config.tiles "x") (array/max @config.tiles "y"))))), pos: { x: (/ (+ (array/min @config.tiles "x") (array/max @config.tiles "x")) 2), y: (/ (+ (array/min @config.tiles "y") (array/max @config.tiles "y")) 2) } }, projection: "flat", showMinimap: false, children: [
|
|
198
198
|
{ type: draw-shape-layer, items: (array/map @config.tiles (fn t { type: draw-shape, shape: "cell", position: { x: (object/get @t x), y: (object/get @t y) }, fill: "#5c94fc", stroke: "rgba(255,255,255,0.35)", strokeWidth: 1 })) }
|
|
199
|
-
{ type: draw-sprite-layer, items: (array/map @config.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite), anchor: "center", width:
|
|
199
|
+
{ type: draw-sprite-layer, items: (array/map @config.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite), anchor: "center", width: 1, height: 1 })) }
|
|
200
200
|
{ type: draw-sprite-layer, items: (array/map @config.features (fn f { type: draw-sprite, position: { x: (object/get @f x), y: (object/get @f y) }, asset: (object/get @f sprite), anchor: "center", width: 0.5, height: 0.5 })) }
|
|
201
201
|
{ type: draw-sprite-layer, items: (array/map @entity.units (fn u { type: draw-sprite, position: (object/get @u position), asset: (object/get @u sprite), anchor: "ground", width: 0.5, height: 0.5 })) }
|
|
202
202
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: (object/get @u position), anchor: "ground", offsetX: -0.25, offsetY: -0.6, width: 0.5, height: 0.12, fill: "rgba(0,0,0,0.6)" })) }
|
|
@@ -224,7 +224,7 @@ orbital FishingBoardOrbital {
|
|
|
224
224
|
addons: { type: stack, direction: vertical, gap: sm, children: [ { type: button, action: CAST, label: "Cast", iconAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_drop.png", role: "ui", category: "ui", animations: ["static"], style: "vector", variant: "", dimension: "2d", aspect: "1:1", name: "icon-cast", thumbnailUrl: "" }, variant: primary }, { type: button, action: REEL, label: "Reel", iconAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.json", sprite: "rotate_cw.png", role: "ui", category: "ui", animations: ["static"], style: "vector", variant: "", dimension: "2d", aspect: "1:1", name: "icon-reel", thumbnailUrl: "" }, variant: primary } ] }
|
|
225
225
|
children: [ { type: canvas, camera: { zoom: (math/min 1 (/ 5 (+ 1 (math/max (array/max @config.tiles "x") (array/max @config.tiles "y"))))), pos: { x: (/ (+ (array/min @config.tiles "x") (array/max @config.tiles "x")) 2), y: (/ (+ (array/min @config.tiles "y") (array/max @config.tiles "y")) 2) } }, projection: "flat", showMinimap: false, children: [
|
|
226
226
|
{ type: draw-shape-layer, items: (array/map @config.tiles (fn t { type: draw-shape, shape: "cell", position: { x: (object/get @t x), y: (object/get @t y) }, fill: "#5c94fc", stroke: "rgba(255,255,255,0.35)", strokeWidth: 1 })) }
|
|
227
|
-
{ type: draw-sprite-layer, items: (array/map @config.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite), anchor: "center", width:
|
|
227
|
+
{ type: draw-sprite-layer, items: (array/map @config.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite), anchor: "center", width: 1, height: 1 })) }
|
|
228
228
|
{ type: draw-sprite-layer, items: (array/map @config.features (fn f { type: draw-sprite, position: { x: (object/get @f x), y: (object/get @f y) }, asset: (object/get @f sprite), anchor: "center", width: 0.5, height: 0.5 })) }
|
|
229
229
|
{ type: draw-sprite-layer, items: (array/map @entity.units (fn u { type: draw-sprite, position: (object/get @u position), asset: (object/get @u sprite), anchor: "ground", width: 0.5, height: 0.5 })) }
|
|
230
230
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: (object/get @u position), anchor: "ground", offsetX: -0.25, offsetY: -0.6, width: 0.5, height: 0.12, fill: "rgba(0,0,0,0.6)" })) }
|
|
@@ -251,7 +251,7 @@ orbital FishingBoardOrbital {
|
|
|
251
251
|
addons: { type: stack, direction: vertical, gap: sm, children: [ { type: button, action: CAST, label: "Cast", iconAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_drop.png", role: "ui", category: "ui", animations: ["static"], style: "vector", variant: "", dimension: "2d", aspect: "1:1", name: "icon-cast", thumbnailUrl: "" }, variant: primary }, { type: button, action: REEL, label: "Reel", iconAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.json", sprite: "rotate_cw.png", role: "ui", category: "ui", animations: ["static"], style: "vector", variant: "", dimension: "2d", aspect: "1:1", name: "icon-reel", thumbnailUrl: "" }, variant: primary } ] }
|
|
252
252
|
children: [ { type: canvas, camera: { zoom: (math/min 1 (/ 5 (+ 1 (math/max (array/max @config.tiles "x") (array/max @config.tiles "y"))))), pos: { x: (/ (+ (array/min @config.tiles "x") (array/max @config.tiles "x")) 2), y: (/ (+ (array/min @config.tiles "y") (array/max @config.tiles "y")) 2) } }, projection: "flat", showMinimap: false, children: [
|
|
253
253
|
{ type: draw-shape-layer, items: (array/map @config.tiles (fn t { type: draw-shape, shape: "cell", position: { x: (object/get @t x), y: (object/get @t y) }, fill: "#5c94fc", stroke: "rgba(255,255,255,0.35)", strokeWidth: 1 })) }
|
|
254
|
-
{ type: draw-sprite-layer, items: (array/map @config.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite), anchor: "center", width:
|
|
254
|
+
{ type: draw-sprite-layer, items: (array/map @config.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite), anchor: "center", width: 1, height: 1 })) }
|
|
255
255
|
{ type: draw-sprite-layer, items: (array/map @config.features (fn f { type: draw-sprite, position: { x: (object/get @f x), y: (object/get @f y) }, asset: (object/get @f sprite), anchor: "center", width: 0.5, height: 0.5 })) }
|
|
256
256
|
{ type: draw-sprite-layer, items: (array/map @entity.units (fn u { type: draw-sprite, position: (object/get @u position), asset: (object/get @u sprite), anchor: "ground", width: 0.5, height: 0.5 })) }
|
|
257
257
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: (object/get @u position), anchor: "ground", offsetX: -0.25, offsetY: -0.6, width: 0.5, height: 0.12, fill: "rgba(0,0,0,0.6)" })) }
|
|
@@ -275,7 +275,7 @@ orbital FishingBoardOrbital {
|
|
|
275
275
|
addons: { type: stack, direction: vertical, gap: sm, children: [ { type: button, action: CAST, label: "Cast", iconAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_drop.png", role: "ui", category: "ui", animations: ["static"], style: "vector", variant: "", dimension: "2d", aspect: "1:1", name: "icon-cast", thumbnailUrl: "" }, variant: primary }, { type: button, action: REEL, label: "Reel", iconAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.json", sprite: "rotate_cw.png", role: "ui", category: "ui", animations: ["static"], style: "vector", variant: "", dimension: "2d", aspect: "1:1", name: "icon-reel", thumbnailUrl: "" }, variant: primary } ] }
|
|
276
276
|
children: [ { type: canvas, camera: { zoom: (math/min 1 (/ 5 (+ 1 (math/max (array/max @config.tiles "x") (array/max @config.tiles "y"))))), pos: { x: (/ (+ (array/min @config.tiles "x") (array/max @config.tiles "x")) 2), y: (/ (+ (array/min @config.tiles "y") (array/max @config.tiles "y")) 2) } }, projection: "flat", showMinimap: false, children: [
|
|
277
277
|
{ type: draw-shape-layer, items: (array/map @config.tiles (fn t { type: draw-shape, shape: "cell", position: { x: (object/get @t x), y: (object/get @t y) }, fill: "#5c94fc", stroke: "rgba(255,255,255,0.35)", strokeWidth: 1 })) }
|
|
278
|
-
{ type: draw-sprite-layer, items: (array/map @config.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite), anchor: "center", width:
|
|
278
|
+
{ type: draw-sprite-layer, items: (array/map @config.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite), anchor: "center", width: 1, height: 1 })) }
|
|
279
279
|
{ type: draw-sprite-layer, items: (array/map @config.features (fn f { type: draw-sprite, position: { x: (object/get @f x), y: (object/get @f y) }, asset: (object/get @f sprite), anchor: "center", width: 0.5, height: 0.5 })) }
|
|
280
280
|
{ type: draw-sprite-layer, items: (array/map @entity.units (fn u { type: draw-sprite, position: (object/get @u position), asset: (object/get @u sprite), anchor: "ground", width: 0.5, height: 0.5 })) }
|
|
281
281
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: (object/get @u position), anchor: "ground", offsetX: -0.25, offsetY: -0.6, width: 0.5, height: 0.12, fill: "rgba(0,0,0,0.6)" })) }
|
|
@@ -295,7 +295,7 @@ orbital FishingBoardOrbital {
|
|
|
295
295
|
addons: { type: stack, direction: vertical, gap: sm, children: [ { type: button, action: CAST, label: "Cast", iconAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_drop.png", role: "ui", category: "ui", animations: ["static"], style: "vector", variant: "", dimension: "2d", aspect: "1:1", name: "icon-cast", thumbnailUrl: "" }, variant: primary }, { type: button, action: REEL, label: "Reel", iconAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.json", sprite: "rotate_cw.png", role: "ui", category: "ui", animations: ["static"], style: "vector", variant: "", dimension: "2d", aspect: "1:1", name: "icon-reel", thumbnailUrl: "" }, variant: primary } ] }
|
|
296
296
|
children: [ { type: canvas, camera: { zoom: (math/min 1 (/ 5 (+ 1 (math/max (array/max @config.tiles "x") (array/max @config.tiles "y"))))), pos: { x: (/ (+ (array/min @config.tiles "x") (array/max @config.tiles "x")) 2), y: (/ (+ (array/min @config.tiles "y") (array/max @config.tiles "y")) 2) } }, projection: "flat", showMinimap: false, children: [
|
|
297
297
|
{ type: draw-shape-layer, items: (array/map @config.tiles (fn t { type: draw-shape, shape: "cell", position: { x: (object/get @t x), y: (object/get @t y) }, fill: "#5c94fc", stroke: "rgba(255,255,255,0.35)", strokeWidth: 1 })) }
|
|
298
|
-
{ type: draw-sprite-layer, items: (array/map @config.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite), anchor: "center", width:
|
|
298
|
+
{ type: draw-sprite-layer, items: (array/map @config.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite), anchor: "center", width: 1, height: 1 })) }
|
|
299
299
|
{ type: draw-sprite-layer, items: (array/map @config.features (fn f { type: draw-sprite, position: { x: (object/get @f x), y: (object/get @f y) }, asset: (object/get @f sprite), anchor: "center", width: 0.5, height: 0.5 })) }
|
|
300
300
|
{ type: draw-sprite-layer, items: (array/map @entity.units (fn u { type: draw-sprite, position: (object/get @u position), asset: (object/get @u sprite), anchor: "ground", width: 0.5, height: 0.5 })) }
|
|
301
301
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: (object/get @u position), anchor: "ground", offsetX: -0.25, offsetY: -0.6, width: 0.5, height: 0.12, fill: "rgba(0,0,0,0.6)" })) }
|
|
@@ -53,7 +53,7 @@ orbital GridTacticsDemoOrbital {
|
|
|
53
53
|
type: game-shell
|
|
54
54
|
hud: { type: game-hud, stats: [ { label: "Result", value: @entity.result }, { label: "Phase", value: @entity.uiPhase }, { label: "Selected", value: @entity.selectedUnitId } ] }
|
|
55
55
|
addons: { type: stack, direction: vertical, gap: sm, children: [ { type: button, action: END_TURN, label: "End Turn", variant: primary }, { type: button, action: CANCEL, label: "Cancel", variant: secondary } ] }
|
|
56
|
-
children: [ { type: canvas, projection: "flat", showMinimap: false, tileClickEvent: TILE_CLICK, unitClickEvent: UNIT_CLICK, children: [
|
|
56
|
+
children: [ { type: canvas, fit: true, projection: "flat", showMinimap: false, tileClickEvent: TILE_CLICK, unitClickEvent: UNIT_CLICK, children: [
|
|
57
57
|
{ type: draw-shape-layer, items: (array/map @entity.tiles (fn t { type: draw-shape, shape: "cell", position: { x: (object/get @t x), y: (object/get @t y) }, fill: (if (== (object/get @t passable) true) "rgba(148,163,184,0.15)" "rgba(51,65,85,0.75)") })) }
|
|
58
58
|
{ type: draw-shape-layer, items: (array/map @entity.validMoves (fn m { type: draw-shape, shape: "cell", position: { x: (object/get @m x), y: (object/get @m z) }, fill: "rgba(74,222,128,0.4)" })) }
|
|
59
59
|
{ type: draw-shape-layer, items: (array/map (array/filter @entity.units (fn u (== (object/get @u id) @entity.selectedUnitId))) (fn u { type: draw-shape, shape: "ellipse", position: (object/get @u position), radiusX: 0.5, radiusY: 0.2, stroke: "rgba(0,200,255,0.8)", strokeWidth: 3 })) }
|
|
@@ -101,7 +101,7 @@ orbital GridTacticsDemoOrbital {
|
|
|
101
101
|
type: game-shell
|
|
102
102
|
hud: { type: game-hud, stats: [ { label: "Result", value: @entity.result }, { label: "Phase", value: @entity.uiPhase }, { label: "Selected", value: @entity.selectedUnitId } ] }
|
|
103
103
|
addons: { type: stack, direction: vertical, gap: sm, children: [ { type: button, action: END_TURN, label: "End Turn", variant: primary }, { type: button, action: CANCEL, label: "Cancel", variant: secondary } ] }
|
|
104
|
-
children: [ { type: canvas, projection: "flat", showMinimap: false, tileClickEvent: TILE_CLICK, unitClickEvent: UNIT_CLICK, children: [
|
|
104
|
+
children: [ { type: canvas, fit: true, projection: "flat", showMinimap: false, tileClickEvent: TILE_CLICK, unitClickEvent: UNIT_CLICK, children: [
|
|
105
105
|
{ type: draw-shape-layer, items: (array/map @entity.tiles (fn t { type: draw-shape, shape: "cell", position: { x: (object/get @t x), y: (object/get @t y) }, fill: (if (== (object/get @t passable) true) "rgba(148,163,184,0.15)" "rgba(51,65,85,0.75)") })) }
|
|
106
106
|
{ type: draw-shape-layer, items: (array/map @entity.validMoves (fn m { type: draw-shape, shape: "cell", position: { x: (object/get @m x), y: (object/get @m z) }, fill: "rgba(74,222,128,0.4)" })) }
|
|
107
107
|
{ type: draw-shape-layer, items: (array/map (array/filter @entity.units (fn u (== (object/get @u id) @entity.selectedUnitId))) (fn u { type: draw-shape, shape: "ellipse", position: (object/get @u position), radiusX: 0.5, radiusY: 0.2, stroke: "rgba(0,200,255,0.8)", strokeWidth: 3 })) }
|
|
@@ -105,6 +105,10 @@ orbital HexStrategyBoardOrbital {
|
|
|
105
105
|
config { running: true, pointsPerKill: 10, startScore: 0, initialEnemies: 2 }
|
|
106
106
|
}
|
|
107
107
|
|
|
108
|
+
trait AnimClock = Frame.traits.AnimClock -> GameState {
|
|
109
|
+
config { frames: [] }
|
|
110
|
+
}
|
|
111
|
+
|
|
108
112
|
trait Player = Frame.traits.PlayerIntent -> GameState {
|
|
109
113
|
config {
|
|
110
114
|
gridWidth: 6
|
|
@@ -120,5 +124,5 @@ orbital HexStrategyBoardOrbital {
|
|
|
120
124
|
}
|
|
121
125
|
}
|
|
122
126
|
|
|
123
|
-
page "/hex-strategy-board" as HexStrategyBoardPage -> Authority, FxDecay, RoundLogic, ScoreKeeper, Player
|
|
127
|
+
page "/hex-strategy-board" as HexStrategyBoardPage -> Authority, FxDecay, RoundLogic, ScoreKeeper, Player, AnimClock
|
|
124
128
|
}
|
|
@@ -94,7 +94,7 @@ orbital HolidayRunnerBoardOrbital {
|
|
|
94
94
|
(set @entity.units @config.units)
|
|
95
95
|
(set @entity.distance 0)
|
|
96
96
|
(set @entity.score 0)
|
|
97
|
-
(set @entity.result "")
|
|
97
|
+
(set @entity.result "none")
|
|
98
98
|
(set @entity.effects [])
|
|
99
99
|
(set @entity.selectedUnitId "")
|
|
100
100
|
(set @entity.validMoves [])
|
|
@@ -125,9 +125,9 @@ orbital MinigolfBoardOrbital {
|
|
|
125
125
|
hudBackgroundAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-pack/ui/blueSheet.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-pack/ui/blueSheet.json", sprite: "blue_panel.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "panel-frame", thumbnailUrl: "" }
|
|
126
126
|
hud: { type: game-hud, stats: [ { label: "Hole", value: @entity.hole, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_circle.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-hole", thumbnailUrl: "" } }, { label: "Strokes", value: @entity.strokes, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_stars.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-strokes", thumbnailUrl: "" } }, { label: "Par", value: @entity.par, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_idea.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-par", thumbnailUrl: "" } }, { label: "Total", value: @entity.total, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_bars.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-total", thumbnailUrl: "" } } ] }
|
|
127
127
|
controls: { type: control-grid, kind: "dpad", directionEvents: { up: "PUTT_UP", down: "PUTT_DOWN", left: "PUTT_LEFT", right: "PUTT_RIGHT" }, directionAssets: { up: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "30,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-up", thumbnailUrl: "" }, down: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "32,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-down", thumbnailUrl: "" }, left: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "33,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-left", thumbnailUrl: "" }, right: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "31,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-right", thumbnailUrl: "" } } }
|
|
128
|
-
children: [ { type: canvas, camera: { zoom: @config.scale }, projection: "isometric", showMinimap: false, tileClickEvent: TILE_CLICK, unitClickEvent: UNIT_CLICK, keyMap: { ArrowUp: "PUTT_UP", KeyW: "PUTT_UP", ArrowDown: "PUTT_DOWN", KeyS: "PUTT_DOWN", ArrowLeft: "PUTT_LEFT", KeyA: "PUTT_LEFT", ArrowRight: "PUTT_RIGHT", KeyD: "PUTT_RIGHT" }, children: [
|
|
128
|
+
children: [ { type: canvas, fit: true, camera: { zoom: @config.scale }, projection: "isometric", showMinimap: false, tileClickEvent: TILE_CLICK, unitClickEvent: UNIT_CLICK, keyMap: { ArrowUp: "PUTT_UP", KeyW: "PUTT_UP", ArrowDown: "PUTT_DOWN", KeyS: "PUTT_DOWN", ArrowLeft: "PUTT_LEFT", KeyA: "PUTT_LEFT", ArrowRight: "PUTT_RIGHT", KeyD: "PUTT_RIGHT" }, children: [
|
|
129
129
|
{ type: draw-sprite-layer, items: (array/map @entity.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite) })) }
|
|
130
|
-
{ type: draw-sprite-layer, items: (array/filter (array/map @entity.units (fn u { type: draw-sprite, position: (object/get @u position), asset: (if (object/get (object/get @u modelUrl) url) (object/get @u modelUrl) (object/get (object/get @config.assetManifest units) (object/get @u unitType))), id: (object/get @u id) })) (fn s (object/get (object/get @s asset) url))) }
|
|
130
|
+
{ type: draw-sprite-layer, items: (array/filter (array/map @entity.units (fn u { type: draw-sprite, position: (object/get @u position), asset: (if (object/get (object/get @u modelUrl) url) (object/get @u modelUrl) (object/get (object/get @config.assetManifest units) (object/get @u unitType))), id: (object/get @u id), anchor: "center", width: 0.35, height: 0.35 })) (fn s (object/get (object/get @s asset) url))) }
|
|
131
131
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: (object/get @u position), offsetY: -0.6, width: 0.8, height: 0.12, fill: "rgba(0,0,0,0.6)" })) }
|
|
132
132
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: (object/get @u position), offsetY: -0.6, width: (* 0.8 (/ (object/get @u health) (object/get @u maxHealth))), height: 0.12, fill: "#22c55e" })) }
|
|
133
133
|
{ type: draw-text-layer, items: (array/map @entity.units (fn u { type: draw-text, text: (object/get @u name), position: (object/get @u position), offsetY: -0.85, color: "#ffffff" })) }
|
|
@@ -154,9 +154,9 @@ orbital MinigolfBoardOrbital {
|
|
|
154
154
|
hudBackgroundAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-pack/ui/blueSheet.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-pack/ui/blueSheet.json", sprite: "blue_panel.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "panel-frame", thumbnailUrl: "" }
|
|
155
155
|
hud: { type: game-hud, stats: [ { label: "Hole", value: @entity.hole, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_circle.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-hole", thumbnailUrl: "" } }, { label: "Strokes", value: @entity.strokes, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_stars.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-strokes", thumbnailUrl: "" } }, { label: "Par", value: @entity.par, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_idea.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-par", thumbnailUrl: "" } }, { label: "Total", value: @entity.total, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_bars.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-total", thumbnailUrl: "" } } ] }
|
|
156
156
|
controls: { type: control-grid, kind: "dpad", directionEvents: { up: "PUTT_UP", down: "PUTT_DOWN", left: "PUTT_LEFT", right: "PUTT_RIGHT" }, directionAssets: { up: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "30,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-up", thumbnailUrl: "" }, down: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "32,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-down", thumbnailUrl: "" }, left: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "33,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-left", thumbnailUrl: "" }, right: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "31,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-right", thumbnailUrl: "" } } }
|
|
157
|
-
children: [ { type: canvas, camera: { zoom: @config.scale }, projection: "isometric", showMinimap: false, tileClickEvent: TILE_CLICK, unitClickEvent: UNIT_CLICK, keyMap: { ArrowUp: "PUTT_UP", KeyW: "PUTT_UP", ArrowDown: "PUTT_DOWN", KeyS: "PUTT_DOWN", ArrowLeft: "PUTT_LEFT", KeyA: "PUTT_LEFT", ArrowRight: "PUTT_RIGHT", KeyD: "PUTT_RIGHT" }, children: [
|
|
157
|
+
children: [ { type: canvas, fit: true, camera: { zoom: @config.scale }, projection: "isometric", showMinimap: false, tileClickEvent: TILE_CLICK, unitClickEvent: UNIT_CLICK, keyMap: { ArrowUp: "PUTT_UP", KeyW: "PUTT_UP", ArrowDown: "PUTT_DOWN", KeyS: "PUTT_DOWN", ArrowLeft: "PUTT_LEFT", KeyA: "PUTT_LEFT", ArrowRight: "PUTT_RIGHT", KeyD: "PUTT_RIGHT" }, children: [
|
|
158
158
|
{ type: draw-sprite-layer, items: (array/map @entity.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite) })) }
|
|
159
|
-
{ type: draw-sprite-layer, items: (array/filter (array/map @entity.units (fn u { type: draw-sprite, position: (object/get @u position), asset: (if (object/get (object/get @u modelUrl) url) (object/get @u modelUrl) (object/get (object/get @config.assetManifest units) (object/get @u unitType))), id: (object/get @u id) })) (fn s (object/get (object/get @s asset) url))) }
|
|
159
|
+
{ type: draw-sprite-layer, items: (array/filter (array/map @entity.units (fn u { type: draw-sprite, position: (object/get @u position), asset: (if (object/get (object/get @u modelUrl) url) (object/get @u modelUrl) (object/get (object/get @config.assetManifest units) (object/get @u unitType))), id: (object/get @u id), anchor: "center", width: 0.35, height: 0.35 })) (fn s (object/get (object/get @s asset) url))) }
|
|
160
160
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: (object/get @u position), offsetY: -0.6, width: 0.8, height: 0.12, fill: "rgba(0,0,0,0.6)" })) }
|
|
161
161
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: (object/get @u position), offsetY: -0.6, width: (* 0.8 (/ (object/get @u health) (object/get @u maxHealth))), height: 0.12, fill: "#22c55e" })) }
|
|
162
162
|
{ type: draw-text-layer, items: (array/map @entity.units (fn u { type: draw-text, text: (object/get @u name), position: (object/get @u position), offsetY: -0.85, color: "#ffffff" })) }
|
|
@@ -183,9 +183,9 @@ orbital MinigolfBoardOrbital {
|
|
|
183
183
|
hudBackgroundAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-pack/ui/blueSheet.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-pack/ui/blueSheet.json", sprite: "blue_panel.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "panel-frame", thumbnailUrl: "" }
|
|
184
184
|
hud: { type: game-hud, stats: [ { label: "Hole", value: @entity.hole, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_circle.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-hole", thumbnailUrl: "" } }, { label: "Strokes", value: @entity.strokes, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_stars.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-strokes", thumbnailUrl: "" } }, { label: "Par", value: @entity.par, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_idea.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-par", thumbnailUrl: "" } }, { label: "Total", value: @entity.total, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_bars.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-total", thumbnailUrl: "" } } ] }
|
|
185
185
|
controls: { type: control-grid, kind: "dpad", directionEvents: { up: "PUTT_UP", down: "PUTT_DOWN", left: "PUTT_LEFT", right: "PUTT_RIGHT" }, directionAssets: { up: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "30,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-up", thumbnailUrl: "" }, down: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "32,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-down", thumbnailUrl: "" }, left: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "33,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-left", thumbnailUrl: "" }, right: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "31,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-right", thumbnailUrl: "" } } }
|
|
186
|
-
children: [ { type: canvas, camera: { zoom: @config.scale }, projection: "isometric", showMinimap: false, tileClickEvent: TILE_CLICK, unitClickEvent: UNIT_CLICK, keyMap: { ArrowUp: "PUTT_UP", KeyW: "PUTT_UP", ArrowDown: "PUTT_DOWN", KeyS: "PUTT_DOWN", ArrowLeft: "PUTT_LEFT", KeyA: "PUTT_LEFT", ArrowRight: "PUTT_RIGHT", KeyD: "PUTT_RIGHT" }, children: [
|
|
186
|
+
children: [ { type: canvas, fit: true, camera: { zoom: @config.scale }, projection: "isometric", showMinimap: false, tileClickEvent: TILE_CLICK, unitClickEvent: UNIT_CLICK, keyMap: { ArrowUp: "PUTT_UP", KeyW: "PUTT_UP", ArrowDown: "PUTT_DOWN", KeyS: "PUTT_DOWN", ArrowLeft: "PUTT_LEFT", KeyA: "PUTT_LEFT", ArrowRight: "PUTT_RIGHT", KeyD: "PUTT_RIGHT" }, children: [
|
|
187
187
|
{ type: draw-sprite-layer, items: (array/map @entity.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite) })) }
|
|
188
|
-
{ type: draw-sprite-layer, items: (array/filter (array/map @entity.units (fn u { type: draw-sprite, position: (object/get @u position), asset: (if (object/get (object/get @u modelUrl) url) (object/get @u modelUrl) (object/get (object/get @config.assetManifest units) (object/get @u unitType))), id: (object/get @u id) })) (fn s (object/get (object/get @s asset) url))) }
|
|
188
|
+
{ type: draw-sprite-layer, items: (array/filter (array/map @entity.units (fn u { type: draw-sprite, position: (object/get @u position), asset: (if (object/get (object/get @u modelUrl) url) (object/get @u modelUrl) (object/get (object/get @config.assetManifest units) (object/get @u unitType))), id: (object/get @u id), anchor: "center", width: 0.35, height: 0.35 })) (fn s (object/get (object/get @s asset) url))) }
|
|
189
189
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: (object/get @u position), offsetY: -0.6, width: 0.8, height: 0.12, fill: "rgba(0,0,0,0.6)" })) }
|
|
190
190
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: (object/get @u position), offsetY: -0.6, width: (* 0.8 (/ (object/get @u health) (object/get @u maxHealth))), height: 0.12, fill: "#22c55e" })) }
|
|
191
191
|
{ type: draw-text-layer, items: (array/map @entity.units (fn u { type: draw-text, text: (object/get @u name), position: (object/get @u position), offsetY: -0.85, color: "#ffffff" })) }
|
|
@@ -212,9 +212,9 @@ orbital MinigolfBoardOrbital {
|
|
|
212
212
|
hudBackgroundAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-pack/ui/blueSheet.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-pack/ui/blueSheet.json", sprite: "blue_panel.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "panel-frame", thumbnailUrl: "" }
|
|
213
213
|
hud: { type: game-hud, stats: [ { label: "Hole", value: @entity.hole, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_circle.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-hole", thumbnailUrl: "" } }, { label: "Strokes", value: @entity.strokes, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_stars.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-strokes", thumbnailUrl: "" } }, { label: "Par", value: @entity.par, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_idea.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-par", thumbnailUrl: "" } }, { label: "Total", value: @entity.total, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_bars.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-total", thumbnailUrl: "" } } ] }
|
|
214
214
|
controls: { type: control-grid, kind: "dpad", directionEvents: { up: "PUTT_UP", down: "PUTT_DOWN", left: "PUTT_LEFT", right: "PUTT_RIGHT" }, directionAssets: { up: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "30,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-up", thumbnailUrl: "" }, down: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "32,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-down", thumbnailUrl: "" }, left: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "33,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-left", thumbnailUrl: "" }, right: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "31,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-right", thumbnailUrl: "" } } }
|
|
215
|
-
children: [ { type: canvas, camera: { zoom: @config.scale }, projection: "isometric", showMinimap: false, tileClickEvent: TILE_CLICK, unitClickEvent: UNIT_CLICK, keyMap: { ArrowUp: "PUTT_UP", KeyW: "PUTT_UP", ArrowDown: "PUTT_DOWN", KeyS: "PUTT_DOWN", ArrowLeft: "PUTT_LEFT", KeyA: "PUTT_LEFT", ArrowRight: "PUTT_RIGHT", KeyD: "PUTT_RIGHT" }, children: [
|
|
215
|
+
children: [ { type: canvas, fit: true, camera: { zoom: @config.scale }, projection: "isometric", showMinimap: false, tileClickEvent: TILE_CLICK, unitClickEvent: UNIT_CLICK, keyMap: { ArrowUp: "PUTT_UP", KeyW: "PUTT_UP", ArrowDown: "PUTT_DOWN", KeyS: "PUTT_DOWN", ArrowLeft: "PUTT_LEFT", KeyA: "PUTT_LEFT", ArrowRight: "PUTT_RIGHT", KeyD: "PUTT_RIGHT" }, children: [
|
|
216
216
|
{ type: draw-sprite-layer, items: (array/map @entity.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite) })) }
|
|
217
|
-
{ type: draw-sprite-layer, items: (array/filter (array/map @entity.units (fn u { type: draw-sprite, position: (object/get @u position), asset: (if (object/get (object/get @u modelUrl) url) (object/get @u modelUrl) (object/get (object/get @config.assetManifest units) (object/get @u unitType))), id: (object/get @u id) })) (fn s (object/get (object/get @s asset) url))) }
|
|
217
|
+
{ type: draw-sprite-layer, items: (array/filter (array/map @entity.units (fn u { type: draw-sprite, position: (object/get @u position), asset: (if (object/get (object/get @u modelUrl) url) (object/get @u modelUrl) (object/get (object/get @config.assetManifest units) (object/get @u unitType))), id: (object/get @u id), anchor: "center", width: 0.35, height: 0.35 })) (fn s (object/get (object/get @s asset) url))) }
|
|
218
218
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: (object/get @u position), offsetY: -0.6, width: 0.8, height: 0.12, fill: "rgba(0,0,0,0.6)" })) }
|
|
219
219
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: (object/get @u position), offsetY: -0.6, width: (* 0.8 (/ (object/get @u health) (object/get @u maxHealth))), height: 0.12, fill: "#22c55e" })) }
|
|
220
220
|
{ type: draw-text-layer, items: (array/map @entity.units (fn u { type: draw-text, text: (object/get @u name), position: (object/get @u position), offsetY: -0.85, color: "#ffffff" })) }
|
|
@@ -241,9 +241,9 @@ orbital MinigolfBoardOrbital {
|
|
|
241
241
|
hudBackgroundAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-pack/ui/blueSheet.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-pack/ui/blueSheet.json", sprite: "blue_panel.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "panel-frame", thumbnailUrl: "" }
|
|
242
242
|
hud: { type: game-hud, stats: [ { label: "Hole", value: @entity.hole, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_circle.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-hole", thumbnailUrl: "" } }, { label: "Strokes", value: @entity.strokes, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_stars.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-strokes", thumbnailUrl: "" } }, { label: "Par", value: @entity.par, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_idea.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-par", thumbnailUrl: "" } }, { label: "Total", value: @entity.total, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_bars.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-total", thumbnailUrl: "" } } ] }
|
|
243
243
|
controls: { type: control-grid, kind: "dpad", directionEvents: { up: "PUTT_UP", down: "PUTT_DOWN", left: "PUTT_LEFT", right: "PUTT_RIGHT" }, directionAssets: { up: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "30,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-up", thumbnailUrl: "" }, down: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "32,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-down", thumbnailUrl: "" }, left: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "33,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-left", thumbnailUrl: "" }, right: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "31,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-right", thumbnailUrl: "" } } }
|
|
244
|
-
children: [ { type: canvas, camera: { zoom: @config.scale }, projection: "isometric", showMinimap: false, tileClickEvent: TILE_CLICK, unitClickEvent: UNIT_CLICK, keyMap: { ArrowUp: "PUTT_UP", KeyW: "PUTT_UP", ArrowDown: "PUTT_DOWN", KeyS: "PUTT_DOWN", ArrowLeft: "PUTT_LEFT", KeyA: "PUTT_LEFT", ArrowRight: "PUTT_RIGHT", KeyD: "PUTT_RIGHT" }, children: [
|
|
244
|
+
children: [ { type: canvas, fit: true, camera: { zoom: @config.scale }, projection: "isometric", showMinimap: false, tileClickEvent: TILE_CLICK, unitClickEvent: UNIT_CLICK, keyMap: { ArrowUp: "PUTT_UP", KeyW: "PUTT_UP", ArrowDown: "PUTT_DOWN", KeyS: "PUTT_DOWN", ArrowLeft: "PUTT_LEFT", KeyA: "PUTT_LEFT", ArrowRight: "PUTT_RIGHT", KeyD: "PUTT_RIGHT" }, children: [
|
|
245
245
|
{ type: draw-sprite-layer, items: (array/map @entity.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite) })) }
|
|
246
|
-
{ type: draw-sprite-layer, items: (array/filter (array/map @entity.units (fn u { type: draw-sprite, position: (object/get @u position), asset: (if (object/get (object/get @u modelUrl) url) (object/get @u modelUrl) (object/get (object/get @config.assetManifest units) (object/get @u unitType))), id: (object/get @u id) })) (fn s (object/get (object/get @s asset) url))) }
|
|
246
|
+
{ type: draw-sprite-layer, items: (array/filter (array/map @entity.units (fn u { type: draw-sprite, position: (object/get @u position), asset: (if (object/get (object/get @u modelUrl) url) (object/get @u modelUrl) (object/get (object/get @config.assetManifest units) (object/get @u unitType))), id: (object/get @u id), anchor: "center", width: 0.35, height: 0.35 })) (fn s (object/get (object/get @s asset) url))) }
|
|
247
247
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: (object/get @u position), offsetY: -0.6, width: 0.8, height: 0.12, fill: "rgba(0,0,0,0.6)" })) }
|
|
248
248
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: (object/get @u position), offsetY: -0.6, width: (* 0.8 (/ (object/get @u health) (object/get @u maxHealth))), height: 0.12, fill: "#22c55e" })) }
|
|
249
249
|
{ type: draw-text-layer, items: (array/map @entity.units (fn u { type: draw-text, text: (object/get @u name), position: (object/get @u position), offsetY: -0.85, color: "#ffffff" })) }
|
|
@@ -264,9 +264,9 @@ orbital MinigolfBoardOrbital {
|
|
|
264
264
|
hud: { type: game-hud, stats: [ { label: "Hole", value: @entity.hole, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_circle.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-hole", thumbnailUrl: "" } }, { label: "Strokes", value: @entity.strokes, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_stars.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-strokes", thumbnailUrl: "" } }, { label: "Par", value: @entity.par, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_idea.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-par", thumbnailUrl: "" } }, { label: "Total", value: @entity.total, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_bars.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-total", thumbnailUrl: "" } } ] }
|
|
265
265
|
addons: { type: stack, direction: vertical, gap: sm, children: [ { type: button, action: NEXT_HOLE, label: "Next Hole", iconAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-pack/ui/greySheet.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-pack/ui/greySheet.json", sprite: "grey_checkmarkWhite.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-next", thumbnailUrl: "" }, variant: primary }, { type: button, action: PLAY_AGAIN, label: "Reset", iconAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.json", sprite: "zoom_reset.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-reset", thumbnailUrl: "" }, variant: secondary } ] }
|
|
266
266
|
overlay: { type: game-menu, title: (str/concat (str/concat "HOLE " @entity.hole) " COMPLETE"), subtitle: (if (< @entity.strokes @entity.par) (str/concat (str/concat "" (- @entity.par @entity.strokes)) " under par") (if (> @entity.strokes @entity.par) (str/concat (str/concat "" (- @entity.strokes @entity.par)) " over par") "Even par")), options: [ { id: "next", label: "Next Hole", event: "NEXT_HOLE", variant: "primary" }, { id: "reset", label: "Reset", event: "PLAY_AGAIN", variant: "secondary" } ] }
|
|
267
|
-
children: [ { type: canvas, camera: { zoom: @config.scale }, projection: "isometric", showMinimap: false, tileClickEvent: TILE_CLICK, unitClickEvent: UNIT_CLICK, keyMap: { ArrowUp: "PUTT_UP", KeyW: "PUTT_UP", ArrowDown: "PUTT_DOWN", KeyS: "PUTT_DOWN", ArrowLeft: "PUTT_LEFT", KeyA: "PUTT_LEFT", ArrowRight: "PUTT_RIGHT", KeyD: "PUTT_RIGHT" }, children: [
|
|
267
|
+
children: [ { type: canvas, fit: true, camera: { zoom: @config.scale }, projection: "isometric", showMinimap: false, tileClickEvent: TILE_CLICK, unitClickEvent: UNIT_CLICK, keyMap: { ArrowUp: "PUTT_UP", KeyW: "PUTT_UP", ArrowDown: "PUTT_DOWN", KeyS: "PUTT_DOWN", ArrowLeft: "PUTT_LEFT", KeyA: "PUTT_LEFT", ArrowRight: "PUTT_RIGHT", KeyD: "PUTT_RIGHT" }, children: [
|
|
268
268
|
{ type: draw-sprite-layer, items: (array/map @entity.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite) })) }
|
|
269
|
-
{ type: draw-sprite-layer, items: (array/filter (array/map @entity.units (fn u { type: draw-sprite, position: (object/get @u position), asset: (if (object/get (object/get @u modelUrl) url) (object/get @u modelUrl) (object/get (object/get @config.assetManifest units) (object/get @u unitType))), id: (object/get @u id) })) (fn s (object/get (object/get @s asset) url))) }
|
|
269
|
+
{ type: draw-sprite-layer, items: (array/filter (array/map @entity.units (fn u { type: draw-sprite, position: (object/get @u position), asset: (if (object/get (object/get @u modelUrl) url) (object/get @u modelUrl) (object/get (object/get @config.assetManifest units) (object/get @u unitType))), id: (object/get @u id), anchor: "center", width: 0.35, height: 0.35 })) (fn s (object/get (object/get @s asset) url))) }
|
|
270
270
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: (object/get @u position), offsetY: -0.6, width: 0.8, height: 0.12, fill: "rgba(0,0,0,0.6)" })) }
|
|
271
271
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: (object/get @u position), offsetY: -0.6, width: (* 0.8 (/ (object/get @u health) (object/get @u maxHealth))), height: 0.12, fill: "#22c55e" })) }
|
|
272
272
|
{ type: draw-text-layer, items: (array/map @entity.units (fn u { type: draw-text, text: (object/get @u name), position: (object/get @u position), offsetY: -0.85, color: "#ffffff" })) }
|
|
@@ -282,9 +282,9 @@ orbital MinigolfBoardOrbital {
|
|
|
282
282
|
hud: { type: game-hud, stats: [ { label: "Hole", value: @entity.hole, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_circle.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-hole", thumbnailUrl: "" } }, { label: "Strokes", value: @entity.strokes, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_stars.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-strokes", thumbnailUrl: "" } }, { label: "Par", value: @entity.par, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_idea.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-par", thumbnailUrl: "" } }, { label: "Total", value: @entity.total, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_bars.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-total", thumbnailUrl: "" } } ] }
|
|
283
283
|
addons: { type: button, action: PLAY_AGAIN, label: "Play Again", iconAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.json", sprite: "zoom_reset.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-reset", thumbnailUrl: "" }, variant: primary }
|
|
284
284
|
overlay: { type: game-menu, title: "COURSE COMPLETE", subtitle: (if (< @entity.total @entity.totalPar) (str/concat (str/concat "" (- @entity.totalPar @entity.total)) " under par") (if (> @entity.total @entity.totalPar) (str/concat (str/concat "" (- @entity.total @entity.totalPar)) " over par") "Even par")), options: [ { id: "again", label: "Play Again", event: "PLAY_AGAIN", variant: "primary" } ] }
|
|
285
|
-
children: [ { type: canvas, camera: { zoom: @config.scale }, projection: "isometric", showMinimap: false, tileClickEvent: TILE_CLICK, unitClickEvent: UNIT_CLICK, keyMap: { ArrowUp: "PUTT_UP", KeyW: "PUTT_UP", ArrowDown: "PUTT_DOWN", KeyS: "PUTT_DOWN", ArrowLeft: "PUTT_LEFT", KeyA: "PUTT_LEFT", ArrowRight: "PUTT_RIGHT", KeyD: "PUTT_RIGHT" }, children: [
|
|
285
|
+
children: [ { type: canvas, fit: true, camera: { zoom: @config.scale }, projection: "isometric", showMinimap: false, tileClickEvent: TILE_CLICK, unitClickEvent: UNIT_CLICK, keyMap: { ArrowUp: "PUTT_UP", KeyW: "PUTT_UP", ArrowDown: "PUTT_DOWN", KeyS: "PUTT_DOWN", ArrowLeft: "PUTT_LEFT", KeyA: "PUTT_LEFT", ArrowRight: "PUTT_RIGHT", KeyD: "PUTT_RIGHT" }, children: [
|
|
286
286
|
{ type: draw-sprite-layer, items: (array/map @entity.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite) })) }
|
|
287
|
-
{ type: draw-sprite-layer, items: (array/filter (array/map @entity.units (fn u { type: draw-sprite, position: (object/get @u position), asset: (if (object/get (object/get @u modelUrl) url) (object/get @u modelUrl) (object/get (object/get @config.assetManifest units) (object/get @u unitType))), id: (object/get @u id) })) (fn s (object/get (object/get @s asset) url))) }
|
|
287
|
+
{ type: draw-sprite-layer, items: (array/filter (array/map @entity.units (fn u { type: draw-sprite, position: (object/get @u position), asset: (if (object/get (object/get @u modelUrl) url) (object/get @u modelUrl) (object/get (object/get @config.assetManifest units) (object/get @u unitType))), id: (object/get @u id), anchor: "center", width: 0.35, height: 0.35 })) (fn s (object/get (object/get @s asset) url))) }
|
|
288
288
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: (object/get @u position), offsetY: -0.6, width: 0.8, height: 0.12, fill: "rgba(0,0,0,0.6)" })) }
|
|
289
289
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: (object/get @u position), offsetY: -0.6, width: (* 0.8 (/ (object/get @u health) (object/get @u maxHealth))), height: 0.12, fill: "#22c55e" })) }
|
|
290
290
|
{ type: draw-text-layer, items: (array/map @entity.units (fn u { type: draw-text, text: (object/get @u name), position: (object/get @u position), offsetY: -0.85, color: "#ffffff" })) }
|
|
@@ -313,9 +313,9 @@ orbital MinigolfBoardOrbital {
|
|
|
313
313
|
hudBackgroundAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-pack/ui/blueSheet.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-pack/ui/blueSheet.json", sprite: "blue_panel.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "panel-frame", thumbnailUrl: "" }
|
|
314
314
|
hud: { type: game-hud, stats: [ { label: "Hole", value: @entity.hole, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_circle.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-hole", thumbnailUrl: "" } }, { label: "Strokes", value: @entity.strokes, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_stars.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-strokes", thumbnailUrl: "" } }, { label: "Par", value: @entity.par, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_idea.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-par", thumbnailUrl: "" } }, { label: "Total", value: @entity.total, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_bars.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-total", thumbnailUrl: "" } } ] }
|
|
315
315
|
controls: { type: control-grid, kind: "dpad", directionEvents: { up: "PUTT_UP", down: "PUTT_DOWN", left: "PUTT_LEFT", right: "PUTT_RIGHT" }, directionAssets: { up: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "30,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-up", thumbnailUrl: "" }, down: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "32,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-down", thumbnailUrl: "" }, left: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "33,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-left", thumbnailUrl: "" }, right: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "31,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-right", thumbnailUrl: "" } } }
|
|
316
|
-
children: [ { type: canvas, camera: { zoom: @config.scale }, projection: "isometric", showMinimap: false, tileClickEvent: TILE_CLICK, unitClickEvent: UNIT_CLICK, keyMap: { ArrowUp: "PUTT_UP", KeyW: "PUTT_UP", ArrowDown: "PUTT_DOWN", KeyS: "PUTT_DOWN", ArrowLeft: "PUTT_LEFT", KeyA: "PUTT_LEFT", ArrowRight: "PUTT_RIGHT", KeyD: "PUTT_RIGHT" }, children: [
|
|
316
|
+
children: [ { type: canvas, fit: true, camera: { zoom: @config.scale }, projection: "isometric", showMinimap: false, tileClickEvent: TILE_CLICK, unitClickEvent: UNIT_CLICK, keyMap: { ArrowUp: "PUTT_UP", KeyW: "PUTT_UP", ArrowDown: "PUTT_DOWN", KeyS: "PUTT_DOWN", ArrowLeft: "PUTT_LEFT", KeyA: "PUTT_LEFT", ArrowRight: "PUTT_RIGHT", KeyD: "PUTT_RIGHT" }, children: [
|
|
317
317
|
{ type: draw-sprite-layer, items: (array/map @entity.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite) })) }
|
|
318
|
-
{ type: draw-sprite-layer, items: (array/filter (array/map @entity.units (fn u { type: draw-sprite, position: (object/get @u position), asset: (if (object/get (object/get @u modelUrl) url) (object/get @u modelUrl) (object/get (object/get @config.assetManifest units) (object/get @u unitType))), id: (object/get @u id) })) (fn s (object/get (object/get @s asset) url))) }
|
|
318
|
+
{ type: draw-sprite-layer, items: (array/filter (array/map @entity.units (fn u { type: draw-sprite, position: (object/get @u position), asset: (if (object/get (object/get @u modelUrl) url) (object/get @u modelUrl) (object/get (object/get @config.assetManifest units) (object/get @u unitType))), id: (object/get @u id), anchor: "center", width: 0.35, height: 0.35 })) (fn s (object/get (object/get @s asset) url))) }
|
|
319
319
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: (object/get @u position), offsetY: -0.6, width: 0.8, height: 0.12, fill: "rgba(0,0,0,0.6)" })) }
|
|
320
320
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: (object/get @u position), offsetY: -0.6, width: (* 0.8 (/ (object/get @u health) (object/get @u maxHealth))), height: 0.12, fill: "#22c55e" })) }
|
|
321
321
|
{ type: draw-text-layer, items: (array/map @entity.units (fn u { type: draw-text, text: (object/get @u name), position: (object/get @u position), offsetY: -0.85, color: "#ffffff" })) }
|
|
@@ -343,9 +343,9 @@ orbital MinigolfBoardOrbital {
|
|
|
343
343
|
hudBackgroundAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-pack/ui/blueSheet.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-pack/ui/blueSheet.json", sprite: "blue_panel.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "panel-frame", thumbnailUrl: "" }
|
|
344
344
|
hud: { type: game-hud, stats: [ { label: "Hole", value: @entity.hole, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_circle.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-hole", thumbnailUrl: "" } }, { label: "Strokes", value: @entity.strokes, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_stars.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-strokes", thumbnailUrl: "" } }, { label: "Par", value: @entity.par, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_idea.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-par", thumbnailUrl: "" } }, { label: "Total", value: @entity.total, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_bars.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-total", thumbnailUrl: "" } } ] }
|
|
345
345
|
controls: { type: control-grid, kind: "dpad", directionEvents: { up: "PUTT_UP", down: "PUTT_DOWN", left: "PUTT_LEFT", right: "PUTT_RIGHT" }, directionAssets: { up: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "30,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-up", thumbnailUrl: "" }, down: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "32,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-down", thumbnailUrl: "" }, left: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "33,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-left", thumbnailUrl: "" }, right: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "31,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-right", thumbnailUrl: "" } } }
|
|
346
|
-
children: [ { type: canvas, camera: { zoom: @config.scale }, projection: "isometric", showMinimap: false, tileClickEvent: TILE_CLICK, unitClickEvent: UNIT_CLICK, keyMap: { ArrowUp: "PUTT_UP", KeyW: "PUTT_UP", ArrowDown: "PUTT_DOWN", KeyS: "PUTT_DOWN", ArrowLeft: "PUTT_LEFT", KeyA: "PUTT_LEFT", ArrowRight: "PUTT_RIGHT", KeyD: "PUTT_RIGHT" }, children: [
|
|
346
|
+
children: [ { type: canvas, fit: true, camera: { zoom: @config.scale }, projection: "isometric", showMinimap: false, tileClickEvent: TILE_CLICK, unitClickEvent: UNIT_CLICK, keyMap: { ArrowUp: "PUTT_UP", KeyW: "PUTT_UP", ArrowDown: "PUTT_DOWN", KeyS: "PUTT_DOWN", ArrowLeft: "PUTT_LEFT", KeyA: "PUTT_LEFT", ArrowRight: "PUTT_RIGHT", KeyD: "PUTT_RIGHT" }, children: [
|
|
347
347
|
{ type: draw-sprite-layer, items: (array/map @entity.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite) })) }
|
|
348
|
-
{ type: draw-sprite-layer, items: (array/filter (array/map @entity.units (fn u { type: draw-sprite, position: (object/get @u position), asset: (if (object/get (object/get @u modelUrl) url) (object/get @u modelUrl) (object/get (object/get @config.assetManifest units) (object/get @u unitType))), id: (object/get @u id) })) (fn s (object/get (object/get @s asset) url))) }
|
|
348
|
+
{ type: draw-sprite-layer, items: (array/filter (array/map @entity.units (fn u { type: draw-sprite, position: (object/get @u position), asset: (if (object/get (object/get @u modelUrl) url) (object/get @u modelUrl) (object/get (object/get @config.assetManifest units) (object/get @u unitType))), id: (object/get @u id), anchor: "center", width: 0.35, height: 0.35 })) (fn s (object/get (object/get @s asset) url))) }
|
|
349
349
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: (object/get @u position), offsetY: -0.6, width: 0.8, height: 0.12, fill: "rgba(0,0,0,0.6)" })) }
|
|
350
350
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: (object/get @u position), offsetY: -0.6, width: (* 0.8 (/ (object/get @u health) (object/get @u maxHealth))), height: 0.12, fill: "#22c55e" })) }
|
|
351
351
|
{ type: draw-text-layer, items: (array/map @entity.units (fn u { type: draw-text, text: (object/get @u name), position: (object/get @u position), offsetY: -0.85, color: "#ffffff" })) }
|
|
@@ -375,9 +375,9 @@ orbital MinigolfBoardOrbital {
|
|
|
375
375
|
hudBackgroundAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-pack/ui/blueSheet.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-pack/ui/blueSheet.json", sprite: "blue_panel.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "panel-frame", thumbnailUrl: "" }
|
|
376
376
|
hud: { type: game-hud, stats: [ { label: "Hole", value: @entity.hole, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_circle.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-hole", thumbnailUrl: "" } }, { label: "Strokes", value: @entity.strokes, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_stars.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-strokes", thumbnailUrl: "" } }, { label: "Par", value: @entity.par, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_idea.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-par", thumbnailUrl: "" } }, { label: "Total", value: @entity.total, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_bars.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-total", thumbnailUrl: "" } } ] }
|
|
377
377
|
controls: { type: control-grid, kind: "dpad", directionEvents: { up: "PUTT_UP", down: "PUTT_DOWN", left: "PUTT_LEFT", right: "PUTT_RIGHT" }, directionAssets: { up: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "30,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-up", thumbnailUrl: "" }, down: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "32,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-down", thumbnailUrl: "" }, left: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "33,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-left", thumbnailUrl: "" }, right: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "31,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-right", thumbnailUrl: "" } } }
|
|
378
|
-
children: [ { type: canvas, camera: { zoom: @config.scale }, projection: "isometric", showMinimap: false, tileClickEvent: TILE_CLICK, unitClickEvent: UNIT_CLICK, keyMap: { ArrowUp: "PUTT_UP", KeyW: "PUTT_UP", ArrowDown: "PUTT_DOWN", KeyS: "PUTT_DOWN", ArrowLeft: "PUTT_LEFT", KeyA: "PUTT_LEFT", ArrowRight: "PUTT_RIGHT", KeyD: "PUTT_RIGHT" }, children: [
|
|
378
|
+
children: [ { type: canvas, fit: true, camera: { zoom: @config.scale }, projection: "isometric", showMinimap: false, tileClickEvent: TILE_CLICK, unitClickEvent: UNIT_CLICK, keyMap: { ArrowUp: "PUTT_UP", KeyW: "PUTT_UP", ArrowDown: "PUTT_DOWN", KeyS: "PUTT_DOWN", ArrowLeft: "PUTT_LEFT", KeyA: "PUTT_LEFT", ArrowRight: "PUTT_RIGHT", KeyD: "PUTT_RIGHT" }, children: [
|
|
379
379
|
{ type: draw-sprite-layer, items: (array/map @entity.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite) })) }
|
|
380
|
-
{ type: draw-sprite-layer, items: (array/filter (array/map @entity.units (fn u { type: draw-sprite, position: (object/get @u position), asset: (if (object/get (object/get @u modelUrl) url) (object/get @u modelUrl) (object/get (object/get @config.assetManifest units) (object/get @u unitType))), id: (object/get @u id) })) (fn s (object/get (object/get @s asset) url))) }
|
|
380
|
+
{ type: draw-sprite-layer, items: (array/filter (array/map @entity.units (fn u { type: draw-sprite, position: (object/get @u position), asset: (if (object/get (object/get @u modelUrl) url) (object/get @u modelUrl) (object/get (object/get @config.assetManifest units) (object/get @u unitType))), id: (object/get @u id), anchor: "center", width: 0.35, height: 0.35 })) (fn s (object/get (object/get @s asset) url))) }
|
|
381
381
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: (object/get @u position), offsetY: -0.6, width: 0.8, height: 0.12, fill: "rgba(0,0,0,0.6)" })) }
|
|
382
382
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: (object/get @u position), offsetY: -0.6, width: (* 0.8 (/ (object/get @u health) (object/get @u maxHealth))), height: 0.12, fill: "#22c55e" })) }
|
|
383
383
|
{ type: draw-text-layer, items: (array/map @entity.units (fn u { type: draw-text, text: (object/get @u name), position: (object/get @u position), offsetY: -0.85, color: "#ffffff" })) }
|
|
@@ -395,9 +395,9 @@ orbital MinigolfBoardOrbital {
|
|
|
395
395
|
hudBackgroundAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-pack/ui/blueSheet.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-pack/ui/blueSheet.json", sprite: "blue_panel.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "panel-frame", thumbnailUrl: "" }
|
|
396
396
|
hud: { type: game-hud, stats: [ { label: "Hole", value: @entity.hole, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_circle.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-hole", thumbnailUrl: "" } }, { label: "Strokes", value: @entity.strokes, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_stars.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-strokes", thumbnailUrl: "" } }, { label: "Par", value: @entity.par, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_idea.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-par", thumbnailUrl: "" } }, { label: "Total", value: @entity.total, iconUrl: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_bars.png", role: "ui", category: "ui", animations: [], style: "", variant: "", dimension: "2d", aspect: "1:1", name: "icon-total", thumbnailUrl: "" } } ] }
|
|
397
397
|
controls: { type: control-grid, kind: "dpad", directionEvents: { up: "PUTT_UP", down: "PUTT_DOWN", left: "PUTT_LEFT", right: "PUTT_RIGHT" }, directionAssets: { up: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "30,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-up", thumbnailUrl: "" }, down: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "32,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-down", thumbnailUrl: "" }, left: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "33,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-left", thumbnailUrl: "" }, right: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/tilemap_packed.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-input-prompts-pixel-16/terrain/Tilemap_tilemap_packed.tiles.json", sprite: "31,4", role: "ui", category: "ui", animations: [], style: "pixel", variant: "", dimension: "2d", aspect: "1:1", name: "key-right", thumbnailUrl: "" } } }
|
|
398
|
-
children: [ { type: canvas, camera: { zoom: @config.scale }, projection: "isometric", showMinimap: false, tileClickEvent: TILE_CLICK, unitClickEvent: UNIT_CLICK, keyMap: { ArrowUp: "PUTT_UP", KeyW: "PUTT_UP", ArrowDown: "PUTT_DOWN", KeyS: "PUTT_DOWN", ArrowLeft: "PUTT_LEFT", KeyA: "PUTT_LEFT", ArrowRight: "PUTT_RIGHT", KeyD: "PUTT_RIGHT" }, children: [
|
|
398
|
+
children: [ { type: canvas, fit: true, camera: { zoom: @config.scale }, projection: "isometric", showMinimap: false, tileClickEvent: TILE_CLICK, unitClickEvent: UNIT_CLICK, keyMap: { ArrowUp: "PUTT_UP", KeyW: "PUTT_UP", ArrowDown: "PUTT_DOWN", KeyS: "PUTT_DOWN", ArrowLeft: "PUTT_LEFT", KeyA: "PUTT_LEFT", ArrowRight: "PUTT_RIGHT", KeyD: "PUTT_RIGHT" }, children: [
|
|
399
399
|
{ type: draw-sprite-layer, items: (array/map @entity.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite) })) }
|
|
400
|
-
{ type: draw-sprite-layer, items: (array/filter (array/map @entity.units (fn u { type: draw-sprite, position: (object/get @u position), asset: (if (object/get (object/get @u modelUrl) url) (object/get @u modelUrl) (object/get (object/get @config.assetManifest units) (object/get @u unitType))), id: (object/get @u id) })) (fn s (object/get (object/get @s asset) url))) }
|
|
400
|
+
{ type: draw-sprite-layer, items: (array/filter (array/map @entity.units (fn u { type: draw-sprite, position: (object/get @u position), asset: (if (object/get (object/get @u modelUrl) url) (object/get @u modelUrl) (object/get (object/get @config.assetManifest units) (object/get @u unitType))), id: (object/get @u id), anchor: "center", width: 0.35, height: 0.35 })) (fn s (object/get (object/get @s asset) url))) }
|
|
401
401
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: (object/get @u position), offsetY: -0.6, width: 0.8, height: 0.12, fill: "rgba(0,0,0,0.6)" })) }
|
|
402
402
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: (object/get @u position), offsetY: -0.6, width: (* 0.8 (/ (object/get @u health) (object/get @u maxHealth))), height: 0.12, fill: "#22c55e" })) }
|
|
403
403
|
{ type: draw-text-layer, items: (array/map @entity.units (fn u { type: draw-text, text: (object/get @u name), position: (object/get @u position), offsetY: -0.85, color: "#ffffff" })) }
|
|
@@ -79,7 +79,7 @@ orbital PhysicsSandboxBoardOrbital {
|
|
|
79
79
|
addons: { type: stack, direction: vertical, gap: sm, children: [ { type: button, action: SPAWN, label: "Spawn", iconAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_drop.png", role: "ui", category: "ui", animations: ["static"], style: "vector-flat", variant: "", dimension: "2d", aspect: "1:1", name: "icon-spawn", thumbnailUrl: "" }, variant: primary }, { type: button, action: CYCLE_KIND, label: "Cycle Kind", iconAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.json", sprite: "rotate_cw.png", role: "ui", category: "ui", animations: ["static"], style: "vector-flat", variant: "", dimension: "2d", aspect: "1:1", name: "icon-cycle-kind", thumbnailUrl: "" }, variant: secondary }, { type: button, action: CLEAR, label: "Clear", iconAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.json", sprite: "zoom_reset.png", role: "ui", category: "ui", animations: ["static"], style: "vector-flat", variant: "", dimension: "2d", aspect: "1:1", name: "icon-clear", thumbnailUrl: "" }, variant: secondary } ] }
|
|
80
80
|
children: [ { type: canvas, camera: { zoom: (math/min 1 (/ 5 (+ 1 (math/max (array/max @config.tiles "x") (array/max @config.tiles "y"))))), pos: { x: (/ (+ (array/min @config.tiles "x") (array/max @config.tiles "x")) 2), y: (/ (+ (array/min @config.tiles "y") (array/max @config.tiles "y")) 2) } }, projection: "flat", showMinimap: false, keyMap: { Space: "SPAWN" }, children: [
|
|
81
81
|
{ type: draw-shape-layer, items: (array/map @config.tiles (fn t { type: draw-shape, shape: "cell", position: { x: (object/get @t x), y: (object/get @t y) }, fill: "#5c94fc", stroke: "rgba(255,255,255,0.35)", strokeWidth: 1 })) }
|
|
82
|
-
{ type: draw-sprite-layer, items: (array/map @config.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite), anchor: "center", width:
|
|
82
|
+
{ type: draw-sprite-layer, items: (array/map @config.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite), anchor: "center", width: 1, height: 1 })) }
|
|
83
83
|
{ type: draw-sprite-layer, items: (array/map @entity.blocks (fn b { type: draw-sprite, position: { x: (object/get @b x), y: (object/get @b y) }, asset: (object/get @b sprite), anchor: "center", width: 0.5, height: 0.5 })) }
|
|
84
84
|
] } ]
|
|
85
85
|
})
|
|
@@ -97,7 +97,7 @@ orbital PhysicsSandboxBoardOrbital {
|
|
|
97
97
|
addons: { type: stack, direction: vertical, gap: sm, children: [ { type: button, action: SPAWN, label: "Spawn", iconAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_drop.png", role: "ui", category: "ui", animations: ["static"], style: "vector-flat", variant: "", dimension: "2d", aspect: "1:1", name: "icon-spawn", thumbnailUrl: "" }, variant: primary }, { type: button, action: CYCLE_KIND, label: "Cycle Kind", iconAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.json", sprite: "rotate_cw.png", role: "ui", category: "ui", animations: ["static"], style: "vector-flat", variant: "", dimension: "2d", aspect: "1:1", name: "icon-cycle-kind", thumbnailUrl: "" }, variant: secondary }, { type: button, action: CLEAR, label: "Clear", iconAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.json", sprite: "zoom_reset.png", role: "ui", category: "ui", animations: ["static"], style: "vector-flat", variant: "", dimension: "2d", aspect: "1:1", name: "icon-clear", thumbnailUrl: "" }, variant: secondary } ] }
|
|
98
98
|
children: [ { type: canvas, camera: { zoom: (math/min 1 (/ 5 (+ 1 (math/max (array/max @config.tiles "x") (array/max @config.tiles "y"))))), pos: { x: (/ (+ (array/min @config.tiles "x") (array/max @config.tiles "x")) 2), y: (/ (+ (array/min @config.tiles "y") (array/max @config.tiles "y")) 2) } }, projection: "flat", showMinimap: false, keyMap: { Space: "SPAWN" }, children: [
|
|
99
99
|
{ type: draw-shape-layer, items: (array/map @config.tiles (fn t { type: draw-shape, shape: "cell", position: { x: (object/get @t x), y: (object/get @t y) }, fill: "#5c94fc", stroke: "rgba(255,255,255,0.35)", strokeWidth: 1 })) }
|
|
100
|
-
{ type: draw-sprite-layer, items: (array/map @config.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite), anchor: "center", width:
|
|
100
|
+
{ type: draw-sprite-layer, items: (array/map @config.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite), anchor: "center", width: 1, height: 1 })) }
|
|
101
101
|
{ type: draw-sprite-layer, items: (array/map @entity.blocks (fn b { type: draw-sprite, position: { x: (object/get @b x), y: (object/get @b y) }, asset: (object/get @b sprite), anchor: "center", width: 0.5, height: 0.5 })) }
|
|
102
102
|
] } ]
|
|
103
103
|
})
|
|
@@ -113,7 +113,7 @@ orbital PhysicsSandboxBoardOrbital {
|
|
|
113
113
|
addons: { type: stack, direction: vertical, gap: sm, children: [ { type: button, action: SPAWN, label: "Spawn", iconAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_drop.png", role: "ui", category: "ui", animations: ["static"], style: "vector-flat", variant: "", dimension: "2d", aspect: "1:1", name: "icon-spawn", thumbnailUrl: "" }, variant: primary }, { type: button, action: CYCLE_KIND, label: "Cycle Kind", iconAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.json", sprite: "rotate_cw.png", role: "ui", category: "ui", animations: ["static"], style: "vector-flat", variant: "", dimension: "2d", aspect: "1:1", name: "icon-cycle-kind", thumbnailUrl: "" }, variant: secondary }, { type: button, action: CLEAR, label: "Clear", iconAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.json", sprite: "zoom_reset.png", role: "ui", category: "ui", animations: ["static"], style: "vector-flat", variant: "", dimension: "2d", aspect: "1:1", name: "icon-clear", thumbnailUrl: "" }, variant: secondary } ] }
|
|
114
114
|
children: [ { type: canvas, camera: { zoom: (math/min 1 (/ 5 (+ 1 (math/max (array/max @config.tiles "x") (array/max @config.tiles "y"))))), pos: { x: (/ (+ (array/min @config.tiles "x") (array/max @config.tiles "x")) 2), y: (/ (+ (array/min @config.tiles "y") (array/max @config.tiles "y")) 2) } }, projection: "flat", showMinimap: false, keyMap: { Space: "SPAWN" }, children: [
|
|
115
115
|
{ type: draw-shape-layer, items: (array/map @config.tiles (fn t { type: draw-shape, shape: "cell", position: { x: (object/get @t x), y: (object/get @t y) }, fill: "#5c94fc", stroke: "rgba(255,255,255,0.35)", strokeWidth: 1 })) }
|
|
116
|
-
{ type: draw-sprite-layer, items: (array/map @config.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite), anchor: "center", width:
|
|
116
|
+
{ type: draw-sprite-layer, items: (array/map @config.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite), anchor: "center", width: 1, height: 1 })) }
|
|
117
117
|
{ type: draw-sprite-layer, items: (array/map @entity.blocks (fn b { type: draw-sprite, position: { x: (object/get @b x), y: (object/get @b y) }, asset: (object/get @b sprite), anchor: "center", width: 0.5, height: 0.5 })) }
|
|
118
118
|
] } ]
|
|
119
119
|
})
|
|
@@ -133,7 +133,7 @@ orbital PhysicsSandboxBoardOrbital {
|
|
|
133
133
|
addons: { type: stack, direction: vertical, gap: sm, children: [ { type: button, action: SPAWN, label: "Spawn", iconAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_drop.png", role: "ui", category: "ui", animations: ["static"], style: "vector-flat", variant: "", dimension: "2d", aspect: "1:1", name: "icon-spawn", thumbnailUrl: "" }, variant: primary }, { type: button, action: CYCLE_KIND, label: "Cycle Kind", iconAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.json", sprite: "rotate_cw.png", role: "ui", category: "ui", animations: ["static"], style: "vector-flat", variant: "", dimension: "2d", aspect: "1:1", name: "icon-cycle-kind", thumbnailUrl: "" }, variant: secondary }, { type: button, action: CLEAR, label: "Clear", iconAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.json", sprite: "zoom_reset.png", role: "ui", category: "ui", animations: ["static"], style: "vector-flat", variant: "", dimension: "2d", aspect: "1:1", name: "icon-clear", thumbnailUrl: "" }, variant: secondary } ] }
|
|
134
134
|
children: [ { type: canvas, camera: { zoom: (math/min 1 (/ 5 (+ 1 (math/max (array/max @config.tiles "x") (array/max @config.tiles "y"))))), pos: { x: (/ (+ (array/min @config.tiles "x") (array/max @config.tiles "x")) 2), y: (/ (+ (array/min @config.tiles "y") (array/max @config.tiles "y")) 2) } }, projection: "flat", showMinimap: false, keyMap: { Space: "SPAWN" }, children: [
|
|
135
135
|
{ type: draw-shape-layer, items: (array/map @config.tiles (fn t { type: draw-shape, shape: "cell", position: { x: (object/get @t x), y: (object/get @t y) }, fill: "#5c94fc", stroke: "rgba(255,255,255,0.35)", strokeWidth: 1 })) }
|
|
136
|
-
{ type: draw-sprite-layer, items: (array/map @config.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite), anchor: "center", width:
|
|
136
|
+
{ type: draw-sprite-layer, items: (array/map @config.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite), anchor: "center", width: 1, height: 1 })) }
|
|
137
137
|
{ type: draw-sprite-layer, items: (array/map @entity.blocks (fn b { type: draw-sprite, position: { x: (object/get @b x), y: (object/get @b y) }, asset: (object/get @b sprite), anchor: "center", width: 0.5, height: 0.5 })) }
|
|
138
138
|
] } ]
|
|
139
139
|
})
|
|
@@ -156,7 +156,7 @@ orbital PhysicsSandboxBoardOrbital {
|
|
|
156
156
|
addons: { type: stack, direction: vertical, gap: sm, children: [ { type: button, action: SPAWN, label: "Spawn", iconAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json", sprite: "emote_drop.png", role: "ui", category: "ui", animations: ["static"], style: "vector-flat", variant: "", dimension: "2d", aspect: "1:1", name: "icon-spawn", thumbnailUrl: "" }, variant: primary }, { type: button, action: CYCLE_KIND, label: "Cycle Kind", iconAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.json", sprite: "rotate_cw.png", role: "ui", category: "ui", animations: ["static"], style: "vector-flat", variant: "", dimension: "2d", aspect: "1:1", name: "icon-cycle-kind", thumbnailUrl: "" }, variant: secondary }, { type: button, action: CLEAR, label: "Clear", iconAsset: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-cursor-pack/ui/kenney-cursor-pack.generated.json", sprite: "zoom_reset.png", role: "ui", category: "ui", animations: ["static"], style: "vector-flat", variant: "", dimension: "2d", aspect: "1:1", name: "icon-clear", thumbnailUrl: "" }, variant: secondary } ] }
|
|
157
157
|
children: [ { type: canvas, camera: { zoom: (math/min 1 (/ 5 (+ 1 (math/max (array/max @config.tiles "x") (array/max @config.tiles "y"))))), pos: { x: (/ (+ (array/min @config.tiles "x") (array/max @config.tiles "x")) 2), y: (/ (+ (array/min @config.tiles "y") (array/max @config.tiles "y")) 2) } }, projection: "flat", showMinimap: false, keyMap: { Space: "SPAWN" }, children: [
|
|
158
158
|
{ type: draw-shape-layer, items: (array/map @config.tiles (fn t { type: draw-shape, shape: "cell", position: { x: (object/get @t x), y: (object/get @t y) }, fill: "#5c94fc", stroke: "rgba(255,255,255,0.35)", strokeWidth: 1 })) }
|
|
159
|
-
{ type: draw-sprite-layer, items: (array/map @config.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite), anchor: "center", width:
|
|
159
|
+
{ type: draw-sprite-layer, items: (array/map @config.tiles (fn t { type: draw-sprite, position: { x: (object/get @t x), y: (object/get @t y) }, asset: (object/get @t terrainSprite), anchor: "center", width: 1, height: 1 })) }
|
|
160
160
|
{ type: draw-sprite-layer, items: (array/map @entity.blocks (fn b { type: draw-sprite, position: { x: (object/get @b x), y: (object/get @b y) }, asset: (object/get @b sprite), anchor: "center", width: 0.5, height: 0.5 })) }
|
|
161
161
|
] } ]
|
|
162
162
|
})
|