@almadar/std 16.108.0 → 16.109.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.
Files changed (90) hide show
  1. package/behaviors/registry/ui/game/2d/organisms/ui-battle-board.orb +213 -125
  2. package/behaviors/registry/ui/game/2d/organisms/ui-fishing-board.orb +2302 -705
  3. package/behaviors/registry/ui/game/2d/organisms/ui-minigolf-board.orb +7872 -1934
  4. package/behaviors/registry/ui/game/2d/organisms/ui-pinball-board.orb +2739 -3050
  5. package/behaviors/registry/ui/game/2d/organisms/ui-roguelike-board.orb +5204 -2967
  6. package/behaviors/registry/ui/game/2d/organisms/ui-sokoban-board.orb +3330 -1619
  7. package/behaviors/registry/ui/game/2d/organisms/ui-space-shmup-board.orb +4637 -4059
  8. package/behaviors/registry/ui/game/2d/organisms/ui-tanks-board.orb +76 -103
  9. package/behaviors/registry/ui/game/2d/organisms/ui-topdown-dungeon-board.orb +4579 -4356
  10. package/behaviors/registry/ui/game/2d/organisms/ui-uncontrolled-battle-board.orb +1164 -2247
  11. package/behaviors/registry/ui/game/2d/organisms/ui-winter-ski-board.orb +4573 -4553
  12. package/behaviors/registry/ui/game/3d/organisms/ui-arcade-board-3d.orb +379 -2
  13. package/behaviors/registry/ui/game/3d/organisms/ui-brick-sandbox-board-3d.orb +168 -1
  14. package/behaviors/registry/ui/game/3d/organisms/ui-city-board-3d.orb +801 -169
  15. package/behaviors/registry/ui/game/3d/organisms/ui-fantasy-town-board-3d.orb +1666 -702
  16. package/behaviors/registry/ui/game/3d/organisms/ui-game-board-3d.orb +1323 -514
  17. package/behaviors/registry/ui/game/3d/organisms/ui-graveyard-board-3d.orb +1186 -384
  18. package/behaviors/registry/ui/game/3d/organisms/ui-hex-strategy-board-3d.orb +342 -170
  19. package/behaviors/registry/ui/game/3d/organisms/ui-holiday-board-3d.orb +509 -3
  20. package/behaviors/registry/ui/game/3d/organisms/ui-market-board-3d.orb +632 -419
  21. package/behaviors/registry/ui/game/3d/organisms/ui-minigolf-board-3d.orb +503 -145
  22. package/behaviors/registry/ui/game/3d/organisms/ui-nature-survival-board-3d.orb +1157 -134
  23. package/behaviors/registry/ui/game/3d/organisms/ui-pirate-board-3d.orb +1203 -383
  24. package/behaviors/registry/ui/game/3d/organisms/ui-platformer-board-3d.orb +1157 -205
  25. package/behaviors/registry/ui/game/3d/organisms/ui-racing-board-3d.orb +656 -565
  26. package/behaviors/registry/ui/game/3d/organisms/ui-skatepark-board-3d.orb +1205 -137
  27. package/behaviors/registry/ui/game/3d/organisms/ui-space-board-3d.orb +1333 -513
  28. package/behaviors/registry/ui/game/3d/organisms/ui-tower-defense-board-3d.orb +332 -7
  29. package/behaviors/registry/ui/game/3d/organisms/ui-toy-track-board-3d.orb +1202 -287
  30. package/dist/behaviors/behaviors-registry.json +282 -273
  31. package/dist/behaviors/registry/ui/game/2d/organisms/ui-battle-board.orb +213 -125
  32. package/dist/behaviors/registry/ui/game/2d/organisms/ui-fishing-board.orb +2302 -705
  33. package/dist/behaviors/registry/ui/game/2d/organisms/ui-minigolf-board.orb +7872 -1934
  34. package/dist/behaviors/registry/ui/game/2d/organisms/ui-pinball-board.orb +2739 -3050
  35. package/dist/behaviors/registry/ui/game/2d/organisms/ui-roguelike-board.orb +5204 -2967
  36. package/dist/behaviors/registry/ui/game/2d/organisms/ui-sokoban-board.orb +3330 -1619
  37. package/dist/behaviors/registry/ui/game/2d/organisms/ui-space-shmup-board.orb +4637 -4059
  38. package/dist/behaviors/registry/ui/game/2d/organisms/ui-tanks-board.orb +76 -103
  39. package/dist/behaviors/registry/ui/game/2d/organisms/ui-topdown-dungeon-board.orb +4579 -4356
  40. package/dist/behaviors/registry/ui/game/2d/organisms/ui-uncontrolled-battle-board.orb +1164 -2247
  41. package/dist/behaviors/registry/ui/game/2d/organisms/ui-winter-ski-board.orb +4573 -4553
  42. package/dist/behaviors/registry/ui/game/3d/organisms/ui-arcade-board-3d.orb +379 -2
  43. package/dist/behaviors/registry/ui/game/3d/organisms/ui-brick-sandbox-board-3d.orb +168 -1
  44. package/dist/behaviors/registry/ui/game/3d/organisms/ui-city-board-3d.orb +801 -169
  45. package/dist/behaviors/registry/ui/game/3d/organisms/ui-fantasy-town-board-3d.orb +1666 -702
  46. package/dist/behaviors/registry/ui/game/3d/organisms/ui-game-board-3d.orb +1323 -514
  47. package/dist/behaviors/registry/ui/game/3d/organisms/ui-graveyard-board-3d.orb +1186 -384
  48. package/dist/behaviors/registry/ui/game/3d/organisms/ui-hex-strategy-board-3d.orb +342 -170
  49. package/dist/behaviors/registry/ui/game/3d/organisms/ui-holiday-board-3d.orb +509 -3
  50. package/dist/behaviors/registry/ui/game/3d/organisms/ui-market-board-3d.orb +632 -419
  51. package/dist/behaviors/registry/ui/game/3d/organisms/ui-minigolf-board-3d.orb +503 -145
  52. package/dist/behaviors/registry/ui/game/3d/organisms/ui-nature-survival-board-3d.orb +1157 -134
  53. package/dist/behaviors/registry/ui/game/3d/organisms/ui-pirate-board-3d.orb +1203 -383
  54. package/dist/behaviors/registry/ui/game/3d/organisms/ui-platformer-board-3d.orb +1157 -205
  55. package/dist/behaviors/registry/ui/game/3d/organisms/ui-racing-board-3d.orb +656 -565
  56. package/dist/behaviors/registry/ui/game/3d/organisms/ui-skatepark-board-3d.orb +1205 -137
  57. package/dist/behaviors/registry/ui/game/3d/organisms/ui-space-board-3d.orb +1333 -513
  58. package/dist/behaviors/registry/ui/game/3d/organisms/ui-tower-defense-board-3d.orb +332 -7
  59. package/dist/behaviors/registry/ui/game/3d/organisms/ui-toy-track-board-3d.orb +1202 -287
  60. package/dist/behaviors-registry.json +282 -273
  61. package/dist/registry/ui/game/2d/organisms/ui-battle-board.orb +213 -125
  62. package/dist/registry/ui/game/2d/organisms/ui-fishing-board.orb +2302 -705
  63. package/dist/registry/ui/game/2d/organisms/ui-minigolf-board.orb +7872 -1934
  64. package/dist/registry/ui/game/2d/organisms/ui-pinball-board.orb +2739 -3050
  65. package/dist/registry/ui/game/2d/organisms/ui-roguelike-board.orb +5204 -2967
  66. package/dist/registry/ui/game/2d/organisms/ui-sokoban-board.orb +3330 -1619
  67. package/dist/registry/ui/game/2d/organisms/ui-space-shmup-board.orb +4637 -4059
  68. package/dist/registry/ui/game/2d/organisms/ui-tanks-board.orb +76 -103
  69. package/dist/registry/ui/game/2d/organisms/ui-topdown-dungeon-board.orb +4579 -4356
  70. package/dist/registry/ui/game/2d/organisms/ui-uncontrolled-battle-board.orb +1164 -2247
  71. package/dist/registry/ui/game/2d/organisms/ui-winter-ski-board.orb +4573 -4553
  72. package/dist/registry/ui/game/3d/organisms/ui-arcade-board-3d.orb +379 -2
  73. package/dist/registry/ui/game/3d/organisms/ui-brick-sandbox-board-3d.orb +168 -1
  74. package/dist/registry/ui/game/3d/organisms/ui-city-board-3d.orb +801 -169
  75. package/dist/registry/ui/game/3d/organisms/ui-fantasy-town-board-3d.orb +1666 -702
  76. package/dist/registry/ui/game/3d/organisms/ui-game-board-3d.orb +1323 -514
  77. package/dist/registry/ui/game/3d/organisms/ui-graveyard-board-3d.orb +1186 -384
  78. package/dist/registry/ui/game/3d/organisms/ui-hex-strategy-board-3d.orb +342 -170
  79. package/dist/registry/ui/game/3d/organisms/ui-holiday-board-3d.orb +509 -3
  80. package/dist/registry/ui/game/3d/organisms/ui-market-board-3d.orb +632 -419
  81. package/dist/registry/ui/game/3d/organisms/ui-minigolf-board-3d.orb +503 -145
  82. package/dist/registry/ui/game/3d/organisms/ui-nature-survival-board-3d.orb +1157 -134
  83. package/dist/registry/ui/game/3d/organisms/ui-pirate-board-3d.orb +1203 -383
  84. package/dist/registry/ui/game/3d/organisms/ui-platformer-board-3d.orb +1157 -205
  85. package/dist/registry/ui/game/3d/organisms/ui-racing-board-3d.orb +656 -565
  86. package/dist/registry/ui/game/3d/organisms/ui-skatepark-board-3d.orb +1205 -137
  87. package/dist/registry/ui/game/3d/organisms/ui-space-board-3d.orb +1333 -513
  88. package/dist/registry/ui/game/3d/organisms/ui-tower-defense-board-3d.orb +332 -7
  89. package/dist/registry/ui/game/3d/organisms/ui-toy-track-board-3d.orb +1202 -287
  90. package/package.json +1 -1
@@ -155,7 +155,52 @@
155
155
  "type": "array"
156
156
  },
157
157
  {
158
- "default": 8.0,
158
+ "default": [],
159
+ "items": {
160
+ "properties": {
161
+ "id": {
162
+ "name": "id",
163
+ "required": true,
164
+ "type": "string"
165
+ },
166
+ "message": {
167
+ "name": "message",
168
+ "required": false,
169
+ "type": "string"
170
+ },
171
+ "ttl": {
172
+ "name": "ttl",
173
+ "required": true,
174
+ "type": "number"
175
+ },
176
+ "type": {
177
+ "name": "type",
178
+ "required": true,
179
+ "type": "string"
180
+ },
181
+ "x": {
182
+ "name": "x",
183
+ "required": true,
184
+ "type": "number"
185
+ },
186
+ "y": {
187
+ "name": "y",
188
+ "required": false,
189
+ "type": "number"
190
+ },
191
+ "z": {
192
+ "name": "z",
193
+ "required": false,
194
+ "type": "number"
195
+ }
196
+ },
197
+ "type": "object"
198
+ },
199
+ "name": "fx",
200
+ "type": "array"
201
+ },
202
+ {
203
+ "default": 14.0,
159
204
  "name": "tokens",
160
205
  "type": "number"
161
206
  },
@@ -586,7 +631,7 @@
586
631
  "type": "number"
587
632
  },
588
633
  "startingTokens": {
589
- "default": 8.0,
634
+ "default": 14.0,
590
635
  "description": "Tokens the player starts with",
591
636
  "label": "Starting Tokens",
592
637
  "tier": "presentation",
@@ -1629,6 +1674,7 @@
1629
1674
  ],
1630
1675
  "entityContract": {
1631
1676
  "provides": [
1677
+ "fx",
1632
1678
  "gridHeight",
1633
1679
  "gridWidth",
1634
1680
  "npcTick",
@@ -1787,6 +1833,11 @@
1787
1833
  "@entity.validMoves",
1788
1834
  []
1789
1835
  ],
1836
+ [
1837
+ "set",
1838
+ "@entity.fx",
1839
+ []
1840
+ ],
1790
1841
  [
1791
1842
  "set",
1792
1843
  "@entity.tokens",
@@ -1831,8 +1882,15 @@
1831
1882
  "render-ui",
1832
1883
  "main",
1833
1884
  {
1885
+ "addons": {
1886
+ "action": "CANCEL",
1887
+ "label": "Cancel",
1888
+ "type": "button",
1889
+ "variant": "secondary"
1890
+ },
1834
1891
  "children": [
1835
1892
  {
1893
+ "events": "@entity.fx",
1836
1894
  "featureClickEvent": "FEATURE_CLICK",
1837
1895
  "features": "@config.features",
1838
1896
  "scale": "@config.scale",
@@ -2030,8 +2088,15 @@
2030
2088
  "render-ui",
2031
2089
  "main",
2032
2090
  {
2091
+ "addons": {
2092
+ "action": "CANCEL",
2093
+ "label": "Cancel",
2094
+ "type": "button",
2095
+ "variant": "secondary"
2096
+ },
2033
2097
  "children": [
2034
2098
  {
2099
+ "events": "@entity.fx",
2035
2100
  "featureClickEvent": "FEATURE_CLICK",
2036
2101
  "features": "@config.features",
2037
2102
  "scale": "@config.scale",
@@ -2160,8 +2225,15 @@
2160
2225
  "render-ui",
2161
2226
  "main",
2162
2227
  {
2228
+ "addons": {
2229
+ "action": "CANCEL",
2230
+ "label": "Cancel",
2231
+ "type": "button",
2232
+ "variant": "secondary"
2233
+ },
2163
2234
  "children": [
2164
2235
  {
2236
+ "events": "@entity.fx",
2165
2237
  "featureClickEvent": "FEATURE_CLICK",
2166
2238
  "features": "@config.features",
2167
2239
  "scale": "@config.scale",
@@ -2333,8 +2405,15 @@
2333
2405
  "render-ui",
2334
2406
  "main",
2335
2407
  {
2408
+ "addons": {
2409
+ "action": "CANCEL",
2410
+ "label": "Cancel",
2411
+ "type": "button",
2412
+ "variant": "secondary"
2413
+ },
2336
2414
  "children": [
2337
2415
  {
2416
+ "events": "@entity.fx",
2338
2417
  "featureClickEvent": "FEATURE_CLICK",
2339
2418
  "features": "@config.features",
2340
2419
  "scale": "@config.scale",
@@ -2399,6 +2478,26 @@
2399
2478
  "@entity.result",
2400
2479
  "won"
2401
2480
  ],
2481
+ [
2482
+ "set",
2483
+ "@entity.fx",
2484
+ [
2485
+ "array/append",
2486
+ "@entity.fx",
2487
+ {
2488
+ "id": [
2489
+ "str/concat",
2490
+ "fx-win-",
2491
+ "@entity.playCount"
2492
+ ],
2493
+ "message": "Prize claimed!",
2494
+ "ttl": 3.0,
2495
+ "type": "win",
2496
+ "x": "@payload.x",
2497
+ "z": "@payload.z"
2498
+ }
2499
+ ]
2500
+ ],
2402
2501
  [
2403
2502
  "if",
2404
2503
  [
@@ -2419,8 +2518,15 @@
2419
2518
  "render-ui",
2420
2519
  "main",
2421
2520
  {
2521
+ "addons": {
2522
+ "action": "CANCEL",
2523
+ "label": "Cancel",
2524
+ "type": "button",
2525
+ "variant": "secondary"
2526
+ },
2422
2527
  "children": [
2423
2528
  {
2529
+ "events": "@entity.fx",
2424
2530
  "featureClickEvent": "FEATURE_CLICK",
2425
2531
  "features": "@config.features",
2426
2532
  "scale": "@config.scale",
@@ -2567,6 +2673,50 @@
2567
2673
  "@entity.tickets"
2568
2674
  ]
2569
2675
  ],
2676
+ [
2677
+ "set",
2678
+ "@entity.fx",
2679
+ [
2680
+ "array/append",
2681
+ "@entity.fx",
2682
+ [
2683
+ "if",
2684
+ [
2685
+ "==",
2686
+ [
2687
+ "%",
2688
+ "@entity.playCount",
2689
+ 2.0
2690
+ ],
2691
+ 0.0
2692
+ ],
2693
+ {
2694
+ "id": [
2695
+ "str/concat",
2696
+ "fx-ticket-",
2697
+ "@entity.playCount"
2698
+ ],
2699
+ "message": "+1 ticket",
2700
+ "ttl": 3.0,
2701
+ "type": "score",
2702
+ "x": "@payload.x",
2703
+ "z": "@payload.z"
2704
+ },
2705
+ {
2706
+ "id": [
2707
+ "str/concat",
2708
+ "fx-dud-",
2709
+ "@entity.playCount"
2710
+ ],
2711
+ "message": "no luck",
2712
+ "ttl": 3.0,
2713
+ "type": "info",
2714
+ "x": "@payload.x",
2715
+ "z": "@payload.z"
2716
+ }
2717
+ ]
2718
+ ]
2719
+ ],
2570
2720
  [
2571
2721
  "set",
2572
2722
  "@entity.result",
@@ -2609,8 +2759,15 @@
2609
2759
  "render-ui",
2610
2760
  "main",
2611
2761
  {
2762
+ "addons": {
2763
+ "action": "CANCEL",
2764
+ "label": "Cancel",
2765
+ "type": "button",
2766
+ "variant": "secondary"
2767
+ },
2612
2768
  "children": [
2613
2769
  {
2770
+ "events": "@entity.fx",
2614
2771
  "featureClickEvent": "FEATURE_CLICK",
2615
2772
  "features": "@config.features",
2616
2773
  "scale": "@config.scale",
@@ -2716,6 +2873,85 @@
2716
2873
  "to": "playing"
2717
2874
  },
2718
2875
  {
2876
+ "effects": [
2877
+ [
2878
+ "render-ui",
2879
+ "main",
2880
+ {
2881
+ "addons": {
2882
+ "action": "CANCEL",
2883
+ "label": "Cancel",
2884
+ "type": "button",
2885
+ "variant": "secondary"
2886
+ },
2887
+ "children": [
2888
+ {
2889
+ "events": "@entity.fx",
2890
+ "featureClickEvent": "FEATURE_CLICK",
2891
+ "features": "@config.features",
2892
+ "scale": "@config.scale",
2893
+ "selectedUnitId": "@entity.selectedUnitId",
2894
+ "tileClickEvent": "TILE_CLICK",
2895
+ "tiles": "@config.tiles",
2896
+ "type": "game-canvas-3d",
2897
+ "unitClickEvent": "UNIT_CLICK",
2898
+ "unitScale": "@config.unitScale",
2899
+ "units": "@entity.units",
2900
+ "validMoves": "@entity.validMoves"
2901
+ }
2902
+ ],
2903
+ "hud": {
2904
+ "children": [
2905
+ {
2906
+ "stats": [
2907
+ {
2908
+ "label": "Tokens",
2909
+ "value": "@entity.tokens"
2910
+ },
2911
+ {
2912
+ "label": "Tickets",
2913
+ "value": "@entity.tickets"
2914
+ },
2915
+ {
2916
+ "label": "Result",
2917
+ "value": "@entity.result"
2918
+ }
2919
+ ],
2920
+ "type": "game-hud"
2921
+ },
2922
+ {
2923
+ "action": "PLAY_AGAIN",
2924
+ "label": "Restart",
2925
+ "type": "button",
2926
+ "variant": "secondary"
2927
+ }
2928
+ ],
2929
+ "direction": "horizontal",
2930
+ "gap": "md",
2931
+ "justify": "between",
2932
+ "type": "stack"
2933
+ },
2934
+ "overlay": {
2935
+ "options": [
2936
+ {
2937
+ "event": "PLAY_AGAIN",
2938
+ "id": "again",
2939
+ "label": "Play Again",
2940
+ "variant": "primary"
2941
+ }
2942
+ ],
2943
+ "subtitle": [
2944
+ "str/concat",
2945
+ "Tickets earned: ",
2946
+ "@entity.tickets"
2947
+ ],
2948
+ "title": "YOU WIN!",
2949
+ "type": "game-menu"
2950
+ },
2951
+ "type": "game-shell"
2952
+ }
2953
+ ]
2954
+ ],
2719
2955
  "event": "GAME_END",
2720
2956
  "from": "playing",
2721
2957
  "guard": [
@@ -2726,6 +2962,81 @@
2726
2962
  "to": "won"
2727
2963
  },
2728
2964
  {
2965
+ "effects": [
2966
+ [
2967
+ "render-ui",
2968
+ "main",
2969
+ {
2970
+ "addons": {
2971
+ "action": "CANCEL",
2972
+ "label": "Cancel",
2973
+ "type": "button",
2974
+ "variant": "secondary"
2975
+ },
2976
+ "children": [
2977
+ {
2978
+ "events": "@entity.fx",
2979
+ "featureClickEvent": "FEATURE_CLICK",
2980
+ "features": "@config.features",
2981
+ "scale": "@config.scale",
2982
+ "selectedUnitId": "@entity.selectedUnitId",
2983
+ "tileClickEvent": "TILE_CLICK",
2984
+ "tiles": "@config.tiles",
2985
+ "type": "game-canvas-3d",
2986
+ "unitClickEvent": "UNIT_CLICK",
2987
+ "unitScale": "@config.unitScale",
2988
+ "units": "@entity.units",
2989
+ "validMoves": "@entity.validMoves"
2990
+ }
2991
+ ],
2992
+ "hud": {
2993
+ "children": [
2994
+ {
2995
+ "stats": [
2996
+ {
2997
+ "label": "Tokens",
2998
+ "value": "@entity.tokens"
2999
+ },
3000
+ {
3001
+ "label": "Tickets",
3002
+ "value": "@entity.tickets"
3003
+ },
3004
+ {
3005
+ "label": "Result",
3006
+ "value": "@entity.result"
3007
+ }
3008
+ ],
3009
+ "type": "game-hud"
3010
+ },
3011
+ {
3012
+ "action": "PLAY_AGAIN",
3013
+ "label": "Restart",
3014
+ "type": "button",
3015
+ "variant": "secondary"
3016
+ }
3017
+ ],
3018
+ "direction": "horizontal",
3019
+ "gap": "md",
3020
+ "justify": "between",
3021
+ "type": "stack"
3022
+ },
3023
+ "overlay": {
3024
+ "options": [
3025
+ {
3026
+ "event": "PLAY_AGAIN",
3027
+ "id": "again",
3028
+ "label": "Play Again",
3029
+ "variant": "primary"
3030
+ }
3031
+ ],
3032
+ "subtitle": "No luck this time — try again!",
3033
+ "title": "OUT OF TOKENS",
3034
+ "type": "game-menu"
3035
+ },
3036
+ "type": "game-shell"
3037
+ }
3038
+ ]
3039
+ ],
2729
3040
  "event": "GAME_END",
2730
3041
  "from": "playing",
2731
3042
  "guard": [
@@ -2752,6 +3063,11 @@
2752
3063
  "@entity.validMoves",
2753
3064
  []
2754
3065
  ],
3066
+ [
3067
+ "set",
3068
+ "@entity.fx",
3069
+ []
3070
+ ],
2755
3071
  [
2756
3072
  "set",
2757
3073
  "@entity.tokens",
@@ -2781,8 +3097,15 @@
2781
3097
  "render-ui",
2782
3098
  "main",
2783
3099
  {
3100
+ "addons": {
3101
+ "action": "CANCEL",
3102
+ "label": "Cancel",
3103
+ "type": "button",
3104
+ "variant": "secondary"
3105
+ },
2784
3106
  "children": [
2785
3107
  {
3108
+ "events": "@entity.fx",
2786
3109
  "featureClickEvent": "FEATURE_CLICK",
2787
3110
  "features": "@config.features",
2788
3111
  "scale": "@config.scale",
@@ -2852,6 +3175,11 @@
2852
3175
  "@entity.validMoves",
2853
3176
  []
2854
3177
  ],
3178
+ [
3179
+ "set",
3180
+ "@entity.fx",
3181
+ []
3182
+ ],
2855
3183
  [
2856
3184
  "set",
2857
3185
  "@entity.tokens",
@@ -2881,8 +3209,15 @@
2881
3209
  "render-ui",
2882
3210
  "main",
2883
3211
  {
3212
+ "addons": {
3213
+ "action": "CANCEL",
3214
+ "label": "Cancel",
3215
+ "type": "button",
3216
+ "variant": "secondary"
3217
+ },
2884
3218
  "children": [
2885
3219
  {
3220
+ "events": "@entity.fx",
2886
3221
  "featureClickEvent": "FEATURE_CLICK",
2887
3222
  "features": "@config.features",
2888
3223
  "scale": "@config.scale",
@@ -3003,12 +3338,54 @@
3003
3338
  ]
3004
3339
  ]
3005
3340
  ],
3341
+ [
3342
+ "set",
3343
+ "@entity.fx",
3344
+ [
3345
+ "array/filter",
3346
+ [
3347
+ "array/map",
3348
+ "@entity.fx",
3349
+ [
3350
+ "fn",
3351
+ "e",
3352
+ [
3353
+ "object/merge",
3354
+ "@e",
3355
+ {
3356
+ "ttl": [
3357
+ "-",
3358
+ "@e.ttl",
3359
+ 1.0
3360
+ ]
3361
+ }
3362
+ ]
3363
+ ]
3364
+ ],
3365
+ [
3366
+ "fn",
3367
+ "e",
3368
+ [
3369
+ ">",
3370
+ "@e.ttl",
3371
+ 0.0
3372
+ ]
3373
+ ]
3374
+ ]
3375
+ ],
3006
3376
  [
3007
3377
  "render-ui",
3008
3378
  "main",
3009
3379
  {
3380
+ "addons": {
3381
+ "action": "CANCEL",
3382
+ "label": "Cancel",
3383
+ "type": "button",
3384
+ "variant": "secondary"
3385
+ },
3010
3386
  "children": [
3011
3387
  {
3388
+ "events": "@entity.fx",
3012
3389
  "featureClickEvent": "FEATURE_CLICK",
3013
3390
  "features": "@config.features",
3014
3391
  "scale": "@config.scale",