@quybt93/pcgf 0.0.1

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 (1320) hide show
  1. package/.agents/plugins/marketplace.json +20 -0
  2. package/.agents/skills/bmad-advanced-elicitation/SKILL.md +64 -0
  3. package/.agents/skills/bmad-advanced-elicitation/assets/methods.csv +72 -0
  4. package/.agents/skills/bmad-advanced-elicitation/customize.toml +54 -0
  5. package/.agents/skills/bmad-advanced-elicitation/scripts/pick_methods.py +233 -0
  6. package/.agents/skills/bmad-advanced-elicitation/scripts/tests/test_pick_methods.py +228 -0
  7. package/.agents/skills/bmad-agent-analyst/SKILL.md +76 -0
  8. package/.agents/skills/bmad-agent-analyst/customize.toml +103 -0
  9. package/.agents/skills/bmad-agent-architect/SKILL.md +76 -0
  10. package/.agents/skills/bmad-agent-architect/customize.toml +63 -0
  11. package/.agents/skills/bmad-agent-dev/SKILL.md +76 -0
  12. package/.agents/skills/bmad-agent-dev/customize.toml +81 -0
  13. package/.agents/skills/bmad-agent-pm/SKILL.md +76 -0
  14. package/.agents/skills/bmad-agent-pm/customize.toml +73 -0
  15. package/.agents/skills/bmad-agent-ux-designer/SKILL.md +76 -0
  16. package/.agents/skills/bmad-agent-ux-designer/customize.toml +58 -0
  17. package/.agents/skills/bmad-architecture/SKILL.md +85 -0
  18. package/.agents/skills/bmad-architecture/assets/spine-template.md +79 -0
  19. package/.agents/skills/bmad-architecture/customize.toml +101 -0
  20. package/.agents/skills/bmad-architecture/references/headless.md +26 -0
  21. package/.agents/skills/bmad-architecture/references/reviewer-gate.md +13 -0
  22. package/.agents/skills/bmad-architecture/scripts/lint_spine.py +257 -0
  23. package/.agents/skills/bmad-architecture/scripts/tests/test_lint_spine.py +270 -0
  24. package/.agents/skills/bmad-brainstorming/SKILL.md +80 -0
  25. package/.agents/skills/bmad-brainstorming/assets/brain-icons.json +166 -0
  26. package/.agents/skills/bmad-brainstorming/assets/brain-methods.csv +109 -0
  27. package/.agents/skills/bmad-brainstorming/assets/brain-selector.html +328 -0
  28. package/.agents/skills/bmad-brainstorming/customize.toml +83 -0
  29. package/.agents/skills/bmad-brainstorming/references/converge.md +24 -0
  30. package/.agents/skills/bmad-brainstorming/references/finalize.md +26 -0
  31. package/.agents/skills/bmad-brainstorming/references/headless.md +54 -0
  32. package/.agents/skills/bmad-brainstorming/references/in-chat-techniques.md +18 -0
  33. package/.agents/skills/bmad-brainstorming/references/mode-autonomous.md +10 -0
  34. package/.agents/skills/bmad-brainstorming/references/mode-facilitator.md +11 -0
  35. package/.agents/skills/bmad-brainstorming/references/mode-partner.md +16 -0
  36. package/.agents/skills/bmad-brainstorming/references/resume.md +5 -0
  37. package/.agents/skills/bmad-brainstorming/scripts/brain.py +789 -0
  38. package/.agents/skills/bmad-brainstorming/scripts/tests/test_brain.py +289 -0
  39. package/.agents/skills/bmad-build/SKILL.md +13 -0
  40. package/.agents/skills/bmad-build/compile-epic-context.md +62 -0
  41. package/.agents/skills/bmad-build/customize.toml +152 -0
  42. package/.agents/skills/bmad-build/references/claims-check.md +14 -0
  43. package/.agents/skills/bmad-build/references/deletion-check.md +14 -0
  44. package/.agents/skills/bmad-build/review-prompts/edge-case-hunter.md +112 -0
  45. package/.agents/skills/bmad-build/review-prompts/verification-gap.md +113 -0
  46. package/.agents/skills/bmad-build/spec-template.md +111 -0
  47. package/.agents/skills/bmad-build/step-01-clarify-and-route.md +100 -0
  48. package/.agents/skills/bmad-build/step-02-plan.md +62 -0
  49. package/.agents/skills/bmad-build/step-03-implement.md +51 -0
  50. package/.agents/skills/bmad-build/step-04-review.md +85 -0
  51. package/.agents/skills/bmad-build/step-05-present.md +43 -0
  52. package/.agents/skills/bmad-build/step-oneshot.md +107 -0
  53. package/.agents/skills/bmad-build/sync-sprint-status.md +5 -0
  54. package/.agents/skills/bmad-build/workflow.md +84 -0
  55. package/.agents/skills/bmad-build-auto/SKILL.md +13 -0
  56. package/.agents/skills/bmad-build-auto/compile-epic-context.md +62 -0
  57. package/.agents/skills/bmad-build-auto/customize.toml +119 -0
  58. package/.agents/skills/bmad-build-auto/references/claims-check.md +14 -0
  59. package/.agents/skills/bmad-build-auto/references/deletion-check.md +14 -0
  60. package/.agents/skills/bmad-build-auto/review-prompts/edge-case-hunter.md +112 -0
  61. package/.agents/skills/bmad-build-auto/review-prompts/verification-gap.md +113 -0
  62. package/.agents/skills/bmad-build-auto/spec-template.md +96 -0
  63. package/.agents/skills/bmad-build-auto/step-01-clarify-and-route.md +84 -0
  64. package/.agents/skills/bmad-build-auto/step-02-plan.md +27 -0
  65. package/.agents/skills/bmad-build-auto/step-03-implement.md +48 -0
  66. package/.agents/skills/bmad-build-auto/step-04-review.md +116 -0
  67. package/.agents/skills/bmad-build-auto/workflow.md +104 -0
  68. package/.agents/skills/bmad-code-review/SKILL.md +90 -0
  69. package/.agents/skills/bmad-code-review/customize.toml +110 -0
  70. package/.agents/skills/bmad-code-review/references/claims-check.md +14 -0
  71. package/.agents/skills/bmad-code-review/references/deletion-check.md +14 -0
  72. package/.agents/skills/bmad-code-review/review-prompts/edge-case-hunter.md +112 -0
  73. package/.agents/skills/bmad-code-review/review-prompts/verification-gap.md +113 -0
  74. package/.agents/skills/bmad-code-review/steps/step-01-gather-context.md +94 -0
  75. package/.agents/skills/bmad-code-review/steps/step-02-review.md +32 -0
  76. package/.agents/skills/bmad-code-review/steps/step-03-triage.md +54 -0
  77. package/.agents/skills/bmad-code-review/steps/step-04-present.md +134 -0
  78. package/.agents/skills/bmad-correct-course/SKILL.md +308 -0
  79. package/.agents/skills/bmad-correct-course/checklist.md +288 -0
  80. package/.agents/skills/bmad-correct-course/customize.toml +39 -0
  81. package/.agents/skills/bmad-create-epics-and-stories/SKILL.md +93 -0
  82. package/.agents/skills/bmad-create-epics-and-stories/customize.toml +39 -0
  83. package/.agents/skills/bmad-create-epics-and-stories/steps/step-01-validate-prerequisites.md +263 -0
  84. package/.agents/skills/bmad-create-epics-and-stories/steps/step-02-design-epics.md +242 -0
  85. package/.agents/skills/bmad-create-epics-and-stories/steps/step-03-create-stories.md +255 -0
  86. package/.agents/skills/bmad-create-epics-and-stories/steps/step-04-final-validation.md +143 -0
  87. package/.agents/skills/bmad-create-epics-and-stories/templates/epics-template.md +61 -0
  88. package/.agents/skills/bmad-customize/SKILL.md +111 -0
  89. package/.agents/skills/bmad-customize/scripts/list_customizable_skills.py +231 -0
  90. package/.agents/skills/bmad-customize/scripts/tests/test_list_customizable_skills.py +249 -0
  91. package/.agents/skills/bmad-deep-recon/SKILL.md +82 -0
  92. package/.agents/skills/bmad-deep-recon/assets/research.template.md +18 -0
  93. package/.agents/skills/bmad-deep-recon/customize.toml +212 -0
  94. package/.agents/skills/bmad-deep-recon/references/draft.md +8 -0
  95. package/.agents/skills/bmad-deep-recon/references/finalize.md +11 -0
  96. package/.agents/skills/bmad-deep-recon/references/html-briefing.md +16 -0
  97. package/.agents/skills/bmad-deep-recon/references/lifecycle.md +11 -0
  98. package/.agents/skills/bmad-deep-recon/references/process.md +10 -0
  99. package/.agents/skills/bmad-deep-recon/references/run.md +73 -0
  100. package/.agents/skills/bmad-deep-recon/references/selection.md +13 -0
  101. package/.agents/skills/bmad-deep-recon/references/synthesis.md +16 -0
  102. package/.agents/skills/bmad-deep-recon/references/verification.md +29 -0
  103. package/.agents/skills/bmad-deep-recon/scripts/recon_kit.py +322 -0
  104. package/.agents/skills/bmad-deep-recon/scripts/tests/test_recon_kit.py +144 -0
  105. package/.agents/skills/bmad-deep-recon/types/academic-lit.md +19 -0
  106. package/.agents/skills/bmad-deep-recon/types/competitive.md +19 -0
  107. package/.agents/skills/bmad-deep-recon/types/domain.md +19 -0
  108. package/.agents/skills/bmad-deep-recon/types/market.md +19 -0
  109. package/.agents/skills/bmad-deep-recon/types/technical.md +19 -0
  110. package/.agents/skills/bmad-deep-recon/types/user-voice.md +19 -0
  111. package/.agents/skills/bmad-forge-idea/SKILL.md +107 -0
  112. package/.agents/skills/bmad-forge-idea/customize.toml +41 -0
  113. package/.agents/skills/bmad-forge-idea/scripts/resolve_personas.py +277 -0
  114. package/.agents/skills/bmad-forge-idea/scripts/tests/test_resolve_personas.py +160 -0
  115. package/.agents/skills/bmad-help/SKILL.md +77 -0
  116. package/.agents/skills/bmad-party-mode/SKILL.md +60 -0
  117. package/.agents/skills/bmad-party-mode/customize.toml +211 -0
  118. package/.agents/skills/bmad-party-mode/references/create-party.md +70 -0
  119. package/.agents/skills/bmad-party-mode/references/mode-agent-team.md +13 -0
  120. package/.agents/skills/bmad-party-mode/references/mode-auto.md +13 -0
  121. package/.agents/skills/bmad-party-mode/references/mode-subagent.md +31 -0
  122. package/.agents/skills/bmad-party-mode/references/party-memory.md +51 -0
  123. package/.agents/skills/bmad-party-mode/scripts/resolve_party.py +284 -0
  124. package/.agents/skills/bmad-party-mode/scripts/tests/test_resolve_party.py +168 -0
  125. package/.agents/skills/bmad-prd/SKILL.md +94 -0
  126. package/.agents/skills/bmad-prd/assets/headless-schemas.md +76 -0
  127. package/.agents/skills/bmad-prd/assets/prd-template.md +165 -0
  128. package/.agents/skills/bmad-prd/assets/prd-validation-checklist.md +135 -0
  129. package/.agents/skills/bmad-prd/assets/validation-report-template.html +325 -0
  130. package/.agents/skills/bmad-prd/customize.toml +148 -0
  131. package/.agents/skills/bmad-prd/references/headless.md +39 -0
  132. package/.agents/skills/bmad-prd/references/validate.md +97 -0
  133. package/.agents/skills/bmad-prfaq/SKILL.md +135 -0
  134. package/.agents/skills/bmad-prfaq/agents/artifact-analyzer.md +60 -0
  135. package/.agents/skills/bmad-prfaq/agents/web-researcher.md +49 -0
  136. package/.agents/skills/bmad-prfaq/assets/prfaq-template.md +62 -0
  137. package/.agents/skills/bmad-prfaq/bmad-manifest.json +16 -0
  138. package/.agents/skills/bmad-prfaq/customize.toml +39 -0
  139. package/.agents/skills/bmad-prfaq/references/customer-faq.md +55 -0
  140. package/.agents/skills/bmad-prfaq/references/internal-faq.md +51 -0
  141. package/.agents/skills/bmad-prfaq/references/press-release.md +60 -0
  142. package/.agents/skills/bmad-prfaq/references/verdict.md +83 -0
  143. package/.agents/skills/bmad-product-brief/SKILL.md +91 -0
  144. package/.agents/skills/bmad-product-brief/assets/brief-template.md +41 -0
  145. package/.agents/skills/bmad-product-brief/customize.toml +100 -0
  146. package/.agents/skills/bmad-project-context/SKILL.md +121 -0
  147. package/.agents/skills/bmad-project-context/customize.toml +24 -0
  148. package/.agents/skills/bmad-project-context/references/best-practices.md +84 -0
  149. package/.agents/skills/bmad-project-context/references/template.md +55 -0
  150. package/.agents/skills/bmad-qa-generate-e2e-tests/SKILL.md +176 -0
  151. package/.agents/skills/bmad-qa-generate-e2e-tests/checklist.md +33 -0
  152. package/.agents/skills/bmad-qa-generate-e2e-tests/customize.toml +39 -0
  153. package/.agents/skills/bmad-retrospective/SKILL.md +94 -0
  154. package/.agents/skills/bmad-retrospective/customize.toml +39 -0
  155. package/.agents/skills/bmad-retrospective/references/acceptance-verdict.md +55 -0
  156. package/.agents/skills/bmad-retrospective/references/aggregate-views.md +17 -0
  157. package/.agents/skills/bmad-retrospective/references/evidence-gathering.md +30 -0
  158. package/.agents/skills/bmad-retrospective/references/retro-document.md +84 -0
  159. package/.agents/skills/bmad-retrospective/references/team-discussion.md +22 -0
  160. package/.agents/skills/bmad-retrospective/scripts/git_evidence.py +304 -0
  161. package/.agents/skills/bmad-retrospective/scripts/sprint_status.py +746 -0
  162. package/.agents/skills/bmad-retrospective/scripts/tests/fixtures/sprint-status-template.yaml +71 -0
  163. package/.agents/skills/bmad-retrospective/scripts/tests/test_git_evidence.py +750 -0
  164. package/.agents/skills/bmad-retrospective/scripts/tests/test_sprint_status.py +1579 -0
  165. package/.agents/skills/bmad-review/SKILL.md +50 -0
  166. package/.agents/skills/bmad-review/customize.toml +141 -0
  167. package/.agents/skills/bmad-review/references/editorial-common.md +56 -0
  168. package/.agents/skills/bmad-review/references/lens-adversarial.md +19 -0
  169. package/.agents/skills/bmad-review/references/lens-edge-case-hunter.md +72 -0
  170. package/.agents/skills/bmad-review/references/lens-prose.md +7 -0
  171. package/.agents/skills/bmad-review/references/lens-structure.md +9 -0
  172. package/.agents/skills/bmad-review/references/lens-verification-gap.md +92 -0
  173. package/.agents/skills/bmad-review/references/structure-models.md +44 -0
  174. package/.agents/skills/bmad-review/scripts/tests/test_word_metrics.py +62 -0
  175. package/.agents/skills/bmad-review/scripts/word_metrics.py +102 -0
  176. package/.agents/skills/bmad-spec/SKILL.md +160 -0
  177. package/.agents/skills/bmad-spec/assets/headless-schemas.md +33 -0
  178. package/.agents/skills/bmad-spec/assets/spec-template.md +49 -0
  179. package/.agents/skills/bmad-spec/assets/stories-schema.md +44 -0
  180. package/.agents/skills/bmad-spec/customize.toml +52 -0
  181. package/.agents/skills/bmad-sprint-planning/SKILL.md +62 -0
  182. package/.agents/skills/bmad-sprint-planning/customize.toml +39 -0
  183. package/.agents/skills/bmad-sprint-planning/references/fix-sprint-status.md +30 -0
  184. package/.agents/skills/bmad-sprint-planning/references/generate-tracking.md +25 -0
  185. package/.agents/skills/bmad-sprint-planning/references/readiness-gate.md +20 -0
  186. package/.agents/skills/bmad-sprint-planning/references/status-view.md +14 -0
  187. package/.agents/skills/bmad-sprint-planning/references/validate.md +10 -0
  188. package/.agents/skills/bmad-sprint-planning/scripts/sprint_plan.py +697 -0
  189. package/.agents/skills/bmad-sprint-planning/scripts/tests/test_sprint_plan.py +524 -0
  190. package/.agents/skills/bmad-sprint-planning/sprint-status-template.yaml +71 -0
  191. package/.agents/skills/bmad-ux/SKILL.md +90 -0
  192. package/.agents/skills/bmad-ux/assets/color-themes.md +9 -0
  193. package/.agents/skills/bmad-ux/assets/design-directions.md +9 -0
  194. package/.agents/skills/bmad-ux/assets/design-example-editorial.md +158 -0
  195. package/.agents/skills/bmad-ux/assets/design-example-mobile.md +93 -0
  196. package/.agents/skills/bmad-ux/assets/design-example-shadcn.md +109 -0
  197. package/.agents/skills/bmad-ux/assets/excalidraw-wireframe.md +19 -0
  198. package/.agents/skills/bmad-ux/assets/experience-example-mobile.md +112 -0
  199. package/.agents/skills/bmad-ux/assets/experience-example-shadcn.md +133 -0
  200. package/.agents/skills/bmad-ux/assets/headless-schemas.md +84 -0
  201. package/.agents/skills/bmad-ux/assets/key-screens.md +29 -0
  202. package/.agents/skills/bmad-ux/assets/validation-report-template.html +319 -0
  203. package/.agents/skills/bmad-ux/customize.toml +100 -0
  204. package/.agents/skills/bmad-ux/references/creative-tools.md +19 -0
  205. package/.agents/skills/bmad-ux/references/design-md-spec.md +50 -0
  206. package/.agents/skills/bmad-ux/references/headless.md +37 -0
  207. package/.agents/skills/bmad-ux/references/validate.md +115 -0
  208. package/.agents/skills/bmad-walkthrough/SKILL.md +68 -0
  209. package/.agents/skills/bmad-walkthrough/customize.toml +39 -0
  210. package/.agents/skills/bmad-walkthrough/generate-trail.md +38 -0
  211. package/.agents/skills/bmad-walkthrough/step-01-orientation.md +105 -0
  212. package/.agents/skills/bmad-walkthrough/step-02-walkthrough.md +89 -0
  213. package/.agents/skills/bmad-walkthrough/step-03-detail-pass.md +106 -0
  214. package/.agents/skills/bmad-walkthrough/step-04-testing.md +74 -0
  215. package/.agents/skills/bmad-walkthrough/step-05-wrapup.md +30 -0
  216. package/README.md +111 -0
  217. package/bin/pcgf.js +8 -0
  218. package/installer/clean.js +137 -0
  219. package/installer/cli.js +479 -0
  220. package/installer/deps.js +160 -0
  221. package/installer/fs-utils.js +58 -0
  222. package/installer/install.js +201 -0
  223. package/installer/paths.js +17 -0
  224. package/installer/scaffold.js +274 -0
  225. package/installer/tools.js +38 -0
  226. package/package.json +37 -0
  227. package/plugins/phaser-casual-game-factory/.codex-plugin/plugin.json +27 -0
  228. package/plugins/phaser-casual-game-factory/PROGRESS.md +120 -0
  229. package/plugins/phaser-casual-game-factory/README.md +79 -0
  230. package/plugins/phaser-casual-game-factory/assets/sfx/README.md +8 -0
  231. package/plugins/phaser-casual-game-factory/assets/sfx/ui_click.mp3 +0 -0
  232. package/plugins/phaser-casual-game-factory/assets/sfx/ui_close.mp3 +0 -0
  233. package/plugins/phaser-casual-game-factory/assets/ui-packs/README.md +9 -0
  234. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_l_Blue.png +0 -0
  235. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_l_DarkGray.png +0 -0
  236. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_l_Gray.png +0 -0
  237. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_l_Green.png +0 -0
  238. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_l_Mint.png +0 -0
  239. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_l_Pink.png +0 -0
  240. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_l_Purple.png +0 -0
  241. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_l_Red.png +0 -0
  242. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_l_Sky.png +0 -0
  243. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_l_White_Bg.png +0 -0
  244. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_l_White_Light1.png +0 -0
  245. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_l_White_Light2.png +0 -0
  246. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_l_Yellow.png +0 -0
  247. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_s_Blue.png +0 -0
  248. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_s_DarkGray.png +0 -0
  249. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_s_Flat.png +0 -0
  250. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_s_Gray.png +0 -0
  251. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_s_Green.png +0 -0
  252. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_s_Mint.png +0 -0
  253. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_s_PInk.png +0 -0
  254. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_s_Purple.png +0 -0
  255. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_s_Red.png +0 -0
  256. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_s_Sky.png +0 -0
  257. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_s_White_Bg.png +0 -0
  258. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_s_White_Light1.png +0 -0
  259. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_s_White_Light2.png +0 -0
  260. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_s_Yellow.png +0 -0
  261. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Circle118.png +0 -0
  262. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Circle120.png +0 -0
  263. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Circle122.png +0 -0
  264. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Circle74_Bg.png +0 -0
  265. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Circle74_Border.png +0 -0
  266. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Circle82.png +0 -0
  267. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_LeftFlush_Dark.png +0 -0
  268. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_LeftFlush_White1.png +0 -0
  269. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_LeftFlush_White2.png +0 -0
  270. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round01_White_Bg.png +0 -0
  271. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round01_White_Light1.png +0 -0
  272. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round01_White_Light2.png +0 -0
  273. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round01_Yellow.png +0 -0
  274. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round02_Blue.png +0 -0
  275. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round02_White_Bg.png +0 -0
  276. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round02_White_Light.png +0 -0
  277. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round03_Dark.png +0 -0
  278. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round03_WhiteBg.png +0 -0
  279. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round03_White_Light.png +0 -0
  280. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round04_Bg.png +0 -0
  281. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round04_Oblique.png +0 -0
  282. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round05.png +0 -0
  283. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round06_Red.png +0 -0
  284. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round06_White.png +0 -0
  285. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round07.png +0 -0
  286. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round08.png +0 -0
  287. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round09.png +0 -0
  288. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round10_Bg.png +0 -0
  289. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round10_Light.png +0 -0
  290. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_SkillBtnMask.png +0 -0
  291. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_SkillBtn_Blue.png +0 -0
  292. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_SkillBtn_Dark.png +0 -0
  293. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_SkillBtn_Orange.png +0 -0
  294. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_SkillBtn_Red.png +0 -0
  295. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_SkillBtn_White_Bg.png +0 -0
  296. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_SkillBtn_White_Light.png +0 -0
  297. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Tapered_White1.png +0 -0
  298. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Tapered_White2.png +0 -0
  299. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Tapered_White3.png +0 -0
  300. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Tapered_Yellow.png +0 -0
  301. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Menu_BottomBtn_Bg.png +0 -0
  302. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Menu_BottomBtn_TabFocus.png +0 -0
  303. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Menu_BottomBtn_TabFocus_Light.png +0 -0
  304. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Menu_MiddleBtn_Bg.png +0 -0
  305. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Menu_MiddleBtn_TabFocus.png +0 -0
  306. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame00_01~02_Bg.png +0 -0
  307. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame00_01~02_InnerBg.png +0 -0
  308. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame00_01~02_InnerLine.png +0 -0
  309. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame00_01~02_Light.png +0 -0
  310. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame00_01~02_Pattern.png +0 -0
  311. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame00_01~02_Pattern.psd +0 -0
  312. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame00_03_Bg.png +0 -0
  313. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame00_03_Border.png +0 -0
  314. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame00_04~06_Bg.png +0 -0
  315. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame00_04~06_BgLight.png +0 -0
  316. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame00_04~06_Border.png +0 -0
  317. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame00_04~06_Pattern.png +0 -0
  318. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame03_Demo.png +0 -0
  319. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame04_Demo.png +0 -0
  320. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame05_Demo.png +0 -0
  321. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame06_Demo_Blue.png +0 -0
  322. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame06_Demo__Gray.png +0 -0
  323. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame07.png +0 -0
  324. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BasicFrame_Circle160.png +0 -0
  325. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BasicFrame_Hexagon87.png +0 -0
  326. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BasicFrame_Oval44.png +0 -0
  327. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BasicFrame_Oval50.png +0 -0
  328. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BasicFrame_Round12.png +0 -0
  329. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BasicFrame_Round17.png +0 -0
  330. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BasicFrame_Round20.png +0 -0
  331. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BasicFrame_Round24.png +0 -0
  332. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Circle60.png +0 -0
  333. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Circle75_Bg.png +0 -0
  334. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Circle75_Light.png +0 -0
  335. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Circle78.png +0 -0
  336. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Flag_Demo_Blue.png +0 -0
  337. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Flag_Demo_Green.png +0 -0
  338. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Flag_Demo_Red.png +0 -0
  339. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Flag_White_Bg.png +0 -0
  340. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Flag_White_BgGradient.png +0 -0
  341. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Flag_White_BgLine01.png +0 -0
  342. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Flag_White_BgLine02.png +0 -0
  343. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Oval46_Bg.png +0 -0
  344. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Oval46_InnerLine.png +0 -0
  345. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Oval58.png +0 -0
  346. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Rhombus_Bg.png +0 -0
  347. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Rhombus_Inner.png +0 -0
  348. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Round18_Transparent.png +0 -0
  349. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Round20_Demo_Dark.png +0 -0
  350. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Round20_Demo_Yellow.png +0 -0
  351. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Round20_White_Bg.png +0 -0
  352. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Round20_White_Light.png +0 -0
  353. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Round24.png +0 -0
  354. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Round30.png +0 -0
  355. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Squrare_Bg.png +0 -0
  356. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Squrare_Inner.png +0 -0
  357. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame01_Bg.png +0 -0
  358. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame01_BgArrow.png +0 -0
  359. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame01_BgShadow.png +0 -0
  360. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame01_Hexagon_Bg_Blue.png +0 -0
  361. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame01_Hexagon_Bg_Green.png +0 -0
  362. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame01_Hexagon_Bg_Yellow.png +0 -0
  363. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame01_Hexagon_FocusBorder.png +0 -0
  364. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame01_Hexagon_FocusGlow.png +0 -0
  365. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame02_Arrow.png +0 -0
  366. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame02_Bg.png +0 -0
  367. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame02_BgShadow.png +0 -0
  368. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame03_Arrow_Left.png +0 -0
  369. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame03_Arrow_Right.png +0 -0
  370. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame03_Bg.png +0 -0
  371. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame04_Blue_Arrow.png +0 -0
  372. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame04_Blue_Bg.png +0 -0
  373. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame04_White_Arrow.png +0 -0
  374. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame04_White_Bg.png +0 -0
  375. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame05_InnerBg.png +0 -0
  376. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame05_InnerBorder.png +0 -0
  377. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame05_Left_Bg.png +0 -0
  378. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame05_Left_BgShadow.png +0 -0
  379. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame05_Right_Bg.png +0 -0
  380. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame05_Right_BgShadow.png +0 -0
  381. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame01_Bg_d.png +0 -0
  382. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame01_Bg_d_Pattern.png +0 -0
  383. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame01_Bg_n.png +0 -0
  384. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame01_Border.png +0 -0
  385. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame01_Bottom.png +0 -0
  386. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame01_Glow.png +0 -0
  387. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame01_Gradient.png +0 -0
  388. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame01_Gradient_Hologram.png +0 -0
  389. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame02_d_Bg.png +0 -0
  390. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame02_d_Bg_Pattern.png +0 -0
  391. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame02_d_Border.png +0 -0
  392. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame02_n_Bg.png +0 -0
  393. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame02_n_Bottom.png +0 -0
  394. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame02_n_Light.png +0 -0
  395. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame03_d.png +0 -0
  396. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame03_n_Bg.png +0 -0
  397. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame03_n_InnerBg.png +0 -0
  398. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame03_n_Light.png +0 -0
  399. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame04_Bg.png +0 -0
  400. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame04_Bg_DividerLine.png +0 -0
  401. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame04_Bg_Gradient.png +0 -0
  402. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame04_Border.png +0 -0
  403. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame04_FocusBorder.png +0 -0
  404. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame04_FocusGlow.png +0 -0
  405. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame04_Glow.png +0 -0
  406. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame05_Bg.png +0 -0
  407. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame05_Bg_Corner.png +0 -0
  408. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame05_Border.png +0 -0
  409. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame05_FocusBorder.png +0 -0
  410. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame05_FocusGlow.png +0 -0
  411. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame05_Glow.png +0 -0
  412. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame06_Demo_Bg.png +0 -0
  413. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame06_Demo_Bg_Glow_Green.png +0 -0
  414. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame06_Demo_Deco_Green.png +0 -0
  415. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame06_Demo_Frame_Green.png +0 -0
  416. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame06_White_Bg.png +0 -0
  417. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame06_White_Bg_Glow.png +0 -0
  418. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame06_White_Deco.png +0 -0
  419. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame06_White_Frame.png +0 -0
  420. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame00~03_Bg.png +0 -0
  421. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame00~03_BgGlow.png +0 -0
  422. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame00~03_BgLight.png +0 -0
  423. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame00~03_Bg_Hologram.png +0 -0
  424. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame00~03_Border.png +0 -0
  425. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame00~03_CornerDeco.png +0 -0
  426. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame00~03_FocusLine.png +0 -0
  427. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame01_Demo_Blue.png +0 -0
  428. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame01_Demo_Gray.png +0 -0
  429. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame01_Demo_Green.png +0 -0
  430. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame01_Demo_Hologram1.png +0 -0
  431. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame01_Demo_Hologram2.png +0 -0
  432. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame01_Demo_Navy.png +0 -0
  433. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame01_Demo_OffWhite.png +0 -0
  434. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame01_Demo_Purple.png +0 -0
  435. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame01_Demo_Red.png +0 -0
  436. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame01_Demo_Yellow.png +0 -0
  437. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame02_Demo_Blue.png +0 -0
  438. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame02_Demo_Gray.png +0 -0
  439. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame02_Demo_Green.png +0 -0
  440. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame02_Demo_Hologram1.png +0 -0
  441. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame02_Demo_Hologram2.png +0 -0
  442. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame02_Demo_Navy.png +0 -0
  443. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame02_Demo_OffWhite.png +0 -0
  444. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame02_Demo_Purple.png +0 -0
  445. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame02_Demo_Red.png +0 -0
  446. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame02_Demo_Yellow.png +0 -0
  447. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame03_Demo_Blue.png +0 -0
  448. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame03_Demo_Gray.png +0 -0
  449. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame03_Demo_Green.png +0 -0
  450. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame03_Demo_Hologram.png +0 -0
  451. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame03_Demo_Navy.png +0 -0
  452. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame03_Demo_Purple.png +0 -0
  453. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame03_Demo_Red.png +0 -0
  454. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame03_Demo_Yellow.png +0 -0
  455. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ListFrame00_01~02_Bg.png +0 -0
  456. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ListFrame00_01~02_BgInner.png +0 -0
  457. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ListFrame00_01~02_Oblique.png +0 -0
  458. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ListFrame00_03~04_Bg.png +0 -0
  459. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ListFrame00_03~04_BgInner.png +0 -0
  460. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ListFrame00_03~04_Dim.png +0 -0
  461. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ListFrame04_Demo_f_Blue.png +0 -0
  462. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ListFrame04_Demo_f_Yellow.png +0 -0
  463. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/PanelFrame01_Line.png +0 -0
  464. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/PanelFrame02.png +0 -0
  465. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/PanelFrame03_Bg.png +0 -0
  466. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/PanelFrame03_Oblique.png +0 -0
  467. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/PanelFrame04_Bg.png +0 -0
  468. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/PanelFrame04_OutTilte1.png +0 -0
  469. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/PanelFrame04_OutTilte2.png +0 -0
  470. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ProfileFrame01_l_Bg.png +0 -0
  471. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ProfileFrame01_l_Border.png +0 -0
  472. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ProfileFrame01_m~s_Bg.png +0 -0
  473. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ProfileFrame01_m~s_Inner.png +0 -0
  474. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ProfileFrame02_Bg.png +0 -0
  475. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ProfileFrame02_Inner.png +0 -0
  476. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ProfileFrame_Circle275_Bg.png +0 -0
  477. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ProfileFrame_Circle275_Inner.png +0 -0
  478. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/SkillFrame_l~m_Bg.png +0 -0
  479. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/SkillFrame_l~m_Border.png +0 -0
  480. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/SkillFrame_l~m_Empty.png +0 -0
  481. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/SkillFrame_s_Bg.png +0 -0
  482. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/SkillFrame_s_Border.png +0 -0
  483. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/SkillFrame_s_Empty.png +0 -0
  484. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_brz.png +0 -0
  485. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_chn.png +0 -0
  486. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_cze.png +0 -0
  487. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_deu.png +0 -0
  488. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_eng.png +0 -0
  489. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_esp.png +0 -0
  490. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_fra.png +0 -0
  491. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_gbr.png +0 -0
  492. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_gre.png +0 -0
  493. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_ind.png +0 -0
  494. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_ita.png +0 -0
  495. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_jpn.png +0 -0
  496. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_kor.png +0 -0
  497. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_pol.png +0 -0
  498. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_prt.png +0 -0
  499. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_rou.png +0 -0
  500. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_rsa.png +0 -0
  501. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_rus.png +0 -0
  502. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_swe.png +0 -0
  503. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_tha.png +0 -0
  504. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_tur.png +0 -0
  505. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_twn.png +0 -0
  506. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_ukr.png +0 -0
  507. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_usa.png +0 -0
  508. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_GradeBadge/256/Icon_GradeBadge_Beginner.Png +0 -0
  509. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_GradeBadge/256/Icon_GradeBadge_Bronze.Png +0 -0
  510. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_GradeBadge/256/Icon_GradeBadge_Challenger.Png +0 -0
  511. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_GradeBadge/256/Icon_GradeBadge_Diamond.Png +0 -0
  512. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_GradeBadge/256/Icon_GradeBadge_Gold.Png +0 -0
  513. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_GradeBadge/256/Icon_GradeBadge_Grandmaster.Png +0 -0
  514. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_GradeBadge/256/Icon_GradeBadge_Iron.Png +0 -0
  515. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_GradeBadge/256/Icon_GradeBadge_Master.Png +0 -0
  516. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_GradeBadge/256/Icon_GradeBadge_Platinum.Png +0 -0
  517. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_GradeBadge/256/Icon_GradeBadge_Silver.Png +0 -0
  518. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Badge_Crown.Png +0 -0
  519. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Badge_Gold.png +0 -0
  520. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Bag_Brown.Png +0 -0
  521. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Bag_Gray.Png +0 -0
  522. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Battle.Png +0 -0
  523. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Book_1_Purple.Png +0 -0
  524. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Book_1_Wine.Png +0 -0
  525. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Calendar.Png +0 -0
  526. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Calendar_Check.Png +0 -0
  527. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Chat.Png +0 -0
  528. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Chest_Gem.Png +0 -0
  529. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Chest_Gold.Png +0 -0
  530. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Chest_Premium.Png +0 -0
  531. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Chest_Wood.Png +0 -0
  532. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Clover_Gold.Png +0 -0
  533. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Clover_Green.Png +0 -0
  534. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Damage.Png +0 -0
  535. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Dungeon.Png +0 -0
  536. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Earth.Png +0 -0
  537. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Energy_Blue.Png +0 -0
  538. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Friend.Png +0 -0
  539. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Gear.Png +0 -0
  540. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Gear_Armor_Bottom.Png +0 -0
  541. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Gear_Armor_Top.Png +0 -0
  542. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Gear_Boots.Png +0 -0
  543. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Gear_Hat_Witch.Png +0 -0
  544. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Gear_Ring.png +0 -0
  545. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Gear_Sword.Png +0 -0
  546. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Gem_Circle.Png +0 -0
  547. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Gem_Diamond_Purple.Png +0 -0
  548. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Gem_Ellipse_Red.Png +0 -0
  549. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Gem_Star_Blue.Png +0 -0
  550. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Gift_Blue.Png +0 -0
  551. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Gift_Green.Png +0 -0
  552. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Gift_Red.Png +0 -0
  553. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Heart_Dimmed.Png +0 -0
  554. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Heart_Red.Png +0 -0
  555. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Key_Gold.png +0 -0
  556. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Mail.Png +0 -0
  557. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Map.Png +0 -0
  558. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Meat.Png +0 -0
  559. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Medal_Bronze_1.png +0 -0
  560. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Medal_Bronze_2.png +0 -0
  561. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Medal_Gold_1.png +0 -0
  562. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Medal_Gold_2.png +0 -0
  563. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Medal_Silver_1.png +0 -0
  564. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Medal_Silver_2.png +0 -0
  565. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Medalstand.Png +0 -0
  566. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_MemoPad.Png +0 -0
  567. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Money_Bill.Png +0 -0
  568. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Money_Coin.Png +0 -0
  569. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Pot.Png +0 -0
  570. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Shop.Png +0 -0
  571. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Skull.png +0 -0
  572. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Star_Blue.Png +0 -0
  573. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Star_Bronze.Png +0 -0
  574. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Star_Gold.Png +0 -0
  575. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Star_Purple.Png +0 -0
  576. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Star_Red.Png +0 -0
  577. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Star_Silver.Png +0 -0
  578. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_TV_AdBlock.png +0 -0
  579. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Ticket_Gold.Png +0 -0
  580. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Ticket_Red.Png +0 -0
  581. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Trophy_Bronze.Png +0 -0
  582. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Trophy_Gold.Png +0 -0
  583. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Trophy_Silver.Png +0 -0
  584. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Video.Png +0 -0
  585. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Again_1.Png +0 -0
  586. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Again_2.Png +0 -0
  587. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Aiming_1.Png +0 -0
  588. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Aiming_2.Png +0 -0
  589. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Alarm.Png +0 -0
  590. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Anchor.Png +0 -0
  591. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Archer.Png +0 -0
  592. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Armor.Png +0 -0
  593. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Arrow_Down.Png +0 -0
  594. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Arrow_Left_1.Png +0 -0
  595. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Arrow_Left_2.Png +0 -0
  596. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Arrow_Left_3.Png +0 -0
  597. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Arrow_Right_1.Png +0 -0
  598. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Arrow_Right_2.Png +0 -0
  599. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Arrow_Right_3.Png +0 -0
  600. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Arrow_Up.Png +0 -0
  601. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_At.Png +0 -0
  602. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Attack.Png +0 -0
  603. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Ax.Png +0 -0
  604. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Ax_Double.Png +0 -0
  605. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Back_1.Png +0 -0
  606. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Back_2.Png +0 -0
  607. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Badge.Png +0 -0
  608. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Bag.Png +0 -0
  609. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Bank.Png +0 -0
  610. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Basket.Png +0 -0
  611. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Battery_Charge.Png +0 -0
  612. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Battle.Png +0 -0
  613. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Bell.Png +0 -0
  614. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Bell_Off.Png +0 -0
  615. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Bell_On.Png +0 -0
  616. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Bell_Sleep.Png +0 -0
  617. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Blacksmith.Png +0 -0
  618. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Block.Png +0 -0
  619. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Bluetooth.Png +0 -0
  620. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Bomb_1.Png +0 -0
  621. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Bomb_2.Png +0 -0
  622. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Book_1.Png +0 -0
  623. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Book_2.Png +0 -0
  624. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Book_3.Png +0 -0
  625. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Boots.Png +0 -0
  626. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Boss.Png +0 -0
  627. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Bow.Png +0 -0
  628. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Brief_Bag.Png +0 -0
  629. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Brush.Png +0 -0
  630. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Bulb.Png +0 -0
  631. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Bulb_Charge.Png +0 -0
  632. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Bullet.Png +0 -0
  633. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Calendar.Png +0 -0
  634. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Camera.Png +0 -0
  635. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Camera_Off.Png +0 -0
  636. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Cap.Png +0 -0
  637. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Card_1.Png +0 -0
  638. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Card_2.Png +0 -0
  639. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Cart_1.Png +0 -0
  640. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Cart_2.Png +0 -0
  641. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Castle.Png +0 -0
  642. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Caution.Png +0 -0
  643. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Certification.Png +0 -0
  644. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Change.Png +0 -0
  645. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Chat_1.Png +0 -0
  646. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Chat_2.Png +0 -0
  647. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Check_1.Png +0 -0
  648. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Check_2.Png +0 -0
  649. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Chest.Png +0 -0
  650. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Chisel.Png +0 -0
  651. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Class_A.Png +0 -0
  652. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Class_B.Png +0 -0
  653. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Class_C.Png +0 -0
  654. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Class_D.Png +0 -0
  655. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Class_S.Png +0 -0
  656. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Class_Ss.Png +0 -0
  657. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Clock_1.Png +0 -0
  658. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Clock_2.Png +0 -0
  659. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Closet.Png +0 -0
  660. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Clothes.Png +0 -0
  661. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Coin.Png +0 -0
  662. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Coin_Star.Png +0 -0
  663. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Compass.Png +0 -0
  664. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Console_1.Png +0 -0
  665. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Console_2.Png +0 -0
  666. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Contraction.Png +0 -0
  667. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Cooking.Png +0 -0
  668. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Copy.Png +0 -0
  669. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Costume.Png +0 -0
  670. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Critical_1.Png +0 -0
  671. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Critical_2.Png +0 -0
  672. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Critical_3.Png +0 -0
  673. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Crown_1.Png +0 -0
  674. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Crown_2.Png +0 -0
  675. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Crystal.Png +0 -0
  676. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Delete.Png +0 -0
  677. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Diamond.Png +0 -0
  678. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Dice.Png +0 -0
  679. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Direction_1.Png +0 -0
  680. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Direction_2.Png +0 -0
  681. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Discount.Png +0 -0
  682. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Dollar_1.Png +0 -0
  683. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Dollar_2.Png +0 -0
  684. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Download.Png +0 -0
  685. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Earth.Png +0 -0
  686. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Earth_Pin.Png +0 -0
  687. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Effect.Png +0 -0
  688. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Energy_1.Png +0 -0
  689. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Energy_2.Png +0 -0
  690. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Exit.Png +0 -0
  691. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Exit_1.Png +0 -0
  692. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Exit_2.Png +0 -0
  693. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Exp.Png +0 -0
  694. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Expansion.Png +0 -0
  695. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Face.Png +0 -0
  696. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Faint.Png +0 -0
  697. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Female.Png +0 -0
  698. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Fire.Png +0 -0
  699. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Firework.Png +0 -0
  700. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Fish.Png +0 -0
  701. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Fishing.Png +0 -0
  702. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Flag.Png +0 -0
  703. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Float.Png +0 -0
  704. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Food.Png +0 -0
  705. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Freezee.Png +0 -0
  706. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Friends.Png +0 -0
  707. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Gallery.Png +0 -0
  708. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Game.Png +0 -0
  709. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Gear.Png +0 -0
  710. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Gift.Png +0 -0
  711. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Glasses.Png +0 -0
  712. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Globe.Png +0 -0
  713. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Graduation_Cap.Png +0 -0
  714. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Hammer.Png +0 -0
  715. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Hammer_Claw.Png +0 -0
  716. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Hand_Touch.Png +0 -0
  717. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Hanger.Png +0 -0
  718. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Hat.Png +0 -0
  719. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Headset.Png +0 -0
  720. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Heart.Png +0 -0
  721. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Heart_Add.Png +0 -0
  722. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Heart_Empty.Png +0 -0
  723. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Helmet_1.Png +0 -0
  724. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Helmet_2.Png +0 -0
  725. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Help_1.Png +0 -0
  726. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Help_2.Png +0 -0
  727. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_History.Png +0 -0
  728. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Home_1.Png +0 -0
  729. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Home_2.Png +0 -0
  730. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Hp.Png +0 -0
  731. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Icecream.Png +0 -0
  732. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Illuminati.Png +0 -0
  733. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Infinity.Png +0 -0
  734. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Info_1.Png +0 -0
  735. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Info_2.Png +0 -0
  736. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Info_3.Png +0 -0
  737. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Info_4.Png +0 -0
  738. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Key.Png +0 -0
  739. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Kitchen_Knife.Png +0 -0
  740. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Layer_1.Png +0 -0
  741. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Layer_2.Png +0 -0
  742. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Leaf.Png +0 -0
  743. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Link.Png +0 -0
  744. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Lock_1.Png +0 -0
  745. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Lock_2.Png +0 -0
  746. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Lock_Open.Png +0 -0
  747. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Magic.Png +0 -0
  748. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Magic_Ball.Png +0 -0
  749. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Mail_1.Png +0 -0
  750. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Mail_2.Png +0 -0
  751. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Male.Png +0 -0
  752. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Map_1.Png +0 -0
  753. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Map_2.Png +0 -0
  754. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Map_Pin.Png +0 -0
  755. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Meal.Png +0 -0
  756. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Medal_1.Png +0 -0
  757. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Medal_2.Png +0 -0
  758. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Megaphone.Png +0 -0
  759. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Menu_1.Png +0 -0
  760. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Menu_2.Png +0 -0
  761. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Menu_3.Png +0 -0
  762. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Menu_4.Png +0 -0
  763. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Menu_5.Png +0 -0
  764. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Menu_6.Png +0 -0
  765. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Merge.Png +0 -0
  766. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Message_Bottle.Png +0 -0
  767. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Minus_1.Png +0 -0
  768. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Minus_2.Png +0 -0
  769. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Mission.Png +0 -0
  770. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Money_1.Png +0 -0
  771. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Money_2.Png +0 -0
  772. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Money_Pouch.Png +0 -0
  773. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Movie.Png +0 -0
  774. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Mushroom.Png +0 -0
  775. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Music_1.Png +0 -0
  776. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Music_1_Off.Png +0 -0
  777. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Music_2.Png +0 -0
  778. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Music_2_Off.Png +0 -0
  779. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Necklace.Png +0 -0
  780. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Night.Png +0 -0
  781. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Note.Png +0 -0
  782. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Object.Png +0 -0
  783. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Page_Next.Png +0 -0
  784. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Page_Prev.Png +0 -0
  785. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Paper_1.Png +0 -0
  786. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Paper_2.Png +0 -0
  787. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Path.Png +0 -0
  788. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Pause_1.Png +0 -0
  789. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Pause_2.Png +0 -0
  790. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Paw.Png +0 -0
  791. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Pen.Png +0 -0
  792. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Pen_Feather.Png +0 -0
  793. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Pencil.Png +0 -0
  794. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Phone.Png +0 -0
  795. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Photo_1.Png +0 -0
  796. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Photo_2.Png +0 -0
  797. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Pick.Png +0 -0
  798. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Pickax.Png +0 -0
  799. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Plants.Png +0 -0
  800. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Play_1.Png +0 -0
  801. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Play_2.Png +0 -0
  802. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Plus_1.Png +0 -0
  803. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Plus_2.Png +0 -0
  804. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Potion_1.Png +0 -0
  805. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Potion_2.Png +0 -0
  806. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Potion_3.Png +0 -0
  807. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Pouch.Png +0 -0
  808. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Power_1.Png +0 -0
  809. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Power_2.Png +0 -0
  810. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Power_Off.Png +0 -0
  811. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Rampart.Png +0 -0
  812. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Rank_1.Png +0 -0
  813. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Rank_2.Png +0 -0
  814. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Recommendation.Png +0 -0
  815. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Recycle.Png +0 -0
  816. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Refresh_1.Png +0 -0
  817. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Refresh_2.Png +0 -0
  818. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Refresh_3.Png +0 -0
  819. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Refresh_4.Png +0 -0
  820. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Ring.Png +0 -0
  821. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Roulette.Png +0 -0
  822. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Safebox.Png +0 -0
  823. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Sandglass.Png +0 -0
  824. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Saw.Png +0 -0
  825. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Scale.Png +0 -0
  826. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Scroll_Old.Png +0 -0
  827. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Search.Png +0 -0
  828. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Security.Png +0 -0
  829. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Setting.Png +0 -0
  830. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Share.Png +0 -0
  831. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Sheos.Png +0 -0
  832. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Sheos_Wing.Png +0 -0
  833. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Sheriff.Png +0 -0
  834. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Shield_1.Png +0 -0
  835. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Shield_2.Png +0 -0
  836. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Shield_Viking.Png +0 -0
  837. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Ship.Png +0 -0
  838. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Shop_1.Png +0 -0
  839. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Shop_2.Png +0 -0
  840. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Shop_3.Png +0 -0
  841. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Shovel.Png +0 -0
  842. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Sickle.Png +0 -0
  843. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Sign.Png +0 -0
  844. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Skull.Png +0 -0
  845. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Sound.Png +0 -0
  846. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Sound_Off.Png +0 -0
  847. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Star_1.Png +0 -0
  848. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Star_2.Png +0 -0
  849. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Star_3.Png +0 -0
  850. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Star_Empty.Png +0 -0
  851. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Step.Png +0 -0
  852. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Stopwatch_1.Png +0 -0
  853. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Stopwatch_2.Png +0 -0
  854. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Storage.Png +0 -0
  855. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Sun.Png +0 -0
  856. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Switch.Png +0 -0
  857. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Sword_1.Png +0 -0
  858. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Sword_2.Png +0 -0
  859. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Tag.Png +0 -0
  860. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Target.Png +0 -0
  861. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Telescope.Png +0 -0
  862. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Temple.Png +0 -0
  863. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Ticket.Png +0 -0
  864. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Tool_Fix.Png +0 -0
  865. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Top.Png +0 -0
  866. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Trophy_1.Png +0 -0
  867. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Trophy_2.Png +0 -0
  868. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Tv.Png +0 -0
  869. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Typhoon.Png +0 -0
  870. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Under.Png +0 -0
  871. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_User.Png +0 -0
  872. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_User_Add.Png +0 -0
  873. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_User_Info.Png +0 -0
  874. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Video.Png +0 -0
  875. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_View.Png +0 -0
  876. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_View_Off.Png +0 -0
  877. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Vr.Png +0 -0
  878. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Warehouse.Png +0 -0
  879. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Water.Png +0 -0
  880. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Wing.Png +0 -0
  881. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Wood.Png +0 -0
  882. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_World.Png +0 -0
  883. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Zoom_In.Png +0 -0
  884. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Zoom_Out.Png +0 -0
  885. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_TutorialHand/256/tutorial_hand_1.png +0 -0
  886. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_TutorialHand/256/tutorial_hand_2.png +0 -0
  887. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_TutorialHand/256/tutorial_hand_3.png +0 -0
  888. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_TutorialHand/256/tutorial_hand_4.png +0 -0
  889. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_TutorialHand/256/tutorial_hand_5.png +0 -0
  890. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_TutorialHand/256/tutorial_hand_6.png +0 -0
  891. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Badge01_Green.png +0 -0
  892. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Badge01_Purple.png +0 -0
  893. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Badge01_Red.png +0 -0
  894. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Badge01_Yellow.png +0 -0
  895. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Badge02.png +0 -0
  896. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Bubble_Arrow.png +0 -0
  897. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Bubble_Bg.png +0 -0
  898. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Parallelogram_Blue.png +0 -0
  899. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Parallelogram_Gray.png +0 -0
  900. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Parallelogram_Green.png +0 -0
  901. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Parallelogram_Hologram.png +0 -0
  902. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Parallelogram_Purple.png +0 -0
  903. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Parallelogram_Red.png +0 -0
  904. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Parallelogram_White_Bg.png +0 -0
  905. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Parallelogram_White_Inner.png +0 -0
  906. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Parallelogram_Yellow.png +0 -0
  907. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Ribbon_Hologram.png +0 -0
  908. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Ribbon_White.png +0 -0
  909. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Tail_Demo_Red.png +0 -0
  910. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Tail_White_Bg.png +0 -0
  911. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Tail_White_Border.png +0 -0
  912. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_LIne04_Under.png +0 -0
  913. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Line01_Divider_Left.png +0 -0
  914. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Line01_Divider_Right.png +0 -0
  915. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Line02_Divider_Left.png +0 -0
  916. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Line02_Divider_Right.png +0 -0
  917. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Line03_Divider.png +0 -0
  918. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Oval.png +0 -0
  919. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon01_Blue.png +0 -0
  920. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon01_Gray.png +0 -0
  921. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon01_Green.png +0 -0
  922. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon01_Magenta.png +0 -0
  923. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon01_Navy.png +0 -0
  924. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon01_Orange.png +0 -0
  925. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon01_Peacock.png +0 -0
  926. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon01_Plum.png +0 -0
  927. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon01_Purple.png +0 -0
  928. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon01_Red.png +0 -0
  929. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon01_Sky.png +0 -0
  930. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon01_Yellow.png +0 -0
  931. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon02_Red.png +0 -0
  932. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon02_White1.png +0 -0
  933. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon02_White2.png +0 -0
  934. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon03_Red.png +0 -0
  935. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon03_White1.png +0 -0
  936. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon03_White2.png +0 -0
  937. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon04_Red.png +0 -0
  938. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon05.png +0 -0
  939. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Tapered01.png +0 -0
  940. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Tapered02.png +0 -0
  941. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Tapered03.png +0 -0
  942. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/PACK.md +6 -0
  943. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup01_Basic_Demo.png +0 -0
  944. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup01_Basic_White_Bg.png +0 -0
  945. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup01_Basic_White_Light.png +0 -0
  946. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup02~09_Topber_Demo_Bg.png +0 -0
  947. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup02~09_Topber_White_Bg.png +0 -0
  948. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup02~09_Topber_White_BgTop.png +0 -0
  949. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup02~09_Topber_White_BgTopLight.png +0 -0
  950. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup03_Gradient.png +0 -0
  951. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup06_Glow_Bottom.png +0 -0
  952. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup06_Pattern.psd +0 -0
  953. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup09_Topber_White_Label_Bg.png +0 -0
  954. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup09_Topber_White_Label_Inner.png +0 -0
  955. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup_Chat_Bg.png +0 -0
  956. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup_Chat_BgLight.png +0 -0
  957. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup_Chat_TabFocus.png +0 -0
  958. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup_FullWidth_Dark.png +0 -0
  959. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup_FullWidth_White.png +0 -0
  960. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup_List_VerticalLayout.png +0 -0
  961. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup_OutTitle_Bg.png +0 -0
  962. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup_OutTitle_Bg_Title.png +0 -0
  963. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup_OutTitle_Inner_Bottom.png +0 -0
  964. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup_OutTitle_Inner_Top.png +0 -0
  965. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup_Ticket_Bg.png +0 -0
  966. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup_Ticket_Border.png +0 -0
  967. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup_Ticket_BottomPattern.png +0 -0
  968. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup_Ticket_Gradient.png +0 -0
  969. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic01_Bg_Demo.png +0 -0
  970. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic01_Bg_White1.png +0 -0
  971. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic01_Bg_White2.png +0 -0
  972. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic01_FillMask.png +0 -0
  973. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic01_Fill_Blue.png +0 -0
  974. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic01_Fill_Green.png +0 -0
  975. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic01_Fill_White.png +0 -0
  976. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic01_Fill_Yellow.png +0 -0
  977. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic02_Bg.png +0 -0
  978. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic02_FillMask.png +0 -0
  979. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic02_Fill_Blue.png +0 -0
  980. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic02_Fill_Green.png +0 -0
  981. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic02_Fill_White.png +0 -0
  982. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic02_Fill_Yellow.png +0 -0
  983. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic03_Bg_Demo.png +0 -0
  984. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic03_Bg_White1.png +0 -0
  985. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic03_Bg_White2.png +0 -0
  986. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic03_FillMask.png +0 -0
  987. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic03_Fill_Blue.png +0 -0
  988. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic03_Fill_Green.png +0 -0
  989. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic03_Fill_White.png +0 -0
  990. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic03_Fill_Yellow.png +0 -0
  991. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic04_Bg.png +0 -0
  992. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic04_Fill_Blue.png +0 -0
  993. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic04_Fill_Orange.png +0 -0
  994. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic04_White_Fill1.png +0 -0
  995. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic04_White_Fill2.png +0 -0
  996. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Handle_Bg.png +0 -0
  997. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Handle_FillMask.png +0 -0
  998. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Handle_Fill_Pink.png +0 -0
  999. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Handle_Fill_White1.png +0 -0
  1000. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Handle_Fill_White2.png +0 -0
  1001. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Handle_Handle.png +0 -0
  1002. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Icon01_Bg.png +0 -0
  1003. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Icon01_FillMask.png +0 -0
  1004. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Icon01_Fill_Orange.png +0 -0
  1005. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Icon01_Fill_White.png +0 -0
  1006. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Icon01_Icon1.png +0 -0
  1007. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Icon01_Icon2.png +0 -0
  1008. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Icon02_Badge1.png +0 -0
  1009. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Icon02_Badge2.png +0 -0
  1010. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Icon02_Bg.png +0 -0
  1011. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Icon02_FillMask.png +0 -0
  1012. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Icon02_Fill_Orange.png +0 -0
  1013. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Icon02_Fill_White.png +0 -0
  1014. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Icon02_Icon1.png +0 -0
  1015. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level01_Badge_l.png +0 -0
  1016. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level01_Badge_s.png +0 -0
  1017. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level01_Bg.png +0 -0
  1018. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level01_Fill.png +0 -0
  1019. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level01_FillMask.png +0 -0
  1020. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level02_Bg_Demo.png +0 -0
  1021. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level02_Bg_White1.png +0 -0
  1022. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level02_Bg_White2.png +0 -0
  1023. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level02_Fill01_Blue.png +0 -0
  1024. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level02_Fill01_White.png +0 -0
  1025. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level02_Fill01_Yellow.png +0 -0
  1026. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level02_Fill02_Blue.png +0 -0
  1027. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level02_Fill02_White.png +0 -0
  1028. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level02_Fill02_Yellow.png +0 -0
  1029. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level02_Icon_Badge_Blue.png +0 -0
  1030. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level02_Icon_Badge_Yellow.png +0 -0
  1031. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level02_Icon_Up_Green.png +0 -0
  1032. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level02_Icon_Up_White.png +0 -0
  1033. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level03_Badge1.png +0 -0
  1034. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level03_Badge2.png +0 -0
  1035. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level03_Bg.png +0 -0
  1036. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level03_Fill1.png +0 -0
  1037. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level03_Fill2.png +0 -0
  1038. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Panel_Bg.png +0 -0
  1039. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Panel_Fill1.png +0 -0
  1040. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Panel_Fill2.png +0 -0
  1041. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Play01_Bg.png +0 -0
  1042. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Play01_Fill.png +0 -0
  1043. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Play01_FillMask.png +0 -0
  1044. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Play02_Bg.png +0 -0
  1045. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Play02_FillMask.png +0 -0
  1046. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_StageHorizontal_Bg.png +0 -0
  1047. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_StageHorizontal_Icon_l_Blue.png +0 -0
  1048. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_StageHorizontal_Icon_l_Gray.png +0 -0
  1049. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_StageHorizontal_Icon_l_White1.png +0 -0
  1050. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_StageHorizontal_Icon_l_White2.png +0 -0
  1051. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_StageHorizontal_Icon_l_Yellow.png +0 -0
  1052. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_StageHorizontal_Icon_s_Blue.png +0 -0
  1053. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_StageHorizontal_Icon_s_White1.png +0 -0
  1054. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_StageHorizontal_Icon_s_White2.png +0 -0
  1055. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_StageHorizontal_Icon_s_Yellow.png +0 -0
  1056. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_StageVertical_Bg.png +0 -0
  1057. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_StageVertical_Icon1.png +0 -0
  1058. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_StageVertical_Icon2.png +0 -0
  1059. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Wave_Badge1.png +0 -0
  1060. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Wave_Badge2.png +0 -0
  1061. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Wave_Bg.png +0 -0
  1062. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Wave_Fill.png +0 -0
  1063. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/_Slider_Basic_R6_Fill_Orange.png +0 -0
  1064. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/_Slider_Round6_01_White_Bg.png +0 -0
  1065. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/_Slider_Round6_01_White_Fill.png +0 -0
  1066. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Alert_Circle_Icon_Exclamation.png +0 -0
  1067. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Alert_Circle_l_Bg.png +0 -0
  1068. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Alert_Circle_l_Border.png +0 -0
  1069. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Alert_Circle_s_Bg.png +0 -0
  1070. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Alert_Circle_s_Border.png +0 -0
  1071. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Alert_Dot_Bg.png +0 -0
  1072. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Alert_Dot_Border.png +0 -0
  1073. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Alert_Dot_Light.png +0 -0
  1074. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/InputField01_Bg_Demo.png +0 -0
  1075. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/InputField01_Bg_White1.png +0 -0
  1076. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/InputField01_Bg_White2.png +0 -0
  1077. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/InputField01_Bg_White3.png +0 -0
  1078. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/InputField01_Icon_Lock.png +0 -0
  1079. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/InputField01_Icon_Mail.png +0 -0
  1080. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/InputField02_Demo.png +0 -0
  1081. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/InputField02_White1.png +0 -0
  1082. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/InputField02_White2.png +0 -0
  1083. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/InputField03.png +0 -0
  1084. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/InputField04.png +0 -0
  1085. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_Demo_Bg.png +0 -0
  1086. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_Demo_Btn_Blue1.png +0 -0
  1087. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_Demo_Btn_Blue2.png +0 -0
  1088. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_Demo_Btn_Purple1.png +0 -0
  1089. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_Demo_Btn_Purple2.png +0 -0
  1090. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_Demo_Btn_Yellow1.png +0 -0
  1091. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_Demo_Btn_Yellow2.png +0 -0
  1092. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_Demo_Icon_Coin.png +0 -0
  1093. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_Demo_Icon_Energy.png +0 -0
  1094. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_Demo_Icon_Gem.png +0 -0
  1095. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_Demo_Icon_Monster.png +0 -0
  1096. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_White_Bg.png +0 -0
  1097. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_White_Btn1.png +0 -0
  1098. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_White_Btn2.png +0 -0
  1099. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_White_Btn3.png +0 -0
  1100. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_White_Icon1.png +0 -0
  1101. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_White_Icon2.png +0 -0
  1102. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Switch_Demo_Bg.png +0 -0
  1103. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Switch_Demo_Fill.png +0 -0
  1104. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Switch_Demo_Handle.png +0 -0
  1105. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Switch_White_Bg.png +0 -0
  1106. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Switch_White_BgInner.png +0 -0
  1107. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Switch_White_Fill1.png +0 -0
  1108. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Switch_White_Fill2.png +0 -0
  1109. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Switch_White_Handle.png +0 -0
  1110. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ToastMessage_Bg_Gray.png +0 -0
  1111. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ToastMessage_Bg_Green.png +0 -0
  1112. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ToastMessage_Bg_Red.png +0 -0
  1113. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ToastMessage_Bg_White.png +0 -0
  1114. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ToastMessage_Bg_Yellow.png +0 -0
  1115. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ToastMessage_Gradient.png +0 -0
  1116. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ToastMessage_Light1.png +0 -0
  1117. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ToastMessage_Light2.png +0 -0
  1118. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Toggle_Check_Demo_Bg.png +0 -0
  1119. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Toggle_Check_Demo_Icon.png +0 -0
  1120. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Toggle_Check_White_Bg.png +0 -0
  1121. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Toggle_Check_White_BgLight.png +0 -0
  1122. package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Toggle_Check_White_Icon.png +0 -0
  1123. package/plugins/phaser-casual-game-factory/examples/README.md +44 -0
  1124. package/plugins/phaser-casual-game-factory/examples/economy-demo-config.ts +255 -0
  1125. package/plugins/phaser-casual-game-factory/examples/economy-demo.ts +89 -0
  1126. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/index.html +342 -0
  1127. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/package-lock.json +1293 -0
  1128. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/package.json +21 -0
  1129. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/playwright.config.ts +26 -0
  1130. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/assets/sfx/ui_click.mp3 +0 -0
  1131. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/assets/sfx/ui_close.mp3 +0 -0
  1132. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/assets/ui/BG_lobby.png +0 -0
  1133. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/assets/ui/Bar_Bg.png +0 -0
  1134. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/assets/ui/progress_inner.png +0 -0
  1135. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/assets/ui/progress_outer.png +0 -0
  1136. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/fonts/bvp-400-latin-OEyTajQY.woff2 +0 -0
  1137. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/fonts/bvp-400-viet-SOx6iaFb.woff2 +0 -0
  1138. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/fonts/bvp-600-latin-xAC4kEK0.woff2 +0 -0
  1139. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/fonts/bvp-600-viet-DbGrrtCq.woff2 +0 -0
  1140. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/fonts/bvp-700-latin-CPfR8Jz_.woff2 +0 -0
  1141. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/fonts/bvp-700-viet-DptIoWwl.woff2 +0 -0
  1142. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/fonts/bvp-800-latin-B5VTH9An.woff2 +0 -0
  1143. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/fonts/bvp-800-viet-BEUwTqXl.woff2 +0 -0
  1144. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/fonts/bvp-900-latin-B6esVQUu.woff2 +0 -0
  1145. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/fonts/bvp-900-viet-DUJ3fpCl.woff2 +0 -0
  1146. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/logo-frog.png +0 -0
  1147. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/src/brand/BootLoadingScreen.js +7 -0
  1148. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/src/brand/SplashFullscreenBg.js +4 -0
  1149. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/src/brand-shims.d.ts +33 -0
  1150. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/src/demo-scenes.ts +12 -0
  1151. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/src/demo-tools.ts +34 -0
  1152. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/src/main.ts +1358 -0
  1153. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/src/scenes/BootScene.ts +236 -0
  1154. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/src/scenes/GameScene.ts +152 -0
  1155. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/src/scenes/HomeScene.ts +21 -0
  1156. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/src/scenes/scene-hooks.ts +12 -0
  1157. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/src/styles.css +623 -0
  1158. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/src/ui-audio.ts +156 -0
  1159. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/tests/browser-smoke.spec.ts +170 -0
  1160. package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/vite.config.ts +23 -0
  1161. package/plugins/phaser-casual-game-factory/examples/leveling-demo-config.ts +107 -0
  1162. package/plugins/phaser-casual-game-factory/references/condition-service.md +38 -0
  1163. package/plugins/phaser-casual-game-factory/references/core-contracts.md +39 -0
  1164. package/plugins/phaser-casual-game-factory/references/daily-login-service.md +32 -0
  1165. package/plugins/phaser-casual-game-factory/references/economy-service.md +192 -0
  1166. package/plugins/phaser-casual-game-factory/references/leveling-service.md +56 -0
  1167. package/plugins/phaser-casual-game-factory/references/loading-view.md +181 -0
  1168. package/plugins/phaser-casual-game-factory/references/time-service.md +42 -0
  1169. package/plugins/phaser-casual-game-factory/scripts/new-phaser-casual-game.ps1 +152 -0
  1170. package/plugins/phaser-casual-game-factory/scripts/run-browser-demo.ps1 +13 -0
  1171. package/plugins/phaser-casual-game-factory/scripts/run-economy-demo.ps1 +4 -0
  1172. package/plugins/phaser-casual-game-factory/scripts/test-all.ps1 +11 -0
  1173. package/plugins/phaser-casual-game-factory/scripts/test-browser.ps1 +10 -0
  1174. package/plugins/phaser-casual-game-factory/scripts/test-economy.ps1 +4 -0
  1175. package/plugins/phaser-casual-game-factory/skills/game-art/SKILL.md +846 -0
  1176. package/plugins/phaser-casual-game-factory/skills/game-art/client/.env.example +19 -0
  1177. package/plugins/phaser-casual-game-factory/skills/game-art/client/bgremove.py +127 -0
  1178. package/plugins/phaser-casual-game-factory/skills/game-art/client/codex_extract.py +123 -0
  1179. package/plugins/phaser-casual-game-factory/skills/game-art/client/codex_gen.sh +172 -0
  1180. package/plugins/phaser-casual-game-factory/skills/game-art/client/envfile.py +121 -0
  1181. package/plugins/phaser-casual-game-factory/skills/game-art/client/gemini_image_mcp.py +1870 -0
  1182. package/plugins/phaser-casual-game-factory/skills/game-art/client/imglib.py +2138 -0
  1183. package/plugins/phaser-casual-game-factory/skills/game-art/client/remote_backend.py +498 -0
  1184. package/plugins/phaser-casual-game-factory/skills/game-art/client/remote_codex.py +59 -0
  1185. package/plugins/phaser-casual-game-factory/skills/game-art/client/remote_proto.py +135 -0
  1186. package/plugins/phaser-casual-game-factory/skills/game-art/client/requirements-client.txt +22 -0
  1187. package/plugins/phaser-casual-game-factory/skills/game-art/client/test_imglib.py +1647 -0
  1188. package/plugins/phaser-casual-game-factory/skills/game-art/client/test_restyle_tools.py +256 -0
  1189. package/plugins/phaser-casual-game-factory/skills/game-art/client/tools/restyle/styles/unscrew-casual.refs/ref-lose.jpg +0 -0
  1190. package/plugins/phaser-casual-game-factory/skills/game-art/client/tools/restyle/styles/unscrew-casual.refs/ref-welcome.jpg +0 -0
  1191. package/plugins/phaser-casual-game-factory/skills/game-art/client/tools/restyle/styles/unscrew-casual.refs/ref-win.jpg +0 -0
  1192. package/plugins/phaser-casual-game-factory/skills/game-art/client/upscale.py +289 -0
  1193. package/plugins/phaser-casual-game-factory/skills/game-art/reference/client-guide.md +180 -0
  1194. package/plugins/phaser-casual-game-factory/skills/game-art/reference/mcp-image-input.md +148 -0
  1195. package/plugins/phaser-casual-game-factory/skills/game-art/reference/prompt-template.md +216 -0
  1196. package/plugins/phaser-casual-game-factory/skills/game-art/reference/remote-lan.md +224 -0
  1197. package/plugins/phaser-casual-game-factory/skills/pcgf-git-merge-request/SKILL.md +96 -0
  1198. package/plugins/phaser-casual-game-factory/skills/pcgf-ui-reskin/SKILL.md +144 -0
  1199. package/plugins/phaser-casual-game-factory/skills/phaser-adaptive-loading/SKILL.md +33 -0
  1200. package/plugins/phaser-casual-game-factory/skills/phaser-casual-game-factory/SKILL.md +225 -0
  1201. package/plugins/phaser-casual-game-factory/skills/phaser-condition-service/SKILL.md +21 -0
  1202. package/plugins/phaser-casual-game-factory/skills/phaser-daily-login-service/SKILL.md +20 -0
  1203. package/plugins/phaser-casual-game-factory/skills/phaser-economy-service/SKILL.md +72 -0
  1204. package/plugins/phaser-casual-game-factory/skills/phaser-foundation/SKILL.md +60 -0
  1205. package/plugins/phaser-casual-game-factory/skills/phaser-leveling-service/SKILL.md +39 -0
  1206. package/plugins/phaser-casual-game-factory/skills/phaser-loading-view/SKILL.md +167 -0
  1207. package/plugins/phaser-casual-game-factory/skills/phaser-studio25-boot-brand/SKILL.md +107 -0
  1208. package/plugins/phaser-casual-game-factory/skills/phaser-time-service/SKILL.md +26 -0
  1209. package/plugins/phaser-casual-game-factory/skills/phaser-ui-motion/SKILL.md +161 -0
  1210. package/plugins/phaser-casual-game-factory/skills/phaser-ui-motion/fix-off-canvas-press.md +198 -0
  1211. package/plugins/phaser-casual-game-factory/skills/phaser-ui-sfx/SKILL.md +83 -0
  1212. package/plugins/phaser-casual-game-factory/skills/theme-cream-casual/SKILL.md +136 -0
  1213. package/plugins/phaser-casual-game-factory/skills/theme-dark-casual/SKILL.md +23 -0
  1214. package/plugins/phaser-casual-game-factory/skills/tool-demo-qa/SKILL.md +264 -0
  1215. package/plugins/phaser-casual-game-factory/templates/adaptive-loading/adaptive-loading-manager.ts +103 -0
  1216. package/plugins/phaser-casual-game-factory/templates/adaptive-loading/device-profile.ts +76 -0
  1217. package/plugins/phaser-casual-game-factory/templates/adaptive-loading/device-tier-session.ts +133 -0
  1218. package/plugins/phaser-casual-game-factory/templates/adaptive-loading/index.ts +4 -0
  1219. package/plugins/phaser-casual-game-factory/templates/adaptive-loading/types.ts +27 -0
  1220. package/plugins/phaser-casual-game-factory/templates/boot/brand/BootLoadingScreen.js +370 -0
  1221. package/plugins/phaser-casual-game-factory/templates/boot/brand/SplashFullscreenBg.js +18 -0
  1222. package/plugins/phaser-casual-game-factory/templates/boot/brand/brand-defaults.js +36 -0
  1223. package/plugins/phaser-casual-game-factory/templates/boot/brand-shims.d.ts +40 -0
  1224. package/plugins/phaser-casual-game-factory/templates/boot/close-styles.ts +26 -0
  1225. package/plugins/phaser-casual-game-factory/templates/boot/index.ts +32 -0
  1226. package/plugins/phaser-casual-game-factory/templates/boot/iris-close.ts +85 -0
  1227. package/plugins/phaser-casual-game-factory/templates/boot/map-dom-rect-to-game.ts +53 -0
  1228. package/plugins/phaser-casual-game-factory/templates/boot/play-boot-loading-view.ts +124 -0
  1229. package/plugins/phaser-casual-game-factory/templates/commerce/commerce-service.ts +22 -0
  1230. package/plugins/phaser-casual-game-factory/templates/commerce/index.ts +1 -0
  1231. package/plugins/phaser-casual-game-factory/templates/commerce/types.ts +6 -0
  1232. package/plugins/phaser-casual-game-factory/templates/condition/condition-service.ts +166 -0
  1233. package/plugins/phaser-casual-game-factory/templates/condition/index.ts +2 -0
  1234. package/plugins/phaser-casual-game-factory/templates/condition/types.ts +69 -0
  1235. package/plugins/phaser-casual-game-factory/templates/core/events.ts +71 -0
  1236. package/plugins/phaser-casual-game-factory/templates/core/gameplay.ts +15 -0
  1237. package/plugins/phaser-casual-game-factory/templates/core/index.ts +9 -0
  1238. package/plugins/phaser-casual-game-factory/templates/core/layout.ts +25 -0
  1239. package/plugins/phaser-casual-game-factory/templates/core/loading.ts +33 -0
  1240. package/plugins/phaser-casual-game-factory/templates/core/service-registry.ts +28 -0
  1241. package/plugins/phaser-casual-game-factory/templates/core/services.ts +19 -0
  1242. package/plugins/phaser-casual-game-factory/templates/core/storage.ts +7 -0
  1243. package/plugins/phaser-casual-game-factory/templates/core/time.ts +70 -0
  1244. package/plugins/phaser-casual-game-factory/templates/core/types.ts +21 -0
  1245. package/plugins/phaser-casual-game-factory/templates/daily-login/daily-login-service.ts +136 -0
  1246. package/plugins/phaser-casual-game-factory/templates/daily-login/index.ts +3 -0
  1247. package/plugins/phaser-casual-game-factory/templates/daily-login/reward-service.ts +108 -0
  1248. package/plugins/phaser-casual-game-factory/templates/daily-login/types.ts +39 -0
  1249. package/plugins/phaser-casual-game-factory/templates/demo-tools/demo-device-tier.ts +73 -0
  1250. package/plugins/phaser-casual-game-factory/templates/demo-tools/demo-perf.ts +232 -0
  1251. package/plugins/phaser-casual-game-factory/templates/demo-tools/demo-tools.css +355 -0
  1252. package/plugins/phaser-casual-game-factory/templates/demo-tools/demo-tools.ts +305 -0
  1253. package/plugins/phaser-casual-game-factory/templates/demo-tools/index.ts +7 -0
  1254. package/plugins/phaser-casual-game-factory/templates/demo-tools/init-demo-qa-tools.ts +101 -0
  1255. package/plugins/phaser-casual-game-factory/templates/demo-tools/tool-param-fields.ts +214 -0
  1256. package/plugins/phaser-casual-game-factory/templates/demo-tools/tool-sections.ts +238 -0
  1257. package/plugins/phaser-casual-game-factory/templates/demo-tools/tool-shell.html +57 -0
  1258. package/plugins/phaser-casual-game-factory/templates/demo-tools/tool-shell.ts +141 -0
  1259. package/plugins/phaser-casual-game-factory/templates/economy/default-registry.ts +14 -0
  1260. package/plugins/phaser-casual-game-factory/templates/economy/economy-service.ts +65 -0
  1261. package/plugins/phaser-casual-game-factory/templates/economy/exchange-handlers.ts +58 -0
  1262. package/plugins/phaser-casual-game-factory/templates/economy/grant-handler.ts +58 -0
  1263. package/plugins/phaser-casual-game-factory/templates/economy/index.ts +15 -0
  1264. package/plugins/phaser-casual-game-factory/templates/economy/inventory-service.ts +170 -0
  1265. package/plugins/phaser-casual-game-factory/templates/economy/item-service.ts +220 -0
  1266. package/plugins/phaser-casual-game-factory/templates/economy/item-utils.ts +126 -0
  1267. package/plugins/phaser-casual-game-factory/templates/economy/merge-handler.ts +42 -0
  1268. package/plugins/phaser-casual-game-factory/templates/economy/operation-handler.ts +44 -0
  1269. package/plugins/phaser-casual-game-factory/templates/economy/package-handler.ts +41 -0
  1270. package/plugins/phaser-casual-game-factory/templates/economy/random.ts +33 -0
  1271. package/plugins/phaser-casual-game-factory/templates/economy/repository.ts +64 -0
  1272. package/plugins/phaser-casual-game-factory/templates/economy/state-utils.ts +221 -0
  1273. package/plugins/phaser-casual-game-factory/templates/economy/types.ts +309 -0
  1274. package/plugins/phaser-casual-game-factory/templates/economy/ui-view-models.ts +79 -0
  1275. package/plugins/phaser-casual-game-factory/templates/entitlement/entitlement-service.ts +29 -0
  1276. package/plugins/phaser-casual-game-factory/templates/entitlement/index.ts +1 -0
  1277. package/plugins/phaser-casual-game-factory/templates/entitlement/types.ts +26 -0
  1278. package/plugins/phaser-casual-game-factory/templates/leveling/condition-evaluator.ts +17 -0
  1279. package/plugins/phaser-casual-game-factory/templates/leveling/config-validator.ts +63 -0
  1280. package/plugins/phaser-casual-game-factory/templates/leveling/index.ts +5 -0
  1281. package/plugins/phaser-casual-game-factory/templates/leveling/leveling-service.ts +306 -0
  1282. package/plugins/phaser-casual-game-factory/templates/leveling/types.ts +80 -0
  1283. package/plugins/phaser-casual-game-factory/templates/leveling/view-model.ts +52 -0
  1284. package/plugins/phaser-casual-game-factory/templates/loading-view/index.ts +4 -0
  1285. package/plugins/phaser-casual-game-factory/templates/loading-view/loading-view-model.ts +203 -0
  1286. package/plugins/phaser-casual-game-factory/templates/loading-view/presets.ts +26 -0
  1287. package/plugins/phaser-casual-game-factory/templates/loading-view/progress.ts +30 -0
  1288. package/plugins/phaser-casual-game-factory/templates/loading-view/types.ts +49 -0
  1289. package/plugins/phaser-casual-game-factory/templates/motion/index.ts +2 -0
  1290. package/plugins/phaser-casual-game-factory/templates/motion/phaser-ui-motion.ts +363 -0
  1291. package/plugins/phaser-casual-game-factory/templates/motion/types.ts +21 -0
  1292. package/plugins/phaser-casual-game-factory/templates/phaser/browser-storage-adapter.ts +91 -0
  1293. package/plugins/phaser-casual-game-factory/templates/phaser/design-size.ts +34 -0
  1294. package/plugins/phaser-casual-game-factory/templates/phaser/foundation-scene.ts +39 -0
  1295. package/plugins/phaser-casual-game-factory/templates/phaser/hybrid-loading-layer.css +46 -0
  1296. package/plugins/phaser-casual-game-factory/templates/phaser/loading-overlay-scene.ts +653 -0
  1297. package/plugins/phaser-casual-game-factory/templates/phaser/phaser-event-bus.ts +35 -0
  1298. package/plugins/phaser-casual-game-factory/templates/phaser/scene-keys.ts +12 -0
  1299. package/plugins/phaser-casual-game-factory/templates/phaser/scene-registration.ts +28 -0
  1300. package/plugins/phaser-casual-game-factory/templates/phaser/system-time-adapter.ts +33 -0
  1301. package/plugins/phaser-casual-game-factory/templates/time/index.ts +2 -0
  1302. package/plugins/phaser-casual-game-factory/templates/time/time-service.ts +184 -0
  1303. package/plugins/phaser-casual-game-factory/templates/ui/audio-settings.ts +148 -0
  1304. package/plugins/phaser-casual-game-factory/templates/ui/bind-factory-dom-press.ts +108 -0
  1305. package/plugins/phaser-casual-game-factory/templates/ui/factory-cream-casual.css +380 -0
  1306. package/plugins/phaser-casual-game-factory/templates/ui/factory-dark-casual.css +11 -0
  1307. package/plugins/phaser-casual-game-factory/templates/ui/index.ts +5 -0
  1308. package/plugins/phaser-casual-game-factory/templates/ui/settings-popup-dom.ts +349 -0
  1309. package/plugins/phaser-casual-game-factory/templates/ui/settings-popup-phaser.ts +284 -0
  1310. package/plugins/phaser-casual-game-factory/templates/ui/ui-sfx.ts +131 -0
  1311. package/plugins/phaser-casual-game-factory/templates/ui-reskin/compare.html +235 -0
  1312. package/plugins/phaser-casual-game-factory/tests/README.md +29 -0
  1313. package/plugins/phaser-casual-game-factory/tests/condition.test.ts +92 -0
  1314. package/plugins/phaser-casual-game-factory/tests/daily-login-reward.test.ts +45 -0
  1315. package/plugins/phaser-casual-game-factory/tests/daily-login.test.ts +73 -0
  1316. package/plugins/phaser-casual-game-factory/tests/economy.test.ts +258 -0
  1317. package/plugins/phaser-casual-game-factory/tests/entitlement.test.ts +18 -0
  1318. package/plugins/phaser-casual-game-factory/tests/leveling.test.ts +158 -0
  1319. package/plugins/phaser-casual-game-factory/tests/loading-view.test.ts +39 -0
  1320. package/plugins/phaser-casual-game-factory/tests/time.test.ts +60 -0
@@ -0,0 +1,1358 @@
1
+ import * as Phaser from 'phaser';
2
+ import {
3
+ demoConfig,
4
+ demoHeroes,
5
+ inventoryDemoConfig,
6
+ itemMeta,
7
+ shopChests,
8
+ shopGoldPacks,
9
+ type ItemKind,
10
+ } from '../../economy-demo-config';
11
+ import { BrowserStorageAdapter } from '../../../templates/phaser/browser-storage-adapter';
12
+ import { levelingDemoConfig } from '../../leveling-demo-config';
13
+ import {
14
+ DefaultEconomyService,
15
+ DefaultItemService,
16
+ DefaultInventoryService,
17
+ LocalEconomyRepository,
18
+ applyDelta,
19
+ cloneEconomyState,
20
+ createDefaultEconomyRegistry,
21
+ type RandomSource,
22
+ type RewardSummary,
23
+ type TransactionReceipt,
24
+ } from '../../../templates/economy';
25
+ import { DefaultLevelingService } from '../../../templates/leveling';
26
+ import { FactoryLoadingOverlayScene } from '../../../templates/phaser/loading-overlay-scene';
27
+ import { designGameCanvasSize, lockGameDpr } from '../../../templates/phaser/design-size';
28
+ import { LOADING_TIMING_PRESETS, LoadingViewModel, type LoadingViewTask } from '../../../templates/loading-view';
29
+ import { demoScenes, sceneHooks } from './demo-scenes';
30
+ import { bindDomButtonJuice, playUiClick, playUiClose, setUiAudioGame } from './ui-audio';
31
+ import { bindDomSettingsPopup } from '../../../templates/ui/settings-popup-dom';
32
+ import { initDemoTools, DEMO_TOOLS_DEFAULT, DEMO_TOOLS_FORCE } from './demo-tools';
33
+ import { initDemoQaTools } from '../../../templates/demo-tools/init-demo-qa-tools';
34
+ import type { DeviceTierSession } from '../../../templates/adaptive-loading';
35
+ import { unlockAudioSettings } from '../../../templates/ui/audio-settings';
36
+
37
+ lockGameDpr();
38
+ const gameCanvas = designGameCanvasSize();
39
+
40
+ class DemoRandom implements RandomSource {
41
+ private index = 0;
42
+ private readonly values = [0.1, 0.8, 0.2, 0.6, 0.4];
43
+ next(): number {
44
+ const value = this.values[this.index % this.values.length];
45
+ this.index += 1;
46
+ return value;
47
+ }
48
+ }
49
+
50
+ type RewardRow = { icon: string; label: string; amount: number };
51
+
52
+ document.body.dataset.sceneLifecycle = 'booting';
53
+ const STORAGE_KEY = 'phaser-casual-factory-demo';
54
+ const repository = new LocalEconomyRepository(new BrowserStorageAdapter(), STORAGE_KEY);
55
+ const economy = new DefaultEconomyService(repository, demoConfig, createDefaultEconomyRegistry(), new DemoRandom());
56
+ const items = new DefaultItemService(repository, demoConfig, new DemoRandom(), () => 1700000000000);
57
+ const leveling = new DefaultLevelingService(repository, demoConfig, levelingDemoConfig);
58
+ const inventory = new DefaultInventoryService(repository, demoConfig, inventoryDemoConfig, new DemoRandom());
59
+
60
+ let transactionCount = 0;
61
+ const sessionId = `${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
62
+ let proposalId: string | undefined;
63
+ let selectedInventoryItemId: string | undefined;
64
+ let selectedEquipmentId: string | undefined;
65
+ let detailMode: 'stack' | 'equipment' | 'heroShard' = 'stack';
66
+ const selectedInventoryRewards = new Set<string>();
67
+ let busy = false;
68
+ let bagTab: 'material' | 'equipment' | 'heroShard' = 'material';
69
+ let selectedHeroId: (typeof demoHeroes)[number]['id'] | undefined;
70
+ let selectedShardHeroId: (typeof demoHeroes)[number]['id'] | undefined;
71
+ let inGameplay = false;
72
+ let enteringGame = false;
73
+ let xpHudLevel = 1;
74
+
75
+ const RESOURCE_ICONS: Record<string, string> = {
76
+ coin: '🪙',
77
+ gem: '💎',
78
+ shard: '🔷',
79
+ shardRanger: '🏹',
80
+ shardGuardian: '🛡️',
81
+ shardMage: '🔮',
82
+ shardKnight: '⚔️',
83
+ heroRanger: '🏹',
84
+ heroGuardian: '🛡️',
85
+ heroMage: '🔮',
86
+ heroKnight: '⚔️',
87
+ };
88
+
89
+ const KIND_LABEL: Record<ItemKind, string> = {
90
+ material: 'MATERIAL',
91
+ chest: 'CHEST',
92
+ heroShard: 'HERO SHARD',
93
+ equipment: 'EQUIPMENT',
94
+ };
95
+
96
+ const $ = <T extends HTMLElement>(selector: string): T => {
97
+ const element = document.querySelector<T>(selector);
98
+ if (!element) throw new Error(`Missing element: ${selector}`);
99
+ return element;
100
+ };
101
+
102
+ const logElement = $('#log');
103
+ const statusElement = document.querySelector<HTMLElement>('#status');
104
+
105
+ function writeLog(label: string, payload: unknown): void {
106
+ const line = `${new Date().toLocaleTimeString()} ${label}\n${JSON.stringify(payload, null, 2)}`;
107
+ logElement.textContent = `${line}\n\n${logElement.textContent}`.slice(0, 7000);
108
+ }
109
+
110
+ function setStatus(text: string, type: 'ready' | 'busy' | 'error' = 'ready'): void {
111
+ if (!statusElement) return;
112
+ statusElement.textContent = text;
113
+ statusElement.className = `status status-${type}`;
114
+ }
115
+
116
+ function unwrap<T>(result: { ok: true; value: T } | { ok: false; error: Error }): T {
117
+ if (!result.ok) throw result.error;
118
+ return result.value;
119
+ }
120
+
121
+ function tx(label: string): string {
122
+ return `browser-${label}-${sessionId}-${transactionCount + 1}`;
123
+ }
124
+
125
+ function formatStacks(stacks: Array<{ resourceId: string; amount: number }>): string {
126
+ return stacks.length ? stacks.map((stack) => `${stack.resourceId} ${stack.amount}`).join(', ') : 'No cost';
127
+ }
128
+
129
+ async function hasResources(stacks: Array<{ resourceId: string; amount: number }>): Promise<boolean> {
130
+ const balances = await Promise.all(stacks.map(async (stack) => (await economy.getBalance(stack.resourceId)) >= stack.amount));
131
+ return balances.every(Boolean);
132
+ }
133
+
134
+ function syncModalScrollLock(): void {
135
+ const open = document.querySelector('.modal-backdrop.is-open');
136
+ document.body.classList.toggle('modal-open', Boolean(open));
137
+ }
138
+
139
+ function showRewardPopup(rows: RewardRow[], title = 'Nhận thưởng'): void {
140
+ if (!rows.length) return;
141
+ $('#reward-modal').querySelector('h2')!.textContent = title;
142
+ $('#reward-list').innerHTML = rows
143
+ .map(
144
+ (row) => `<div class="reward-row"><span class="reward-ico">${row.icon}</span><span>${row.label}</span><strong>×${row.amount}</strong></div>`,
145
+ )
146
+ .join('');
147
+ $('#reward-modal').classList.add('is-open');
148
+ syncModalScrollLock();
149
+ }
150
+
151
+ function closeRewardPopup(): void {
152
+ $('#reward-modal').classList.remove('is-open');
153
+ syncModalScrollLock();
154
+ }
155
+
156
+ function closeLevelUpPopup(): void {
157
+ $('#levelup-modal').classList.remove('is-open');
158
+ syncModalScrollLock();
159
+ }
160
+
161
+ async function showLevelUpPopup(level: number, rewardRows: RewardRow[]): Promise<void> {
162
+ const required = unwrap(await leveling.getXpToNextLevel('character'));
163
+ const character = unwrap(await leveling.getState('character'));
164
+ const maxLevel = levelingDemoConfig.tracks.character.maxLevel ?? 99;
165
+ const atMax = character.level >= maxLevel;
166
+ const ratio = atMax || !required ? 1 : Math.min(1, character.exp / required);
167
+ const percent = Math.round(ratio * 100);
168
+
169
+ $('#levelup-level').textContent = `Lv ${level}`;
170
+ $('#levelup-text').textContent = `Chúc mừng! Player lên cấp ${level}.`;
171
+ $('#levelup-xp-label').textContent = atMax ? `${character.exp} XP · Max` : `${character.exp} / ${required} XP`;
172
+ $('#levelup-reward-list').innerHTML = rewardRows.length
173
+ ? rewardRows
174
+ .map(
175
+ (row) => `<div class="reward-row"><span class="reward-ico">${row.icon}</span><span>${row.label}</span><strong>×${row.amount}</strong></div>`,
176
+ )
177
+ .join('')
178
+ : '<div class="reward-row"><span class="reward-ico">✨</span><span>Không có thưởng thêm</span><strong>—</strong></div>';
179
+
180
+ $('#levelup-modal').classList.add('is-open');
181
+ syncModalScrollLock();
182
+
183
+ const fill = $('#levelup-xp-fill');
184
+ fill.style.transition = 'none';
185
+ fill.style.width = '0%';
186
+ void fill.offsetWidth;
187
+ fill.style.transition = '';
188
+ void setXpFillElement(fill, percent, true, true);
189
+ }
190
+
191
+ function setXpFillElement(fill: HTMLElement, percent: number, animate: boolean, leveledUp: boolean): Promise<void> {
192
+ if (!animate) {
193
+ fill.style.transition = 'none';
194
+ fill.style.width = `${percent}%`;
195
+ void fill.offsetWidth;
196
+ fill.style.transition = '';
197
+ return Promise.resolve();
198
+ }
199
+ if (leveledUp) {
200
+ return (async () => {
201
+ fill.style.width = '100%';
202
+ await waitMs(450);
203
+ fill.style.transition = 'none';
204
+ fill.style.width = '0%';
205
+ void fill.offsetWidth;
206
+ fill.style.transition = '';
207
+ fill.style.width = `${percent}%`;
208
+ await waitMs(450);
209
+ })();
210
+ }
211
+ fill.style.width = `${percent}%`;
212
+ return waitMs(450);
213
+ }
214
+
215
+ function extractLevelUps(result: unknown): Array<{ trackId: string; level: number }> {
216
+ const receipt =
217
+ result && typeof result === 'object' && 'rewards' in result
218
+ ? (result as TransactionReceipt)
219
+ : result && typeof result === 'object' && 'ok' in result && (result as { ok: boolean; value?: TransactionReceipt }).ok
220
+ ? (result as { value: TransactionReceipt }).value
221
+ : undefined;
222
+ return (receipt?.rewards ?? []).filter(
223
+ (reward): reward is Extract<RewardSummary, { type: 'level-up' }> => reward.type === 'level-up',
224
+ );
225
+ }
226
+
227
+ function rewardRowsFromReceipt(receipt: TransactionReceipt | undefined, options?: { excludeLevelUpMeta?: boolean }): RewardRow[] {
228
+ if (!receipt) return [];
229
+ const rows: RewardRow[] = [];
230
+ const push = (icon: string, label: string, amount: number) => {
231
+ if (amount <= 0) return;
232
+ const existing = rows.find((row) => row.label === label);
233
+ if (existing) existing.amount += amount;
234
+ else rows.push({ icon, label, amount });
235
+ };
236
+
237
+ for (const reward of receipt.rewards ?? []) {
238
+ if (reward.type === 'resource') {
239
+ push(RESOURCE_ICONS[reward.resourceId] ?? '✨', reward.resourceId, reward.amount);
240
+ } else if (reward.type === 'item') {
241
+ const meta = itemMeta[reward.itemId];
242
+ const name = inventoryDemoConfig.items[reward.itemId]?.name ?? reward.itemId;
243
+ push(meta?.icon ?? '📦', name, reward.amount ?? 1);
244
+ } else if (reward.type === 'feature-unlocked') {
245
+ push('🔓', reward.featureId, 1);
246
+ } else if (reward.type === 'level-up') {
247
+ if (!options?.excludeLevelUpMeta) push('⬆️', `${reward.trackId} Lv ${reward.level}`, 1);
248
+ }
249
+ }
250
+
251
+ if (!rows.length && !options?.excludeLevelUpMeta) {
252
+ for (const change of receipt.changes ?? []) {
253
+ if (change.delta > 0) push(RESOURCE_ICONS[change.resourceId] ?? '✨', change.resourceId, change.delta);
254
+ }
255
+ }
256
+ return rows;
257
+ }
258
+
259
+ function collectRewardRows(result: unknown): RewardRow[] {
260
+ if (!result) return [];
261
+ if (Array.isArray(result)) {
262
+ return result.flatMap((entry) => collectRewardRows(entry));
263
+ }
264
+ if (typeof result === 'object' && result !== null && 'ok' in result) {
265
+ const boxed = result as { ok: boolean; value?: unknown };
266
+ return boxed.ok ? collectRewardRows(boxed.value) : [];
267
+ }
268
+ if (typeof result === 'object' && result !== null && 'rewards' in result) {
269
+ return rewardRowsFromReceipt(result as TransactionReceipt);
270
+ }
271
+ if (typeof result === 'object' && result !== null && 'receipt' in result) {
272
+ return rewardRowsFromReceipt((result as { receipt: TransactionReceipt }).receipt);
273
+ }
274
+ return [];
275
+ }
276
+
277
+ function setPhoneMode(mode: 'boot' | 'home' | 'game'): void {
278
+ inGameplay = mode === 'game';
279
+ const screen = document.querySelector('.stage-screen');
280
+ screen?.classList.remove('is-boot', 'is-game', 'is-home', 'is-revealing-home');
281
+ screen?.classList.add(`is-${mode}`);
282
+ if (mode === 'home') setNav('main');
283
+ }
284
+
285
+ function prepareHomeReveal(): void {
286
+ document.querySelector('.stage-screen')?.classList.add('is-revealing-home');
287
+ document.querySelectorAll<HTMLElement>('.stage-view').forEach((panel) => {
288
+ const isMain = panel.dataset.view === 'main';
289
+ panel.classList.toggle('is-active', isMain);
290
+ panel.hidden = !isMain;
291
+ });
292
+ // Re-pin Boot splash / Phaser FIT to the phone stage before iris measures frog.
293
+ window.dispatchEvent(new Event('resize'));
294
+ }
295
+
296
+ /** Seed Home tabs under splash without flipping to HUD chrome (sculpin-stable canvas). */
297
+ function prepareHomeUnderSplash(): void {
298
+ document.querySelectorAll<HTMLElement>('.stage-view').forEach((panel) => {
299
+ const isMain = panel.dataset.view === 'main';
300
+ panel.classList.toggle('is-active', isMain);
301
+ panel.hidden = !isMain;
302
+ });
303
+ }
304
+
305
+ function setNav(view: 'shop' | 'main' | 'heroes'): void {
306
+ if (inGameplay) return;
307
+ document.querySelectorAll('.nav-tab').forEach((tab) => tab.classList.toggle('is-active', (tab as HTMLElement).dataset.nav === view));
308
+ document.querySelectorAll<HTMLElement>('.stage-view').forEach((panel) => {
309
+ const active = panel.dataset.view === view;
310
+ panel.classList.toggle('is-active', active);
311
+ panel.hidden = !active;
312
+ });
313
+ }
314
+
315
+ async function refresh(options?: { animateXp?: boolean }): Promise<void> {
316
+ const gold = await economy.getBalance('coin');
317
+ const gem = await economy.getBalance('gem');
318
+ $('#hud-gold').textContent = String(gold);
319
+ $('#hud-gem').textContent = String(gem);
320
+
321
+ const toolIds = ['coin', 'gem', 'shardRanger', 'shardGuardian', 'shardMage', 'shardKnight', 'heroRanger', 'heroGuardian', 'heroMage', 'heroKnight'];
322
+ const balances = await Promise.all(toolIds.map(async (id) => [id, await economy.getBalance(id)] as const));
323
+ $('#balances').innerHTML = balances
324
+ .map(([id, amount]) => `<div class="balance"><span>${id}</span><strong>${amount}</strong></div>`)
325
+ .join('');
326
+
327
+ const character = unwrap(await leveling.getState('character'));
328
+ const required = unwrap(await leveling.getXpToNextLevel('character'));
329
+ const maxLevel = levelingDemoConfig.tracks.character.maxLevel ?? 99;
330
+ const atMax = character.level >= maxLevel;
331
+ const ratio = atMax || !required ? 1 : Math.min(1, character.exp / required);
332
+ const percent = Math.round(ratio * 100);
333
+ const leveledUp = character.level > xpHudLevel;
334
+ $('#player-level-text').textContent = `Lv ${character.level}`;
335
+ $('#player-xp-label').textContent = atMax ? `${character.exp} XP · Max` : `${character.exp} / ${required} XP`;
336
+ // Fire-and-forget tween so tool clicks are not blocked by animation.
337
+ if (options?.animateXp) void setXpFill(percent, true, leveledUp);
338
+ else void setXpFill(percent, false, false);
339
+ xpHudLevel = character.level;
340
+
341
+ $('#transaction-count').textContent = `${transactionCount} tx`;
342
+ renderShop();
343
+ await renderHeroes();
344
+ await renderBag();
345
+ await refreshOpenPopups();
346
+ }
347
+
348
+ function waitMs(ms: number): Promise<void> {
349
+ return new Promise((resolve) => window.setTimeout(resolve, ms));
350
+ }
351
+
352
+ async function setXpFill(percent: number, animate: boolean, leveledUp: boolean): Promise<void> {
353
+ await setXpFillElement($('#player-xp-fill'), percent, animate, leveledUp);
354
+ }
355
+
356
+ function renderShop(): void {
357
+ $('#shop-gold-grid').innerHTML = shopGoldPacks
358
+ .map(
359
+ (pack) => `
360
+ <button type="button" class="shop-gold-card" data-buy-gold="${pack.id}">
361
+ <span class="shop-gold-amount">🪙 ${pack.gold.toLocaleString()}</span>
362
+ <strong>💎 ${pack.gem}</strong>
363
+ </button>`,
364
+ )
365
+ .join('');
366
+
367
+ $('#shop-chest-list').innerHTML = shopChests
368
+ .map((chest) => {
369
+ const def = inventoryDemoConfig.items[chest.itemId];
370
+ return `<button type="button" class="shop-chest-card" data-buy-chest="${chest.itemId}" data-gem="${chest.gem}">
371
+ <div style="display:flex;align-items:center;gap:8px">
372
+ <span class="chest-icon">${chest.icon}</span>
373
+ <div><strong>${def.name}</strong><span>${chest.blurb}</span></div>
374
+ </div>
375
+ <strong class="gem-cost">💎 ${chest.gem}</strong>
376
+ </button>`;
377
+ })
378
+ .join('');
379
+ }
380
+
381
+ async function renderHeroes(): Promise<void> {
382
+ const rows = await Promise.all(
383
+ demoHeroes.map(async (hero) => {
384
+ const owned = (await economy.getBalance(hero.ownedResource)) > 0;
385
+ const shards = await economy.getBalance(hero.shardResource);
386
+ const state = unwrap(await leveling.getState(hero.trackId));
387
+ const meta = owned ? `Lv ${state.level} · 🧩 ${shards}` : `Chưa sở hữu · 🧩 ${shards}`;
388
+ return `<button type="button" class="hero-card ${owned ? '' : 'locked'}" data-hero="${hero.id}">
389
+ <span class="hero-icon" style="background:${hero.accent}22">${hero.icon}</span>
390
+ <div><strong>${hero.name}</strong><span>${meta}</span></div>
391
+ </button>`;
392
+ }),
393
+ );
394
+ $('#hero-list').innerHTML = rows.join('');
395
+ }
396
+
397
+ async function renderBag(): Promise<void> {
398
+ if (bagTab === 'equipment') {
399
+ const state = await repository.getSnapshot();
400
+ const equipment = Object.values(state.items);
401
+ $('#bag-list').innerHTML = equipment.length
402
+ ? equipment
403
+ .map(
404
+ (item) => `<button type="button" class="inventory-card" data-equipment-detail="${item.instanceId}">
405
+ <span class="item-mini-icon">🗡️</span>
406
+ <span class="item-mini-body"><strong>Iron Sword</strong><span>R${item.revision}</span></span>
407
+ </button>`,
408
+ )
409
+ .join('')
410
+ : '<div class="empty-inventory">Chưa có trang bị. Dùng tool Create sword.</div>';
411
+ return;
412
+ }
413
+
414
+ if (bagTab === 'heroShard') {
415
+ const shards = await Promise.all(
416
+ demoHeroes.map(async (hero) => {
417
+ const amount = await economy.getBalance(hero.shardResource);
418
+ const owned = (await economy.getBalance(hero.ownedResource)) > 0;
419
+ return { hero, amount, owned };
420
+ }),
421
+ );
422
+ $('#bag-list').innerHTML = shards.some((entry) => entry.amount > 0)
423
+ ? shards
424
+ .filter((entry) => entry.amount > 0)
425
+ .map((entry) => {
426
+ const canActivate = !entry.owned && entry.amount >= HERO_UNLOCK_SHARDS;
427
+ return `<div class="shard-card">
428
+ <button type="button" class="shard-card-main" data-shard-detail="${entry.hero.id}">
429
+ <span class="item-mini-icon">${entry.hero.icon}</span>
430
+ <span class="item-mini-body"><strong>${entry.hero.name} shard</strong><span>x${entry.amount}</span></span>
431
+ </button>
432
+ ${
433
+ canActivate
434
+ ? `<button type="button" class="shard-activate" data-activate-hero="${entry.hero.id}">Active · ${HERO_UNLOCK_SHARDS}</button>`
435
+ : ''
436
+ }
437
+ </div>`;
438
+ })
439
+ .join('')
440
+ : '<div class="empty-inventory">Chưa có mảnh hero.</div>';
441
+ return;
442
+ }
443
+
444
+ const list = await inventory.list();
445
+ const filtered = list.filter((entry) => entry.amount > 0 && itemMeta[entry.itemId]?.bagTab === 'material');
446
+ $('#bag-list').innerHTML = filtered.length
447
+ ? filtered
448
+ .map((entry) => {
449
+ const meta = itemMeta[entry.itemId];
450
+ return `<button type="button" class="inventory-card" data-inventory-detail="${entry.itemId}">
451
+ <span class="item-mini-icon">${meta?.icon ?? '📦'}</span>
452
+ <span class="item-mini-body"><strong>${entry.definition.name}</strong><span>x${entry.amount}</span></span>
453
+ </button>`;
454
+ })
455
+ .join('')
456
+ : '<div class="empty-inventory">Trống trong tab này.</div>';
457
+ }
458
+
459
+ async function run(label: string, action: () => Promise<unknown>, options?: { showRewards?: boolean }): Promise<void> {
460
+ if (busy) return;
461
+ busy = true;
462
+ setStatus('Processing…', 'busy');
463
+ try {
464
+ const result = await action();
465
+ transactionCount += 1;
466
+ writeLog(label, result);
467
+ setStatus('Success');
468
+ await refresh({ animateXp: label === 'add-xp' });
469
+ if (options?.showRewards !== false) {
470
+ const levelUps = extractLevelUps(result).filter((entry) => entry.trackId === 'character');
471
+ if (levelUps.length) {
472
+ const receipt =
473
+ result && typeof result === 'object' && 'rewards' in result
474
+ ? (result as TransactionReceipt)
475
+ : result && typeof result === 'object' && 'ok' in result && (result as { ok: boolean; value?: TransactionReceipt }).ok
476
+ ? (result as { value: TransactionReceipt }).value
477
+ : undefined;
478
+ const levelRewards = rewardRowsFromReceipt(receipt, { excludeLevelUpMeta: true });
479
+ const topLevel = Math.max(...levelUps.map((entry) => entry.level));
480
+ void showLevelUpPopup(topLevel, levelRewards);
481
+ } else {
482
+ const rows = collectRewardRows(result);
483
+ if (rows.length) showRewardPopup(rows);
484
+ }
485
+ }
486
+ } catch (error) {
487
+ writeLog(`${label} failed`, error instanceof Error ? error.message : error);
488
+ setStatus('Failed', 'error');
489
+ } finally {
490
+ busy = false;
491
+ }
492
+ }
493
+
494
+ const HERO_UNLOCK_SHARDS = 50;
495
+
496
+ const HERO_RESOURCE_TO_SHARD: Record<string, string> = {
497
+ heroRanger: 'shardRanger',
498
+ heroGuardian: 'shardGuardian',
499
+ heroMage: 'shardMage',
500
+ heroKnight: 'shardKnight',
501
+ };
502
+
503
+ /** If a hero reward lands on an already-owned hero, convert duplicates into 50 shards each. */
504
+ async function convertDuplicateHeroRewards(receipt: TransactionReceipt): Promise<TransactionReceipt> {
505
+ const heroGains = (receipt.rewards ?? []).filter(
506
+ (reward): reward is Extract<RewardSummary, { type: 'resource' }> =>
507
+ reward.type === 'resource' && Boolean(HERO_RESOURCE_TO_SHARD[reward.resourceId]),
508
+ );
509
+ if (!heroGains.length) return receipt;
510
+
511
+ const transactionId = tx('hero-dup-convert');
512
+ const converted: RewardSummary[] = [];
513
+ const result = await repository.runAtomic(transactionId, async (state) => {
514
+ const next = cloneEconomyState(state);
515
+ const changes: Array<{ resourceId: string; delta: number; balance: number }> = [];
516
+ const nextRewards: RewardSummary[] = [];
517
+
518
+ for (const reward of receipt.rewards ?? []) {
519
+ if (reward.type !== 'resource' || !HERO_RESOURCE_TO_SHARD[reward.resourceId]) {
520
+ nextRewards.push(reward);
521
+ continue;
522
+ }
523
+ const shardId = HERO_RESOURCE_TO_SHARD[reward.resourceId];
524
+ // After open/grant, balance already includes this reward.
525
+ const ownedAfter = next.balances[reward.resourceId] ?? 0;
526
+ const ownedBefore = Math.max(0, ownedAfter - reward.amount);
527
+ const keep = ownedBefore >= 1 ? 0 : Math.min(1, reward.amount);
528
+ const dupes = reward.amount - keep;
529
+ if (dupes > 0) {
530
+ applyDelta(next, demoConfig, reward.resourceId, -dupes, 'grantable', changes);
531
+ applyDelta(next, demoConfig, shardId, HERO_UNLOCK_SHARDS * dupes, 'grantable', changes);
532
+ converted.push({ type: 'resource', resourceId: shardId, amount: HERO_UNLOCK_SHARDS * dupes });
533
+ if (keep > 0) nextRewards.push({ type: 'resource', resourceId: reward.resourceId, amount: keep });
534
+ nextRewards.push({ type: 'resource', resourceId: shardId, amount: HERO_UNLOCK_SHARDS * dupes });
535
+ } else {
536
+ nextRewards.push(reward);
537
+ }
538
+ }
539
+
540
+ return {
541
+ state: next,
542
+ receipt: {
543
+ transactionId,
544
+ operationType: 'inventory-grant',
545
+ applied: true,
546
+ changes,
547
+ rewards: nextRewards,
548
+ },
549
+ value: nextRewards,
550
+ };
551
+ });
552
+
553
+ if (!converted.length) return receipt;
554
+ return {
555
+ ...receipt,
556
+ rewards: result.value,
557
+ changes: [...(receipt.changes ?? []), ...result.receipt.changes],
558
+ };
559
+ }
560
+
561
+ async function buyChest(itemId: string, gemCost: number): Promise<TransactionReceipt> {
562
+ const transactionId = tx(`buy-${itemId}`);
563
+ const result = await repository.runAtomic(transactionId, async (state) => {
564
+ const next = cloneEconomyState(state);
565
+ const changes: Array<{ resourceId: string; delta: number; balance: number }> = [];
566
+ applyDelta(next, demoConfig, 'gem', -gemCost, 'spendable', changes);
567
+ next.inventory[itemId] = (next.inventory[itemId] ?? 0) + 1;
568
+ return {
569
+ state: next,
570
+ receipt: {
571
+ transactionId,
572
+ operationType: 'inventory-grant',
573
+ applied: true,
574
+ changes,
575
+ rewards: [{ type: 'item', itemId, amount: 1 } satisfies RewardSummary],
576
+ },
577
+ };
578
+ });
579
+ return result.receipt;
580
+ }
581
+
582
+ async function activateHeroFromShards(heroId: (typeof demoHeroes)[number]['id']): Promise<TransactionReceipt> {
583
+ const hero = demoHeroes.find((entry) => entry.id === heroId);
584
+ if (!hero) throw new Error(`Unknown hero: ${heroId}`);
585
+ const transactionId = tx(`activate-${hero.id}`);
586
+ const result = await repository.runAtomic(transactionId, async (state) => {
587
+ const next = cloneEconomyState(state);
588
+ const owned = next.balances[hero.ownedResource] ?? 0;
589
+ const shards = next.balances[hero.shardResource] ?? 0;
590
+ if (owned > 0) throw new Error(`${hero.name} already owned`);
591
+ if (shards < HERO_UNLOCK_SHARDS) throw new Error(`Need ${HERO_UNLOCK_SHARDS} shards to unlock ${hero.name}`);
592
+ const changes: Array<{ resourceId: string; delta: number; balance: number }> = [];
593
+ applyDelta(next, demoConfig, hero.shardResource, -HERO_UNLOCK_SHARDS, 'spendable', changes);
594
+ applyDelta(next, demoConfig, hero.ownedResource, 1, 'grantable', changes);
595
+ return {
596
+ state: next,
597
+ receipt: {
598
+ transactionId,
599
+ operationType: 'inventory-grant',
600
+ applied: true,
601
+ changes,
602
+ rewards: [{ type: 'resource', resourceId: hero.ownedResource, amount: 1 } satisfies RewardSummary],
603
+ },
604
+ };
605
+ });
606
+ return result.receipt;
607
+ }
608
+
609
+ const actions: Record<string, () => Promise<unknown>> = {
610
+ grant: () => economy.execute({ type: 'grant', configId: 'starter', transactionId: tx('starter') }),
611
+ 'add-gold': () => economy.execute({ type: 'grant', configId: 'toolGold', transactionId: tx('tool-gold') }),
612
+ 'add-gem': () => economy.execute({ type: 'grant', configId: 'toolGem', transactionId: tx('tool-gem') }),
613
+ 'add-shards': () => economy.execute({ type: 'grant', configId: 'toolShards', transactionId: tx('tool-shards') }),
614
+ 'add-xp': () => leveling.addExp('character', 100, tx('character-xp')),
615
+ 'reset-character': () => leveling.resetToDefault('character', tx('character-reset')),
616
+ 'create-item': async () => {
617
+ const item = unwrap(await items.createItem('sword-1', 'ironSword', tx('create-item')));
618
+ proposalId = undefined;
619
+ return item;
620
+ },
621
+ 'seed-materials': async () => {
622
+ const receipts = [];
623
+ for (const itemId of ['fixedChest', 'selectHeroChest', 'randomShardChest', 'spinTicket', 'choiceTicket']) {
624
+ receipts.push(unwrap(await inventory.grant(itemId, 2, tx(`seed-${itemId}`))));
625
+ }
626
+ return receipts;
627
+ },
628
+ 'reroll-item': async () => {
629
+ const id = selectedEquipmentId ?? 'sword-1';
630
+ const proposal = unwrap(await items.rollChange(id, 'swordReroll', `proposal-${sessionId}-${transactionCount + 1}`, tx('reroll-item')));
631
+ proposalId = proposal.proposalId;
632
+ return proposal;
633
+ },
634
+ 'apply-item': async () => {
635
+ if (!proposalId) throw new Error('Preview an item change first');
636
+ const id = selectedEquipmentId ?? 'sword-1';
637
+ const result = unwrap(await items.applyChange(id, proposalId, tx('apply-item')));
638
+ proposalId = undefined;
639
+ return result;
640
+ },
641
+ 'revert-item': async () => {
642
+ if (!proposalId) throw new Error('Apply an item change first');
643
+ const id = selectedEquipmentId ?? 'sword-1';
644
+ const result = unwrap(await items.revertChange(id, proposalId, tx('revert-item')));
645
+ proposalId = undefined;
646
+ return result;
647
+ },
648
+ };
649
+
650
+ function renderCurrentDiff(current: number, next?: number): string {
651
+ if (next === undefined || next === current) return String(current);
652
+ const direction = next > current ? 'up' : 'down';
653
+ return `${current} <span class="inline-diff diff-${direction}">→ ${next}</span>`;
654
+ }
655
+
656
+ function renderSkillDiff(current: Record<string, number>, next?: Record<string, number>): string {
657
+ const currentText = Object.keys(current).join(', ') || 'None';
658
+ if (!next) return currentText;
659
+ const changes = Object.keys({ ...current, ...next }).filter((key) => (current[key] ?? 0) !== (next[key] ?? 0));
660
+ if (!changes.length) return currentText;
661
+ return `${currentText} <span class="inline-diff diff-${changes.some((key) => (next[key] ?? 0) > (current[key] ?? 0)) ? 'up' : 'down'}">→ ${changes.map((key) => `${key} ${current[key] ?? 0}→${next[key] ?? 0}`).join(', ')}</span>`;
662
+ }
663
+
664
+ function formatRewardEntry(entry: { type: string; resourceId?: string; itemId?: string; amount: number }): string {
665
+ if (entry.type === 'item') {
666
+ const name = inventoryDemoConfig.items[entry.itemId ?? '']?.name ?? entry.itemId;
667
+ return `${itemMeta[entry.itemId ?? '']?.icon ?? '📦'} ${name} +${entry.amount}`;
668
+ }
669
+ const id = entry.resourceId ?? '';
670
+ return `${RESOURCE_ICONS[id] ?? '✨'} ${id} +${entry.amount}`;
671
+ }
672
+
673
+ async function openInventoryDetail(itemId: string): Promise<void> {
674
+ const entry = (await inventory.list()).find((candidate) => candidate.itemId === itemId);
675
+ if (!entry) return;
676
+ const meta = itemMeta[itemId];
677
+ const kind = meta?.kind ?? 'material';
678
+ detailMode = 'stack';
679
+ selectedInventoryItemId = itemId;
680
+ selectedEquipmentId = undefined;
681
+ selectedInventoryRewards.clear();
682
+ $('#inventory-detail').classList.add('is-open');
683
+ syncModalScrollLock();
684
+ $('#detail-icon').textContent = meta?.icon ?? '📦';
685
+ $('#detail-kind').textContent = KIND_LABEL[kind];
686
+ $('#inventory-name').textContent = entry.definition.name;
687
+ $('#inventory-description').textContent = entry.definition.description;
688
+ $('#inventory-owned').textContent = `Owned: ${entry.amount}`;
689
+ $('#equipment-stats').hidden = true;
690
+ $('#equipment-actions').hidden = true;
691
+ $('#inventory-detail').querySelector('.inventory-modal')?.classList.remove('is-compact');
692
+
693
+ const canUse = Boolean(entry.definition.open);
694
+ const canSell = Boolean(entry.definition.sell);
695
+ const isSelect = entry.definition.open?.mode === 'select';
696
+
697
+ $('#stack-actions').hidden = !(canUse || canSell);
698
+ $('#amount-block').hidden = !(canUse || canSell);
699
+ $('#inventory-open').hidden = !canUse;
700
+ $('#inventory-sell').hidden = !canSell;
701
+
702
+ const amountInput = $('#inventory-amount') as HTMLInputElement;
703
+ amountInput.max = String(entry.amount);
704
+ amountInput.value = '1';
705
+
706
+ // Reward preview for Use items (non-select shows list; select uses choice list)
707
+ const open = entry.definition.open;
708
+ if (canUse && open && !isSelect) {
709
+ $('#reward-preview').hidden = false;
710
+ $('#reward-preview-list').innerHTML = open.entries
711
+ .map((reward) => `<div class="reward-preview-row"><span>${formatRewardEntry(reward)}</span></div>`)
712
+ .join('');
713
+ } else {
714
+ $('#reward-preview').hidden = true;
715
+ $('#reward-preview-list').innerHTML = '';
716
+ }
717
+
718
+ $('#inventory-choice-list').innerHTML =
719
+ isSelect && open
720
+ ? open.entries
721
+ .map((reward) => {
722
+ const id = reward.type === 'item' ? reward.itemId : reward.resourceId;
723
+ return `<button type="button" class="choice-button" data-choice-id="${id}">${formatRewardEntry(reward)}</button>`;
724
+ })
725
+ .join('')
726
+ : '';
727
+
728
+ updateInventoryOpenButton(open?.mode);
729
+ $('#inventory-sell').toggleAttribute('disabled', !canSell);
730
+ }
731
+
732
+ async function openShardDetail(heroId: (typeof demoHeroes)[number]['id']): Promise<void> {
733
+ const hero = demoHeroes.find((entry) => entry.id === heroId);
734
+ if (!hero) return;
735
+ detailMode = 'heroShard';
736
+ selectedShardHeroId = heroId;
737
+ selectedInventoryItemId = undefined;
738
+ selectedEquipmentId = undefined;
739
+ const amount = await economy.getBalance(hero.shardResource);
740
+ $('#inventory-detail').classList.add('is-open');
741
+ syncModalScrollLock();
742
+ $('#detail-icon').textContent = hero.icon;
743
+ $('#detail-kind').textContent = KIND_LABEL.heroShard;
744
+ $('#inventory-name').textContent = `${hero.name} Shard`;
745
+ $('#inventory-description').textContent = `Mảnh nâng cấp ${hero.name}. Không Use/Sell.`;
746
+ $('#inventory-owned').textContent = `Owned: ${amount}`;
747
+ $('#equipment-stats').hidden = true;
748
+ $('#equipment-actions').hidden = true;
749
+ $('#stack-actions').hidden = true;
750
+ $('#amount-block').hidden = true;
751
+ $('#inventory-open').hidden = true;
752
+ $('#inventory-sell').hidden = true;
753
+ $('#reward-preview').hidden = true;
754
+ $('#inventory-choice-list').innerHTML = '';
755
+ $('#inventory-detail').querySelector('.inventory-modal')?.classList.add('is-compact');
756
+ }
757
+
758
+ async function openEquipmentDetail(instanceId: string): Promise<void> {
759
+ const state = await repository.getSnapshot();
760
+ const item = state.items[instanceId];
761
+ if (!item) return;
762
+ detailMode = 'equipment';
763
+ selectedEquipmentId = instanceId;
764
+ selectedInventoryItemId = undefined;
765
+ $('#inventory-detail').classList.add('is-open');
766
+ syncModalScrollLock();
767
+ $('#detail-icon').textContent = '🗡️';
768
+ $('#detail-kind').textContent = KIND_LABEL.equipment;
769
+ $('#inventory-name').textContent = 'Iron Sword';
770
+ $('#inventory-description').textContent = 'Trang bị unique — không stack. Reroll/Apply/Revert only.';
771
+ $('#inventory-owned').textContent = `Revision ${item.revision}`;
772
+ $('#amount-block').hidden = true;
773
+ $('#stack-actions').hidden = true;
774
+ $('#inventory-open').hidden = true;
775
+ $('#inventory-sell').hidden = true;
776
+ $('#reward-preview').hidden = true;
777
+ $('#equipment-actions').hidden = false;
778
+ $('#inventory-choice-list').innerHTML = '';
779
+ $('#inventory-detail').querySelector('.inventory-modal')?.classList.add('is-compact');
780
+ const activeProposal = proposalId ? state.itemProposals[proposalId] : undefined;
781
+ const pending = activeProposal?.status === 'pending' ? activeProposal : undefined;
782
+ $('#equipment-stats').hidden = false;
783
+ $('#equipment-stats').innerHTML = `
784
+ <div class="stat-row"><span>Attack</span><strong>${renderCurrentDiff(item.stats.attack, pending?.after.stats.attack)}</strong></div>
785
+ <div class="stat-row"><span>Defense</span><strong>${renderCurrentDiff(item.stats.defense, pending?.after.stats.defense)}</strong></div>
786
+ <div class="skill-row"><span>Skills</span><strong>${renderSkillDiff(item.skills, pending?.after.skills)}</strong></div>
787
+ <div id="reroll-preview" class="reroll-preview"><div class="reroll-title">Reroll preview</div><div class="reroll-cost">Cost: ${formatStacks(demoConfig.itemChanges.swordReroll.cost)}</div></div>
788
+ `;
789
+ const rerollCost = demoConfig.itemChanges.swordReroll.cost;
790
+ $('#reroll-item').toggleAttribute('disabled', !(await hasResources(rerollCost)) || pending?.status === 'pending');
791
+ $('#apply-item').toggleAttribute('disabled', pending?.status !== 'pending');
792
+ $('#revert-item').toggleAttribute('disabled', pending?.status !== 'pending');
793
+ }
794
+
795
+ async function refreshOpenPopups(): Promise<void> {
796
+ if ($('#inventory-detail').classList.contains('is-open')) {
797
+ if (detailMode === 'equipment' && selectedEquipmentId) await openEquipmentDetail(selectedEquipmentId);
798
+ else if (detailMode === 'stack' && selectedInventoryItemId) await openInventoryDetail(selectedInventoryItemId);
799
+ else if (detailMode === 'heroShard' && selectedShardHeroId) await openShardDetail(selectedShardHeroId);
800
+ }
801
+ if (selectedHeroId && $('#hero-upgrade-modal').classList.contains('is-open')) await openHeroUpgrade(selectedHeroId);
802
+ }
803
+
804
+ function updateInventoryOpenButton(mode?: string): void {
805
+ $('#inventory-open').toggleAttribute('disabled', !mode || (mode === 'select' && selectedInventoryRewards.size === 0));
806
+ }
807
+
808
+ function closeInventoryDetail(): void {
809
+ $('#inventory-detail').classList.remove('is-open');
810
+ selectedInventoryItemId = undefined;
811
+ selectedEquipmentId = undefined;
812
+ syncModalScrollLock();
813
+ }
814
+
815
+ function getInventoryAmount(): number {
816
+ const input = $('#inventory-amount') as HTMLInputElement;
817
+ const max = Number(input.max);
818
+ const amount = Math.floor(Number(input.value) || 1);
819
+ return Math.max(1, Math.min(max, amount));
820
+ }
821
+
822
+ async function openHeroUpgrade(heroId: (typeof demoHeroes)[number]['id']): Promise<void> {
823
+ const hero = demoHeroes.find((entry) => entry.id === heroId);
824
+ if (!hero) return;
825
+ selectedHeroId = heroId;
826
+ const owned = (await economy.getBalance(hero.ownedResource)) > 0;
827
+ const shards = await economy.getBalance(hero.shardResource);
828
+ const state = unwrap(await leveling.getState(hero.trackId));
829
+ const preview = unwrap(await leveling.getUpgradePreview(hero.trackId));
830
+ const maxLevel = levelingDemoConfig.tracks[hero.trackId].maxLevel ?? 10;
831
+ const startLevel = levelingDemoConfig.tracks[hero.trackId].startLevel ?? 1;
832
+
833
+ $('#hero-upgrade-modal').classList.add('is-open');
834
+ syncModalScrollLock();
835
+ const icon = $('#hero-upgrade-icon');
836
+ icon.textContent = hero.icon;
837
+ icon.style.background = `${hero.accent}33`;
838
+ $('#hero-upgrade-name').textContent = hero.name;
839
+ $('#hero-upgrade-level').textContent = owned ? `Lv ${state.level} / Max ${maxLevel}` : 'Chưa sở hữu';
840
+ $('#hero-upgrade-shards').textContent = `Mảnh: ${shards}`;
841
+
842
+ if (!owned) {
843
+ $('#hero-upgrade-costs').innerHTML = '<div class="cost-row">Mở hero từ Select Hero Chest để nâng cấp.</div>';
844
+ $('#hero-upgrade-btn').hidden = true;
845
+ $('#hero-reset-btn').hidden = true;
846
+ return;
847
+ }
848
+
849
+ $('#hero-upgrade-btn').hidden = false;
850
+ $('#hero-reset-btn').hidden = false;
851
+ const costRows = await Promise.all(
852
+ (preview.isMaxLevel ? [] : preview.costs).map(async (stack) => {
853
+ const have = await economy.getBalance(stack.resourceId);
854
+ const ok = have >= stack.amount;
855
+ const icon = RESOURCE_ICONS[stack.resourceId] ?? '✨';
856
+ return `<div class="cost-row ${ok ? 'ok' : 'short'}"><span>${icon} ${stack.resourceId}</span><strong>${have} / ${stack.amount}</strong></div>`;
857
+ }),
858
+ );
859
+ $('#hero-upgrade-costs').innerHTML = preview.isMaxLevel
860
+ ? '<div class="cost-row">Max level reached</div>'
861
+ : costRows.join('') || '<div class="cost-row">No cost</div>';
862
+ $('#hero-upgrade-btn').toggleAttribute('disabled', preview.isMaxLevel);
863
+ $('#hero-reset-btn').toggleAttribute('disabled', state.level <= startLevel);
864
+ }
865
+
866
+ document.querySelectorAll<HTMLButtonElement>('[data-action]').forEach((button) => {
867
+ button.addEventListener('click', () => {
868
+ const action = button.dataset.action;
869
+ if (action && actions[action]) {
870
+ const silent = action === 'reroll-item' || action === 'create-item' || action === 'revert-item';
871
+ void run(action, actions[action], { showRewards: !silent });
872
+ }
873
+ });
874
+ });
875
+
876
+ /** QA overlay only — skill `tool-demo-qa`. Wired after Phaser.Game below. */
877
+ let demoTools: ReturnType<typeof initDemoTools>;
878
+ let deviceTierSession: DeviceTierSession;
879
+ let adaptiveLoading: NonNullable<ReturnType<typeof initDemoQaTools>['adaptiveLoading']> | null =
880
+ null;
881
+
882
+ document.querySelectorAll<HTMLElement>('[data-close-popup]').forEach((button) => {
883
+ button.addEventListener('click', () => {
884
+ const id = button.dataset.closePopup;
885
+ if (id) $(`#${id}`).classList.remove('is-open');
886
+ syncModalScrollLock();
887
+ });
888
+ });
889
+
890
+ document.querySelectorAll<HTMLButtonElement>('.nav-tab').forEach((button) => {
891
+ button.addEventListener('click', () => setNav(button.dataset.nav as 'shop' | 'main' | 'heroes'));
892
+ });
893
+
894
+ document.querySelectorAll<HTMLButtonElement>('.bag-tab').forEach((button) => {
895
+ button.addEventListener('click', () => {
896
+ bagTab = button.dataset.bagTab as typeof bagTab;
897
+ document.querySelectorAll('.bag-tab').forEach((tab) => tab.classList.toggle('is-active', tab === button));
898
+ void renderBag();
899
+ });
900
+ });
901
+
902
+ document.addEventListener('click', (event) => {
903
+ const target = event.target as HTMLElement;
904
+ const goldId = target.closest<HTMLElement>('[data-buy-gold]')?.dataset.buyGold;
905
+ if (goldId) {
906
+ const pack = shopGoldPacks.find((entry) => entry.id === goldId);
907
+ void run(`buy-${goldId}`, async () => {
908
+ const receipt = unwrap(await economy.execute({ type: 'convert', configId: goldId, transactionId: tx(goldId) }));
909
+ return {
910
+ ...receipt,
911
+ rewards: [{ type: 'resource', resourceId: 'coin', amount: pack?.gold ?? 0 }],
912
+ };
913
+ });
914
+ }
915
+
916
+ const chest = target.closest<HTMLElement>('[data-buy-chest]');
917
+ if (chest?.dataset.buyChest) {
918
+ const gemCost = Number(chest.dataset.gem);
919
+ void run(`buy-${chest.dataset.buyChest}`, () => buyChest(chest.dataset.buyChest!, gemCost));
920
+ }
921
+
922
+ const heroId = target.closest<HTMLElement>('[data-hero]')?.dataset.hero as (typeof demoHeroes)[number]['id'] | undefined;
923
+ if (heroId) void openHeroUpgrade(heroId);
924
+
925
+ const detailId = target.closest<HTMLElement>('[data-inventory-detail]')?.dataset.inventoryDetail;
926
+ if (detailId) void openInventoryDetail(detailId);
927
+
928
+ const shardId = target.closest<HTMLElement>('[data-shard-detail]')?.dataset.shardDetail as (typeof demoHeroes)[number]['id'] | undefined;
929
+ if (shardId) void openShardDetail(shardId);
930
+
931
+ const activateId = target.closest<HTMLElement>('[data-activate-hero]')?.dataset.activateHero as
932
+ | (typeof demoHeroes)[number]['id']
933
+ | undefined;
934
+ if (activateId) {
935
+ event.preventDefault();
936
+ void run(`activate-${activateId}`, () => activateHeroFromShards(activateId));
937
+ }
938
+
939
+ const equipmentId = target.closest<HTMLElement>('[data-equipment-detail]')?.dataset.equipmentDetail;
940
+ if (equipmentId) void openEquipmentDetail(equipmentId);
941
+
942
+ const choiceId = target.closest<HTMLElement>('[data-choice-id]')?.dataset.choiceId;
943
+ if (choiceId) {
944
+ selectedInventoryRewards.clear();
945
+ selectedInventoryRewards.add(choiceId);
946
+ document.querySelectorAll('[data-choice-id]').forEach((element) => element.classList.toggle('is-selected', (element as HTMLElement).dataset.choiceId === choiceId));
947
+ updateInventoryOpenButton('select');
948
+ }
949
+ });
950
+
951
+ $('#inventory-close').addEventListener('click', closeInventoryDetail);
952
+ $('#reward-modal').addEventListener('click', (event) => {
953
+ if (event.target === $('#reward-modal')) closeRewardPopup();
954
+ });
955
+ $('.reward-modal').addEventListener('click', (event) => {
956
+ event.stopPropagation();
957
+ });
958
+ $('#levelup-ok').addEventListener('click', closeLevelUpPopup);
959
+ $('#inventory-minus').addEventListener('click', () => {
960
+ const input = $('#inventory-amount') as HTMLInputElement;
961
+ input.value = String(Math.max(1, getInventoryAmount() - 1));
962
+ });
963
+ $('#inventory-plus').addEventListener('click', () => {
964
+ const input = $('#inventory-amount') as HTMLInputElement;
965
+ input.value = String(Math.min(Number(input.max), getInventoryAmount() + 1));
966
+ });
967
+ $('#inventory-max').addEventListener('click', () => {
968
+ const input = $('#inventory-amount') as HTMLInputElement;
969
+ input.value = input.max;
970
+ });
971
+ $('#inventory-open').addEventListener('click', () => {
972
+ if (!selectedInventoryItemId) return;
973
+ void run('inventory-open', async () => {
974
+ const receipt = unwrap(
975
+ await inventory.open(selectedInventoryItemId!, getInventoryAmount(), tx('inventory-open'), [...selectedInventoryRewards]),
976
+ );
977
+ return convertDuplicateHeroRewards(receipt);
978
+ });
979
+ closeInventoryDetail();
980
+ });
981
+ $('#inventory-sell').addEventListener('click', () => {
982
+ if (!selectedInventoryItemId) return;
983
+ void run('inventory-sell', async () => unwrap(await inventory.sell(selectedInventoryItemId!, getInventoryAmount(), tx('inventory-sell'))));
984
+ closeInventoryDetail();
985
+ });
986
+
987
+ $('#hero-upgrade-btn').addEventListener('click', () => {
988
+ if (!selectedHeroId) return;
989
+ const hero = demoHeroes.find((entry) => entry.id === selectedHeroId);
990
+ if (!hero) return;
991
+ void run(`upgrade-${hero.id}`, () => leveling.upgrade(hero.trackId, tx(`upgrade-${hero.id}`)), { showRewards: false });
992
+ });
993
+ $('#hero-reset-btn').addEventListener('click', () => {
994
+ if (!selectedHeroId) return;
995
+ const hero = demoHeroes.find((entry) => entry.id === selectedHeroId);
996
+ if (!hero) return;
997
+ void run(`reset-${hero.id}`, () => leveling.resetToDefault(hero.trackId, tx(`reset-${hero.id}`)));
998
+ });
999
+
1000
+ $('#btn-bag').addEventListener('click', () => {
1001
+ $('#bag-modal').classList.add('is-open');
1002
+ syncModalScrollLock();
1003
+ void renderBag();
1004
+ });
1005
+
1006
+ sceneHooks.onBootLoad = async () => {
1007
+ renderShop();
1008
+ await refresh();
1009
+ };
1010
+
1011
+ sceneHooks.onBootPrepareHome = (closeStyle) => {
1012
+ // slide-up: idle Home under DOM splash that slides away.
1013
+ // iris: keep sculpin full-viewport canvas — only seed Home content; reveal later.
1014
+ if (closeStyle === 'slide-up') {
1015
+ setPhoneMode('home');
1016
+ return;
1017
+ }
1018
+ prepareHomeUnderSplash();
1019
+ };
1020
+
1021
+ sceneHooks.onRequestHome = () => {
1022
+ void returnHome();
1023
+ };
1024
+
1025
+ sceneHooks.onRequestPlay = () => {
1026
+ void enterGame();
1027
+ };
1028
+
1029
+ sceneHooks.onRequestNextLevel = () => {
1030
+ void loadNextLevel();
1031
+ };
1032
+
1033
+ $('#btn-play').addEventListener('click', () => {
1034
+ void enterGame();
1035
+ });
1036
+
1037
+ const game = new Phaser.Game({
1038
+ type: Phaser.WEBGL,
1039
+ parent: 'game',
1040
+ // Design 390×720 × devicePixelRatio so FIT CSS stays phone-sized while the
1041
+ // WebGL buffer matches Retina (fixes nhòe / răng cưa on text + Graphics).
1042
+ width: gameCanvas.width,
1043
+ height: gameCanvas.height,
1044
+ transparent: true,
1045
+ // Alpha 0 so idle/reveal frames do not clear to opaque #0b1220 over HTML Home.
1046
+ backgroundColor: 'rgba(11, 18, 32, 0)',
1047
+ roundPixels: false,
1048
+ render: {
1049
+ antialias: true,
1050
+ antialiasGL: true,
1051
+ roundPixels: false,
1052
+ powerPreference: 'high-performance',
1053
+ },
1054
+ scale: {
1055
+ mode: Phaser.Scale.FIT,
1056
+ autoCenter: Phaser.Scale.CENTER_BOTH,
1057
+ // Sub-pixel CSS rounding from autoRound softens FIT output on HiDPI.
1058
+ autoRound: false,
1059
+ },
1060
+ scene: demoScenes,
1061
+ });
1062
+
1063
+ /** QA Test tools — Perf HUD + potato/low/mid/high (ensures shell even if HTML is partial). */
1064
+ const demoQa = initDemoQaTools({
1065
+ defaultEnabled: DEMO_TOOLS_DEFAULT,
1066
+ ...(DEMO_TOOLS_FORCE == null ? {} : { enabled: DEMO_TOOLS_FORCE }),
1067
+ getLoop: () => game.loop,
1068
+ });
1069
+ demoTools = demoQa.tools;
1070
+ deviceTierSession = demoQa.deviceTierSession;
1071
+ adaptiveLoading = demoQa.adaptiveLoading;
1072
+
1073
+ const resizeToDesignCanvas = (): void => {
1074
+ game.scale.resize(gameCanvas.width, gameCanvas.height);
1075
+ game.scale.refresh();
1076
+ };
1077
+
1078
+ sceneHooks.onBootRevealHome = () => {
1079
+ prepareHomeReveal();
1080
+ game.scale.refresh();
1081
+ };
1082
+ setUiAudioGame(game);
1083
+ bindDomButtonJuice();
1084
+ bindDomSettingsPopup(document, {
1085
+ onCloseSound: () => playUiClose(),
1086
+ onClickSound: () => playUiClick(),
1087
+ onHome: () => sceneHooks.onRequestHome?.(),
1088
+ });
1089
+ document.addEventListener(
1090
+ 'pointerdown',
1091
+ () => {
1092
+ unlockAudioSettings();
1093
+ },
1094
+ { once: true },
1095
+ );
1096
+
1097
+ async function getOverlay(): Promise<FactoryLoadingOverlayScene> {
1098
+ const overlay = game.scene.getScene(FactoryLoadingOverlayScene.KEY) as FactoryLoadingOverlayScene;
1099
+ if (!game.scene.isActive(FactoryLoadingOverlayScene.KEY)) {
1100
+ game.scene.run(FactoryLoadingOverlayScene.KEY);
1101
+ await Promise.race([
1102
+ new Promise<void>((resolve) => overlay.events.once(Phaser.Scenes.Events.CREATE, () => resolve())),
1103
+ new Promise<void>((resolve) => window.setTimeout(resolve, 400)),
1104
+ ]);
1105
+ }
1106
+ game.scene.bringToTop(FactoryLoadingOverlayScene.KEY);
1107
+ return overlay;
1108
+ }
1109
+
1110
+ async function waitLayout(): Promise<void> {
1111
+ await new Promise<void>((resolve) => requestAnimationFrame(() => requestAnimationFrame(() => resolve())));
1112
+ // Keep HiDPI canvas matched to design×DPR. Resizing to a mismatched buffer
1113
+ // (e.g. 640 inside a 720 host) stretches and softens Game/Loading text.
1114
+ resizeToDesignCanvas();
1115
+ }
1116
+
1117
+ window.addEventListener('resize', () => {
1118
+ game.scale.refresh();
1119
+ });
1120
+
1121
+ function switchToGameScene(): void {
1122
+ if (game.scene.isActive('Home') || game.scene.isSleeping('Home')) game.scene.stop('Home');
1123
+ if (game.scene.isActive('Boot')) game.scene.stop('Boot');
1124
+ if (game.scene.isActive('Game')) game.scene.stop('Game');
1125
+ game.scene.start('Game');
1126
+ game.scene.bringToTop('Game');
1127
+ if (game.scene.isActive(FactoryLoadingOverlayScene.KEY)) {
1128
+ game.scene.bringToTop(FactoryLoadingOverlayScene.KEY);
1129
+ }
1130
+ }
1131
+
1132
+ function switchToHomeScene(): void {
1133
+ if (game.scene.isActive('Game') || game.scene.isSleeping('Game')) game.scene.stop('Game');
1134
+ if (game.scene.isActive('Home')) game.scene.stop('Home');
1135
+ game.scene.start('Home');
1136
+ game.scene.bringToTop('Home');
1137
+ if (game.scene.isActive(FactoryLoadingOverlayScene.KEY)) {
1138
+ game.scene.bringToTop(FactoryLoadingOverlayScene.KEY);
1139
+ }
1140
+ }
1141
+
1142
+ async function enterGame(): Promise<void> {
1143
+ if (inGameplay || enteringGame) return;
1144
+ enteringGame = true;
1145
+ try {
1146
+ const overlay = await getOverlay();
1147
+ game.registry.set('playLevel', 1);
1148
+ const tasks: LoadingViewTask[] = [
1149
+ {
1150
+ id: 'player-data',
1151
+ weight: 1,
1152
+ run: async ({ reportProgress }) => {
1153
+ reportProgress(0.1);
1154
+ await refresh();
1155
+ reportProgress(1);
1156
+ },
1157
+ },
1158
+ {
1159
+ id: 'game-scene',
1160
+ weight: 2,
1161
+ afterOpen: true,
1162
+ run: async ({ reportProgress }) => {
1163
+ reportProgress(0.15);
1164
+ // Visual swap waits for open — source scene may still show under the View.
1165
+ setPhoneMode('game');
1166
+ await waitLayout();
1167
+ switchToGameScene();
1168
+ await waitLayout();
1169
+ reportProgress(1);
1170
+ },
1171
+ },
1172
+ ];
1173
+ await overlay.play(new LoadingViewModel({
1174
+ ...LOADING_TIMING_PRESETS.menuToGame,
1175
+ description: 'Loading Game…',
1176
+ }, tasks), 'scene-transition');
1177
+ } catch (error) {
1178
+ console.error('enterGame transition failed', error);
1179
+ switchToGameScene();
1180
+ }
1181
+ if (!game.scene.isActive('Game')) switchToGameScene();
1182
+ await waitLayout();
1183
+ document.body.dataset.sceneLifecycle = 'game';
1184
+ enteringGame = false;
1185
+ }
1186
+
1187
+ async function returnHome(): Promise<void> {
1188
+ if (!inGameplay && document.body.dataset.sceneLifecycle !== 'game') return;
1189
+ try {
1190
+ const overlay = await getOverlay();
1191
+ const tasks: LoadingViewTask[] = [
1192
+ {
1193
+ id: 'home-scene',
1194
+ weight: 2,
1195
+ afterOpen: true,
1196
+ run: async ({ reportProgress }) => {
1197
+ reportProgress(0.15);
1198
+ // `.is-game.is-revealing-home` keeps canvas above HTML so the LoadingView
1199
+ // bitmap mask can reveal the real Home View (not BG_lobby).
1200
+ prepareHomeReveal();
1201
+ switchToHomeScene();
1202
+ await waitLayout();
1203
+ reportProgress(1);
1204
+ },
1205
+ },
1206
+ {
1207
+ id: 'home-data',
1208
+ weight: 1,
1209
+ run: async ({ reportProgress }) => {
1210
+ reportProgress(0.1);
1211
+ await refresh();
1212
+ reportProgress(1);
1213
+ },
1214
+ },
1215
+ ];
1216
+ await overlay.play(new LoadingViewModel({
1217
+ ...LOADING_TIMING_PRESETS.gameToMenu,
1218
+ description: 'Returning Home…',
1219
+ }, tasks), 'scene-transition');
1220
+ } catch (error) {
1221
+ console.error('returnHome transition failed', error);
1222
+ switchToHomeScene();
1223
+ }
1224
+ if (!game.scene.isActive('Home')) switchToHomeScene();
1225
+ setPhoneMode('home');
1226
+ await waitLayout();
1227
+ document.body.dataset.sceneLifecycle = 'ready';
1228
+ }
1229
+
1230
+ async function simulateNextLevelData(level: number, reportProgress: (progress: number) => void): Promise<void> {
1231
+ // Smooth mock load so the bar eases under minimumVisibleMs instead of stair-steps.
1232
+ const steps = [
1233
+ [0.12, 120],
1234
+ [0.28, 120],
1235
+ [0.44, 120],
1236
+ [0.58, 120],
1237
+ [0.72, 120],
1238
+ [0.86, 120],
1239
+ ] as const;
1240
+ for (const [progress, delayMs] of steps) {
1241
+ reportProgress(progress);
1242
+ await new Promise<void>((resolve) => window.setTimeout(resolve, delayMs));
1243
+ }
1244
+ game.registry.set('playLevel', level);
1245
+ game.registry.set('playLevelSeed', Date.now());
1246
+ reportProgress(0.94);
1247
+ }
1248
+
1249
+ async function loadNextLevel(): Promise<void> {
1250
+ if (!game.scene.isActive('Game') && document.body.dataset.sceneLifecycle !== 'game') return;
1251
+ try {
1252
+ const overlay = await getOverlay();
1253
+ const next = Number(game.registry.get('playLevel') ?? 1) + 1;
1254
+ const tasks: LoadingViewTask[] = [
1255
+ {
1256
+ id: 'next-level-data',
1257
+ weight: 2,
1258
+ run: async ({ reportProgress }) => {
1259
+ await simulateNextLevelData(next, reportProgress);
1260
+ reportProgress(1);
1261
+ },
1262
+ },
1263
+ {
1264
+ id: 'next-level-scene',
1265
+ weight: 1,
1266
+ afterOpen: true,
1267
+ run: async ({ reportProgress }) => {
1268
+ reportProgress(0.2);
1269
+ if (game.scene.isActive('Game')) game.scene.stop('Game');
1270
+ game.scene.start('Game');
1271
+ game.scene.bringToTop('Game');
1272
+ game.scene.bringToTop(FactoryLoadingOverlayScene.KEY);
1273
+ await waitLayout();
1274
+ reportProgress(1);
1275
+ },
1276
+ },
1277
+ ];
1278
+ await overlay.play(new LoadingViewModel({
1279
+ ...LOADING_TIMING_PRESETS.nextLevel,
1280
+ description: `Loading Level ${next}…`,
1281
+ }, tasks), 'next-level');
1282
+ } catch (error) {
1283
+ console.error('next level transition failed', error);
1284
+ }
1285
+ }
1286
+
1287
+ $('#btn-reset-data').addEventListener('click', () => {
1288
+ if (!window.confirm('Reset toàn bộ save data về ban đầu?')) return;
1289
+ localStorage.removeItem(STORAGE_KEY);
1290
+ location.reload();
1291
+ });
1292
+
1293
+ (window as unknown as {
1294
+ __factoryDemo?: {
1295
+ returnHome: () => void;
1296
+ enterGame: () => void;
1297
+ nextLevel: () => void;
1298
+ getPlayLevel: () => number;
1299
+ refresh: () => Promise<void>;
1300
+ /** QA Test tools overlay — skill `tool-demo-qa`. */
1301
+ setToolsEnabled: (enabled: boolean) => void;
1302
+ toolsEnabled: () => boolean;
1303
+ getDeviceTier: () => ReturnType<DeviceTierSession['getState']>;
1304
+ setDeviceTier: (override: 'auto' | 'potato' | 'low' | 'mid' | 'high') => void;
1305
+ };
1306
+ }).__factoryDemo = {
1307
+ enterGame: () => {
1308
+ void enterGame();
1309
+ },
1310
+ returnHome: () => {
1311
+ void returnHome();
1312
+ },
1313
+ nextLevel: () => {
1314
+ void loadNextLevel();
1315
+ },
1316
+ getPlayLevel: () => Number(game.registry.get('playLevel') ?? 1),
1317
+ refresh: () => refresh(),
1318
+ setToolsEnabled: (enabled: boolean) => {
1319
+ demoTools.setEnabled(enabled);
1320
+ },
1321
+ toolsEnabled: () => demoTools.enabled,
1322
+ getDeviceTier: () => deviceTierSession.getState(),
1323
+ setDeviceTier: (override) => {
1324
+ deviceTierSession.setOverride(override);
1325
+ },
1326
+ };
1327
+
1328
+ game.events.on('demo-mode', (mode: 'boot' | 'home' | 'game') => {
1329
+ setPhoneMode(mode);
1330
+ if (mode === 'boot') $('#loading-overlay').classList.add('is-hidden');
1331
+ resizeToDesignCanvas();
1332
+ window.dispatchEvent(new Event('resize'));
1333
+ });
1334
+
1335
+ setPhoneMode('boot');
1336
+ document.body.dataset.sceneLifecycle = 'booting';
1337
+
1338
+ void (async () => {
1339
+ const waitHome = new Promise<void>((resolve) => {
1340
+ const handler = (mode: string) => {
1341
+ if (mode === 'home') {
1342
+ game.events.off('demo-mode', handler);
1343
+ resolve();
1344
+ }
1345
+ };
1346
+ game.events.on('demo-mode', handler);
1347
+ });
1348
+ try {
1349
+ await waitHome;
1350
+ await refresh();
1351
+ $('#loading-overlay').classList.add('is-hidden');
1352
+ document.body.dataset.sceneLifecycle = 'ready';
1353
+ setStatus('Ready');
1354
+ } catch (error) {
1355
+ setStatus('Load failed', 'error');
1356
+ $('#loading-overlay').textContent = error instanceof Error ? error.message : 'Load failed';
1357
+ }
1358
+ })();