@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.
- package/.agents/plugins/marketplace.json +20 -0
- package/.agents/skills/bmad-advanced-elicitation/SKILL.md +64 -0
- package/.agents/skills/bmad-advanced-elicitation/assets/methods.csv +72 -0
- package/.agents/skills/bmad-advanced-elicitation/customize.toml +54 -0
- package/.agents/skills/bmad-advanced-elicitation/scripts/pick_methods.py +233 -0
- package/.agents/skills/bmad-advanced-elicitation/scripts/tests/test_pick_methods.py +228 -0
- package/.agents/skills/bmad-agent-analyst/SKILL.md +76 -0
- package/.agents/skills/bmad-agent-analyst/customize.toml +103 -0
- package/.agents/skills/bmad-agent-architect/SKILL.md +76 -0
- package/.agents/skills/bmad-agent-architect/customize.toml +63 -0
- package/.agents/skills/bmad-agent-dev/SKILL.md +76 -0
- package/.agents/skills/bmad-agent-dev/customize.toml +81 -0
- package/.agents/skills/bmad-agent-pm/SKILL.md +76 -0
- package/.agents/skills/bmad-agent-pm/customize.toml +73 -0
- package/.agents/skills/bmad-agent-ux-designer/SKILL.md +76 -0
- package/.agents/skills/bmad-agent-ux-designer/customize.toml +58 -0
- package/.agents/skills/bmad-architecture/SKILL.md +85 -0
- package/.agents/skills/bmad-architecture/assets/spine-template.md +79 -0
- package/.agents/skills/bmad-architecture/customize.toml +101 -0
- package/.agents/skills/bmad-architecture/references/headless.md +26 -0
- package/.agents/skills/bmad-architecture/references/reviewer-gate.md +13 -0
- package/.agents/skills/bmad-architecture/scripts/lint_spine.py +257 -0
- package/.agents/skills/bmad-architecture/scripts/tests/test_lint_spine.py +270 -0
- package/.agents/skills/bmad-brainstorming/SKILL.md +80 -0
- package/.agents/skills/bmad-brainstorming/assets/brain-icons.json +166 -0
- package/.agents/skills/bmad-brainstorming/assets/brain-methods.csv +109 -0
- package/.agents/skills/bmad-brainstorming/assets/brain-selector.html +328 -0
- package/.agents/skills/bmad-brainstorming/customize.toml +83 -0
- package/.agents/skills/bmad-brainstorming/references/converge.md +24 -0
- package/.agents/skills/bmad-brainstorming/references/finalize.md +26 -0
- package/.agents/skills/bmad-brainstorming/references/headless.md +54 -0
- package/.agents/skills/bmad-brainstorming/references/in-chat-techniques.md +18 -0
- package/.agents/skills/bmad-brainstorming/references/mode-autonomous.md +10 -0
- package/.agents/skills/bmad-brainstorming/references/mode-facilitator.md +11 -0
- package/.agents/skills/bmad-brainstorming/references/mode-partner.md +16 -0
- package/.agents/skills/bmad-brainstorming/references/resume.md +5 -0
- package/.agents/skills/bmad-brainstorming/scripts/brain.py +789 -0
- package/.agents/skills/bmad-brainstorming/scripts/tests/test_brain.py +289 -0
- package/.agents/skills/bmad-build/SKILL.md +13 -0
- package/.agents/skills/bmad-build/compile-epic-context.md +62 -0
- package/.agents/skills/bmad-build/customize.toml +152 -0
- package/.agents/skills/bmad-build/references/claims-check.md +14 -0
- package/.agents/skills/bmad-build/references/deletion-check.md +14 -0
- package/.agents/skills/bmad-build/review-prompts/edge-case-hunter.md +112 -0
- package/.agents/skills/bmad-build/review-prompts/verification-gap.md +113 -0
- package/.agents/skills/bmad-build/spec-template.md +111 -0
- package/.agents/skills/bmad-build/step-01-clarify-and-route.md +100 -0
- package/.agents/skills/bmad-build/step-02-plan.md +62 -0
- package/.agents/skills/bmad-build/step-03-implement.md +51 -0
- package/.agents/skills/bmad-build/step-04-review.md +85 -0
- package/.agents/skills/bmad-build/step-05-present.md +43 -0
- package/.agents/skills/bmad-build/step-oneshot.md +107 -0
- package/.agents/skills/bmad-build/sync-sprint-status.md +5 -0
- package/.agents/skills/bmad-build/workflow.md +84 -0
- package/.agents/skills/bmad-build-auto/SKILL.md +13 -0
- package/.agents/skills/bmad-build-auto/compile-epic-context.md +62 -0
- package/.agents/skills/bmad-build-auto/customize.toml +119 -0
- package/.agents/skills/bmad-build-auto/references/claims-check.md +14 -0
- package/.agents/skills/bmad-build-auto/references/deletion-check.md +14 -0
- package/.agents/skills/bmad-build-auto/review-prompts/edge-case-hunter.md +112 -0
- package/.agents/skills/bmad-build-auto/review-prompts/verification-gap.md +113 -0
- package/.agents/skills/bmad-build-auto/spec-template.md +96 -0
- package/.agents/skills/bmad-build-auto/step-01-clarify-and-route.md +84 -0
- package/.agents/skills/bmad-build-auto/step-02-plan.md +27 -0
- package/.agents/skills/bmad-build-auto/step-03-implement.md +48 -0
- package/.agents/skills/bmad-build-auto/step-04-review.md +116 -0
- package/.agents/skills/bmad-build-auto/workflow.md +104 -0
- package/.agents/skills/bmad-code-review/SKILL.md +90 -0
- package/.agents/skills/bmad-code-review/customize.toml +110 -0
- package/.agents/skills/bmad-code-review/references/claims-check.md +14 -0
- package/.agents/skills/bmad-code-review/references/deletion-check.md +14 -0
- package/.agents/skills/bmad-code-review/review-prompts/edge-case-hunter.md +112 -0
- package/.agents/skills/bmad-code-review/review-prompts/verification-gap.md +113 -0
- package/.agents/skills/bmad-code-review/steps/step-01-gather-context.md +94 -0
- package/.agents/skills/bmad-code-review/steps/step-02-review.md +32 -0
- package/.agents/skills/bmad-code-review/steps/step-03-triage.md +54 -0
- package/.agents/skills/bmad-code-review/steps/step-04-present.md +134 -0
- package/.agents/skills/bmad-correct-course/SKILL.md +308 -0
- package/.agents/skills/bmad-correct-course/checklist.md +288 -0
- package/.agents/skills/bmad-correct-course/customize.toml +39 -0
- package/.agents/skills/bmad-create-epics-and-stories/SKILL.md +93 -0
- package/.agents/skills/bmad-create-epics-and-stories/customize.toml +39 -0
- package/.agents/skills/bmad-create-epics-and-stories/steps/step-01-validate-prerequisites.md +263 -0
- package/.agents/skills/bmad-create-epics-and-stories/steps/step-02-design-epics.md +242 -0
- package/.agents/skills/bmad-create-epics-and-stories/steps/step-03-create-stories.md +255 -0
- package/.agents/skills/bmad-create-epics-and-stories/steps/step-04-final-validation.md +143 -0
- package/.agents/skills/bmad-create-epics-and-stories/templates/epics-template.md +61 -0
- package/.agents/skills/bmad-customize/SKILL.md +111 -0
- package/.agents/skills/bmad-customize/scripts/list_customizable_skills.py +231 -0
- package/.agents/skills/bmad-customize/scripts/tests/test_list_customizable_skills.py +249 -0
- package/.agents/skills/bmad-deep-recon/SKILL.md +82 -0
- package/.agents/skills/bmad-deep-recon/assets/research.template.md +18 -0
- package/.agents/skills/bmad-deep-recon/customize.toml +212 -0
- package/.agents/skills/bmad-deep-recon/references/draft.md +8 -0
- package/.agents/skills/bmad-deep-recon/references/finalize.md +11 -0
- package/.agents/skills/bmad-deep-recon/references/html-briefing.md +16 -0
- package/.agents/skills/bmad-deep-recon/references/lifecycle.md +11 -0
- package/.agents/skills/bmad-deep-recon/references/process.md +10 -0
- package/.agents/skills/bmad-deep-recon/references/run.md +73 -0
- package/.agents/skills/bmad-deep-recon/references/selection.md +13 -0
- package/.agents/skills/bmad-deep-recon/references/synthesis.md +16 -0
- package/.agents/skills/bmad-deep-recon/references/verification.md +29 -0
- package/.agents/skills/bmad-deep-recon/scripts/recon_kit.py +322 -0
- package/.agents/skills/bmad-deep-recon/scripts/tests/test_recon_kit.py +144 -0
- package/.agents/skills/bmad-deep-recon/types/academic-lit.md +19 -0
- package/.agents/skills/bmad-deep-recon/types/competitive.md +19 -0
- package/.agents/skills/bmad-deep-recon/types/domain.md +19 -0
- package/.agents/skills/bmad-deep-recon/types/market.md +19 -0
- package/.agents/skills/bmad-deep-recon/types/technical.md +19 -0
- package/.agents/skills/bmad-deep-recon/types/user-voice.md +19 -0
- package/.agents/skills/bmad-forge-idea/SKILL.md +107 -0
- package/.agents/skills/bmad-forge-idea/customize.toml +41 -0
- package/.agents/skills/bmad-forge-idea/scripts/resolve_personas.py +277 -0
- package/.agents/skills/bmad-forge-idea/scripts/tests/test_resolve_personas.py +160 -0
- package/.agents/skills/bmad-help/SKILL.md +77 -0
- package/.agents/skills/bmad-party-mode/SKILL.md +60 -0
- package/.agents/skills/bmad-party-mode/customize.toml +211 -0
- package/.agents/skills/bmad-party-mode/references/create-party.md +70 -0
- package/.agents/skills/bmad-party-mode/references/mode-agent-team.md +13 -0
- package/.agents/skills/bmad-party-mode/references/mode-auto.md +13 -0
- package/.agents/skills/bmad-party-mode/references/mode-subagent.md +31 -0
- package/.agents/skills/bmad-party-mode/references/party-memory.md +51 -0
- package/.agents/skills/bmad-party-mode/scripts/resolve_party.py +284 -0
- package/.agents/skills/bmad-party-mode/scripts/tests/test_resolve_party.py +168 -0
- package/.agents/skills/bmad-prd/SKILL.md +94 -0
- package/.agents/skills/bmad-prd/assets/headless-schemas.md +76 -0
- package/.agents/skills/bmad-prd/assets/prd-template.md +165 -0
- package/.agents/skills/bmad-prd/assets/prd-validation-checklist.md +135 -0
- package/.agents/skills/bmad-prd/assets/validation-report-template.html +325 -0
- package/.agents/skills/bmad-prd/customize.toml +148 -0
- package/.agents/skills/bmad-prd/references/headless.md +39 -0
- package/.agents/skills/bmad-prd/references/validate.md +97 -0
- package/.agents/skills/bmad-prfaq/SKILL.md +135 -0
- package/.agents/skills/bmad-prfaq/agents/artifact-analyzer.md +60 -0
- package/.agents/skills/bmad-prfaq/agents/web-researcher.md +49 -0
- package/.agents/skills/bmad-prfaq/assets/prfaq-template.md +62 -0
- package/.agents/skills/bmad-prfaq/bmad-manifest.json +16 -0
- package/.agents/skills/bmad-prfaq/customize.toml +39 -0
- package/.agents/skills/bmad-prfaq/references/customer-faq.md +55 -0
- package/.agents/skills/bmad-prfaq/references/internal-faq.md +51 -0
- package/.agents/skills/bmad-prfaq/references/press-release.md +60 -0
- package/.agents/skills/bmad-prfaq/references/verdict.md +83 -0
- package/.agents/skills/bmad-product-brief/SKILL.md +91 -0
- package/.agents/skills/bmad-product-brief/assets/brief-template.md +41 -0
- package/.agents/skills/bmad-product-brief/customize.toml +100 -0
- package/.agents/skills/bmad-project-context/SKILL.md +121 -0
- package/.agents/skills/bmad-project-context/customize.toml +24 -0
- package/.agents/skills/bmad-project-context/references/best-practices.md +84 -0
- package/.agents/skills/bmad-project-context/references/template.md +55 -0
- package/.agents/skills/bmad-qa-generate-e2e-tests/SKILL.md +176 -0
- package/.agents/skills/bmad-qa-generate-e2e-tests/checklist.md +33 -0
- package/.agents/skills/bmad-qa-generate-e2e-tests/customize.toml +39 -0
- package/.agents/skills/bmad-retrospective/SKILL.md +94 -0
- package/.agents/skills/bmad-retrospective/customize.toml +39 -0
- package/.agents/skills/bmad-retrospective/references/acceptance-verdict.md +55 -0
- package/.agents/skills/bmad-retrospective/references/aggregate-views.md +17 -0
- package/.agents/skills/bmad-retrospective/references/evidence-gathering.md +30 -0
- package/.agents/skills/bmad-retrospective/references/retro-document.md +84 -0
- package/.agents/skills/bmad-retrospective/references/team-discussion.md +22 -0
- package/.agents/skills/bmad-retrospective/scripts/git_evidence.py +304 -0
- package/.agents/skills/bmad-retrospective/scripts/sprint_status.py +746 -0
- package/.agents/skills/bmad-retrospective/scripts/tests/fixtures/sprint-status-template.yaml +71 -0
- package/.agents/skills/bmad-retrospective/scripts/tests/test_git_evidence.py +750 -0
- package/.agents/skills/bmad-retrospective/scripts/tests/test_sprint_status.py +1579 -0
- package/.agents/skills/bmad-review/SKILL.md +50 -0
- package/.agents/skills/bmad-review/customize.toml +141 -0
- package/.agents/skills/bmad-review/references/editorial-common.md +56 -0
- package/.agents/skills/bmad-review/references/lens-adversarial.md +19 -0
- package/.agents/skills/bmad-review/references/lens-edge-case-hunter.md +72 -0
- package/.agents/skills/bmad-review/references/lens-prose.md +7 -0
- package/.agents/skills/bmad-review/references/lens-structure.md +9 -0
- package/.agents/skills/bmad-review/references/lens-verification-gap.md +92 -0
- package/.agents/skills/bmad-review/references/structure-models.md +44 -0
- package/.agents/skills/bmad-review/scripts/tests/test_word_metrics.py +62 -0
- package/.agents/skills/bmad-review/scripts/word_metrics.py +102 -0
- package/.agents/skills/bmad-spec/SKILL.md +160 -0
- package/.agents/skills/bmad-spec/assets/headless-schemas.md +33 -0
- package/.agents/skills/bmad-spec/assets/spec-template.md +49 -0
- package/.agents/skills/bmad-spec/assets/stories-schema.md +44 -0
- package/.agents/skills/bmad-spec/customize.toml +52 -0
- package/.agents/skills/bmad-sprint-planning/SKILL.md +62 -0
- package/.agents/skills/bmad-sprint-planning/customize.toml +39 -0
- package/.agents/skills/bmad-sprint-planning/references/fix-sprint-status.md +30 -0
- package/.agents/skills/bmad-sprint-planning/references/generate-tracking.md +25 -0
- package/.agents/skills/bmad-sprint-planning/references/readiness-gate.md +20 -0
- package/.agents/skills/bmad-sprint-planning/references/status-view.md +14 -0
- package/.agents/skills/bmad-sprint-planning/references/validate.md +10 -0
- package/.agents/skills/bmad-sprint-planning/scripts/sprint_plan.py +697 -0
- package/.agents/skills/bmad-sprint-planning/scripts/tests/test_sprint_plan.py +524 -0
- package/.agents/skills/bmad-sprint-planning/sprint-status-template.yaml +71 -0
- package/.agents/skills/bmad-ux/SKILL.md +90 -0
- package/.agents/skills/bmad-ux/assets/color-themes.md +9 -0
- package/.agents/skills/bmad-ux/assets/design-directions.md +9 -0
- package/.agents/skills/bmad-ux/assets/design-example-editorial.md +158 -0
- package/.agents/skills/bmad-ux/assets/design-example-mobile.md +93 -0
- package/.agents/skills/bmad-ux/assets/design-example-shadcn.md +109 -0
- package/.agents/skills/bmad-ux/assets/excalidraw-wireframe.md +19 -0
- package/.agents/skills/bmad-ux/assets/experience-example-mobile.md +112 -0
- package/.agents/skills/bmad-ux/assets/experience-example-shadcn.md +133 -0
- package/.agents/skills/bmad-ux/assets/headless-schemas.md +84 -0
- package/.agents/skills/bmad-ux/assets/key-screens.md +29 -0
- package/.agents/skills/bmad-ux/assets/validation-report-template.html +319 -0
- package/.agents/skills/bmad-ux/customize.toml +100 -0
- package/.agents/skills/bmad-ux/references/creative-tools.md +19 -0
- package/.agents/skills/bmad-ux/references/design-md-spec.md +50 -0
- package/.agents/skills/bmad-ux/references/headless.md +37 -0
- package/.agents/skills/bmad-ux/references/validate.md +115 -0
- package/.agents/skills/bmad-walkthrough/SKILL.md +68 -0
- package/.agents/skills/bmad-walkthrough/customize.toml +39 -0
- package/.agents/skills/bmad-walkthrough/generate-trail.md +38 -0
- package/.agents/skills/bmad-walkthrough/step-01-orientation.md +105 -0
- package/.agents/skills/bmad-walkthrough/step-02-walkthrough.md +89 -0
- package/.agents/skills/bmad-walkthrough/step-03-detail-pass.md +106 -0
- package/.agents/skills/bmad-walkthrough/step-04-testing.md +74 -0
- package/.agents/skills/bmad-walkthrough/step-05-wrapup.md +30 -0
- package/README.md +111 -0
- package/bin/pcgf.js +8 -0
- package/installer/clean.js +137 -0
- package/installer/cli.js +479 -0
- package/installer/deps.js +160 -0
- package/installer/fs-utils.js +58 -0
- package/installer/install.js +201 -0
- package/installer/paths.js +17 -0
- package/installer/scaffold.js +274 -0
- package/installer/tools.js +38 -0
- package/package.json +37 -0
- package/plugins/phaser-casual-game-factory/.codex-plugin/plugin.json +27 -0
- package/plugins/phaser-casual-game-factory/PROGRESS.md +120 -0
- package/plugins/phaser-casual-game-factory/README.md +79 -0
- package/plugins/phaser-casual-game-factory/assets/sfx/README.md +8 -0
- package/plugins/phaser-casual-game-factory/assets/sfx/ui_click.mp3 +0 -0
- package/plugins/phaser-casual-game-factory/assets/sfx/ui_close.mp3 +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/README.md +9 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_l_Blue.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_l_DarkGray.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_l_Gray.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_l_Green.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_l_Mint.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_l_Pink.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_l_Purple.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_l_Red.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_l_Sky.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_l_White_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_l_White_Light1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_l_White_Light2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_l_Yellow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_s_Blue.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_s_DarkGray.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_s_Flat.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_s_Gray.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_s_Green.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_s_Mint.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_s_PInk.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_s_Purple.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_s_Red.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_s_Sky.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_s_White_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_s_White_Light1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_s_White_Light2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button01_s_Yellow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Circle118.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Circle120.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Circle122.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Circle74_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Circle74_Border.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Circle82.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_LeftFlush_Dark.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_LeftFlush_White1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_LeftFlush_White2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round01_White_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round01_White_Light1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round01_White_Light2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round01_Yellow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round02_Blue.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round02_White_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round02_White_Light.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round03_Dark.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round03_WhiteBg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round03_White_Light.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round04_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round04_Oblique.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round05.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round06_Red.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round06_White.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round07.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round08.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round09.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round10_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Round10_Light.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_SkillBtnMask.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_SkillBtn_Blue.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_SkillBtn_Dark.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_SkillBtn_Orange.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_SkillBtn_Red.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_SkillBtn_White_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_SkillBtn_White_Light.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Tapered_White1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Tapered_White2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Tapered_White3.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Button_Tapered_Yellow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Menu_BottomBtn_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Menu_BottomBtn_TabFocus.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Menu_BottomBtn_TabFocus_Light.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Menu_MiddleBtn_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Button/Menu_MiddleBtn_TabFocus.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame00_01~02_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame00_01~02_InnerBg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame00_01~02_InnerLine.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame00_01~02_Light.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame00_01~02_Pattern.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame00_01~02_Pattern.psd +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame00_03_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame00_03_Border.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame00_04~06_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame00_04~06_BgLight.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame00_04~06_Border.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame00_04~06_Pattern.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame03_Demo.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame04_Demo.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame05_Demo.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame06_Demo_Blue.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame06_Demo__Gray.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BannerFrame07.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BasicFrame_Circle160.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BasicFrame_Hexagon87.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BasicFrame_Oval44.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BasicFrame_Oval50.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BasicFrame_Round12.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BasicFrame_Round17.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BasicFrame_Round20.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BasicFrame_Round24.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Circle60.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Circle75_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Circle75_Light.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Circle78.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Flag_Demo_Blue.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Flag_Demo_Green.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Flag_Demo_Red.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Flag_White_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Flag_White_BgGradient.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Flag_White_BgLine01.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Flag_White_BgLine02.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Oval46_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Oval46_InnerLine.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Oval58.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Rhombus_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Rhombus_Inner.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Round18_Transparent.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Round20_Demo_Dark.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Round20_Demo_Yellow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Round20_White_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Round20_White_Light.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Round24.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Round30.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Squrare_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BorderFrame_Squrare_Inner.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame01_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame01_BgArrow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame01_BgShadow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame01_Hexagon_Bg_Blue.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame01_Hexagon_Bg_Green.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame01_Hexagon_Bg_Yellow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame01_Hexagon_FocusBorder.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame01_Hexagon_FocusGlow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame02_Arrow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame02_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame02_BgShadow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame03_Arrow_Left.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame03_Arrow_Right.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame03_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame04_Blue_Arrow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame04_Blue_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame04_White_Arrow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame04_White_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame05_InnerBg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame05_InnerBorder.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame05_Left_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame05_Left_BgShadow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame05_Right_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/BubbleFrame05_Right_BgShadow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame01_Bg_d.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame01_Bg_d_Pattern.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame01_Bg_n.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame01_Border.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame01_Bottom.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame01_Glow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame01_Gradient.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame01_Gradient_Hologram.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame02_d_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame02_d_Bg_Pattern.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame02_d_Border.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame02_n_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame02_n_Bottom.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame02_n_Light.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame03_d.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame03_n_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame03_n_InnerBg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame03_n_Light.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame04_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame04_Bg_DividerLine.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame04_Bg_Gradient.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame04_Border.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame04_FocusBorder.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame04_FocusGlow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame04_Glow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame05_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame05_Bg_Corner.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame05_Border.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame05_FocusBorder.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame05_FocusGlow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame05_Glow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame06_Demo_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame06_Demo_Bg_Glow_Green.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame06_Demo_Deco_Green.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame06_Demo_Frame_Green.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame06_White_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame06_White_Bg_Glow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame06_White_Deco.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/CardFrame06_White_Frame.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame00~03_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame00~03_BgGlow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame00~03_BgLight.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame00~03_Bg_Hologram.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame00~03_Border.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame00~03_CornerDeco.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame00~03_FocusLine.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame01_Demo_Blue.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame01_Demo_Gray.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame01_Demo_Green.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame01_Demo_Hologram1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame01_Demo_Hologram2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame01_Demo_Navy.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame01_Demo_OffWhite.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame01_Demo_Purple.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame01_Demo_Red.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame01_Demo_Yellow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame02_Demo_Blue.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame02_Demo_Gray.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame02_Demo_Green.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame02_Demo_Hologram1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame02_Demo_Hologram2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame02_Demo_Navy.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame02_Demo_OffWhite.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame02_Demo_Purple.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame02_Demo_Red.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame02_Demo_Yellow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame03_Demo_Blue.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame03_Demo_Gray.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame03_Demo_Green.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame03_Demo_Hologram.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame03_Demo_Navy.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame03_Demo_Purple.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame03_Demo_Red.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ItemFrame03_Demo_Yellow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ListFrame00_01~02_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ListFrame00_01~02_BgInner.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ListFrame00_01~02_Oblique.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ListFrame00_03~04_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ListFrame00_03~04_BgInner.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ListFrame00_03~04_Dim.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ListFrame04_Demo_f_Blue.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ListFrame04_Demo_f_Yellow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/PanelFrame01_Line.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/PanelFrame02.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/PanelFrame03_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/PanelFrame03_Oblique.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/PanelFrame04_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/PanelFrame04_OutTilte1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/PanelFrame04_OutTilte2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ProfileFrame01_l_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ProfileFrame01_l_Border.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ProfileFrame01_m~s_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ProfileFrame01_m~s_Inner.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ProfileFrame02_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ProfileFrame02_Inner.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ProfileFrame_Circle275_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/ProfileFrame_Circle275_Inner.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/SkillFrame_l~m_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/SkillFrame_l~m_Border.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/SkillFrame_l~m_Empty.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/SkillFrame_s_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/SkillFrame_s_Border.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Frame/SkillFrame_s_Empty.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_brz.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_chn.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_cze.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_deu.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_eng.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_esp.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_fra.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_gbr.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_gre.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_ind.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_ita.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_jpn.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_kor.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_pol.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_prt.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_rou.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_rsa.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_rus.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_swe.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_tha.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_tur.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_twn.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_ukr.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_Flag/Small/Icon_Flag_usa.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_GradeBadge/256/Icon_GradeBadge_Beginner.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_GradeBadge/256/Icon_GradeBadge_Bronze.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_GradeBadge/256/Icon_GradeBadge_Challenger.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_GradeBadge/256/Icon_GradeBadge_Diamond.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_GradeBadge/256/Icon_GradeBadge_Gold.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_GradeBadge/256/Icon_GradeBadge_Grandmaster.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_GradeBadge/256/Icon_GradeBadge_Iron.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_GradeBadge/256/Icon_GradeBadge_Master.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_GradeBadge/256/Icon_GradeBadge_Platinum.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_GradeBadge/256/Icon_GradeBadge_Silver.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Badge_Crown.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Badge_Gold.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Bag_Brown.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Bag_Gray.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Battle.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Book_1_Purple.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Book_1_Wine.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Calendar.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Calendar_Check.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Chat.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Chest_Gem.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Chest_Gold.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Chest_Premium.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Chest_Wood.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Clover_Gold.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Clover_Green.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Damage.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Dungeon.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Earth.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Energy_Blue.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Friend.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Gear.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Gear_Armor_Bottom.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Gear_Armor_Top.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Gear_Boots.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Gear_Hat_Witch.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Gear_Ring.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Gear_Sword.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Gem_Circle.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Gem_Diamond_Purple.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Gem_Ellipse_Red.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Gem_Star_Blue.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Gift_Blue.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Gift_Green.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Gift_Red.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Heart_Dimmed.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Heart_Red.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Key_Gold.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Mail.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Map.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Meat.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Medal_Bronze_1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Medal_Bronze_2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Medal_Gold_1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Medal_Gold_2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Medal_Silver_1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Medal_Silver_2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Medalstand.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_MemoPad.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Money_Bill.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Money_Coin.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Pot.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Shop.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Skull.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Star_Blue.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Star_Bronze.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Star_Gold.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Star_Purple.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Star_Red.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Star_Silver.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_TV_AdBlock.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Ticket_Gold.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Ticket_Red.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Trophy_Bronze.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Trophy_Gold.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Trophy_Silver.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_ItemIcons/256/ItemIcon_Video.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Again_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Again_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Aiming_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Aiming_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Alarm.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Anchor.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Archer.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Armor.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Arrow_Down.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Arrow_Left_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Arrow_Left_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Arrow_Left_3.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Arrow_Right_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Arrow_Right_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Arrow_Right_3.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Arrow_Up.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_At.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Attack.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Ax.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Ax_Double.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Back_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Back_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Badge.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Bag.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Bank.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Basket.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Battery_Charge.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Battle.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Bell.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Bell_Off.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Bell_On.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Bell_Sleep.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Blacksmith.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Block.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Bluetooth.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Bomb_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Bomb_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Book_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Book_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Book_3.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Boots.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Boss.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Bow.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Brief_Bag.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Brush.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Bulb.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Bulb_Charge.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Bullet.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Calendar.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Camera.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Camera_Off.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Cap.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Card_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Card_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Cart_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Cart_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Castle.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Caution.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Certification.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Change.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Chat_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Chat_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Check_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Check_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Chest.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Chisel.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Class_A.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Class_B.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Class_C.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Class_D.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Class_S.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Class_Ss.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Clock_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Clock_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Closet.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Clothes.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Coin.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Coin_Star.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Compass.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Console_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Console_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Contraction.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Cooking.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Copy.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Costume.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Critical_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Critical_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Critical_3.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Crown_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Crown_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Crystal.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Delete.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Diamond.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Dice.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Direction_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Direction_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Discount.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Dollar_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Dollar_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Download.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Earth.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Earth_Pin.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Effect.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Energy_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Energy_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Exit.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Exit_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Exit_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Exp.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Expansion.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Face.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Faint.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Female.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Fire.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Firework.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Fish.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Fishing.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Flag.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Float.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Food.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Freezee.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Friends.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Gallery.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Game.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Gear.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Gift.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Glasses.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Globe.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Graduation_Cap.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Hammer.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Hammer_Claw.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Hand_Touch.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Hanger.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Hat.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Headset.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Heart.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Heart_Add.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Heart_Empty.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Helmet_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Helmet_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Help_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Help_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_History.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Home_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Home_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Hp.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Icecream.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Illuminati.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Infinity.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Info_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Info_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Info_3.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Info_4.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Key.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Kitchen_Knife.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Layer_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Layer_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Leaf.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Link.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Lock_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Lock_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Lock_Open.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Magic.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Magic_Ball.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Mail_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Mail_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Male.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Map_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Map_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Map_Pin.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Meal.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Medal_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Medal_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Megaphone.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Menu_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Menu_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Menu_3.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Menu_4.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Menu_5.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Menu_6.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Merge.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Message_Bottle.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Minus_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Minus_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Mission.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Money_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Money_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Money_Pouch.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Movie.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Mushroom.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Music_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Music_1_Off.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Music_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Music_2_Off.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Necklace.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Night.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Note.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Object.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Page_Next.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Page_Prev.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Paper_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Paper_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Path.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Pause_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Pause_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Paw.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Pen.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Pen_Feather.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Pencil.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Phone.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Photo_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Photo_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Pick.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Pickax.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Plants.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Play_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Play_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Plus_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Plus_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Potion_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Potion_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Potion_3.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Pouch.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Power_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Power_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Power_Off.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Rampart.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Rank_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Rank_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Recommendation.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Recycle.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Refresh_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Refresh_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Refresh_3.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Refresh_4.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Ring.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Roulette.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Safebox.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Sandglass.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Saw.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Scale.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Scroll_Old.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Search.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Security.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Setting.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Share.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Sheos.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Sheos_Wing.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Sheriff.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Shield_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Shield_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Shield_Viking.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Ship.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Shop_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Shop_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Shop_3.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Shovel.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Sickle.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Sign.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Skull.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Sound.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Sound_Off.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Star_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Star_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Star_3.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Star_Empty.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Step.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Stopwatch_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Stopwatch_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Storage.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Sun.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Switch.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Sword_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Sword_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Tag.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Target.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Telescope.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Temple.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Ticket.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Tool_Fix.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Top.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Trophy_1.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Trophy_2.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Tv.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Typhoon.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Under.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_User.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_User_Add.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_User_Info.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Video.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_View.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_View_Off.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Vr.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Warehouse.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Water.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Wing.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Wood.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_World.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Zoom_In.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_PictoIcons/256/PictoIcon_Zoom_Out.Png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_TutorialHand/256/tutorial_hand_1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_TutorialHand/256/tutorial_hand_2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_TutorialHand/256/tutorial_hand_3.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_TutorialHand/256/tutorial_hand_4.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_TutorialHand/256/tutorial_hand_5.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Icon_TutorialHand/256/tutorial_hand_6.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Badge01_Green.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Badge01_Purple.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Badge01_Red.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Badge01_Yellow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Badge02.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Bubble_Arrow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Bubble_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Parallelogram_Blue.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Parallelogram_Gray.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Parallelogram_Green.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Parallelogram_Hologram.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Parallelogram_Purple.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Parallelogram_Red.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Parallelogram_White_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Parallelogram_White_Inner.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Parallelogram_Yellow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Ribbon_Hologram.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Ribbon_White.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Tail_Demo_Red.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Tail_White_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Label_Tail_White_Border.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_LIne04_Under.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Line01_Divider_Left.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Line01_Divider_Right.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Line02_Divider_Left.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Line02_Divider_Right.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Line03_Divider.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Oval.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon01_Blue.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon01_Gray.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon01_Green.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon01_Magenta.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon01_Navy.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon01_Orange.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon01_Peacock.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon01_Plum.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon01_Purple.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon01_Red.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon01_Sky.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon01_Yellow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon02_Red.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon02_White1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon02_White2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon03_Red.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon03_White1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon03_White2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon04_Red.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Ribbon05.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Tapered01.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Tapered02.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Label/Title_Tapered03.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/PACK.md +6 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup01_Basic_Demo.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup01_Basic_White_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup01_Basic_White_Light.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup02~09_Topber_Demo_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup02~09_Topber_White_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup02~09_Topber_White_BgTop.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup02~09_Topber_White_BgTopLight.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup03_Gradient.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup06_Glow_Bottom.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup06_Pattern.psd +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup09_Topber_White_Label_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup09_Topber_White_Label_Inner.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup_Chat_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup_Chat_BgLight.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup_Chat_TabFocus.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup_FullWidth_Dark.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup_FullWidth_White.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup_List_VerticalLayout.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup_OutTitle_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup_OutTitle_Bg_Title.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup_OutTitle_Inner_Bottom.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup_OutTitle_Inner_Top.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup_Ticket_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup_Ticket_Border.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup_Ticket_BottomPattern.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Popup/Popup_Ticket_Gradient.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic01_Bg_Demo.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic01_Bg_White1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic01_Bg_White2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic01_FillMask.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic01_Fill_Blue.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic01_Fill_Green.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic01_Fill_White.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic01_Fill_Yellow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic02_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic02_FillMask.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic02_Fill_Blue.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic02_Fill_Green.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic02_Fill_White.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic02_Fill_Yellow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic03_Bg_Demo.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic03_Bg_White1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic03_Bg_White2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic03_FillMask.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic03_Fill_Blue.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic03_Fill_Green.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic03_Fill_White.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic03_Fill_Yellow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic04_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic04_Fill_Blue.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic04_Fill_Orange.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic04_White_Fill1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Basic04_White_Fill2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Handle_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Handle_FillMask.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Handle_Fill_Pink.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Handle_Fill_White1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Handle_Fill_White2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Handle_Handle.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Icon01_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Icon01_FillMask.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Icon01_Fill_Orange.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Icon01_Fill_White.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Icon01_Icon1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Icon01_Icon2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Icon02_Badge1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Icon02_Badge2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Icon02_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Icon02_FillMask.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Icon02_Fill_Orange.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Icon02_Fill_White.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Icon02_Icon1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level01_Badge_l.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level01_Badge_s.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level01_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level01_Fill.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level01_FillMask.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level02_Bg_Demo.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level02_Bg_White1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level02_Bg_White2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level02_Fill01_Blue.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level02_Fill01_White.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level02_Fill01_Yellow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level02_Fill02_Blue.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level02_Fill02_White.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level02_Fill02_Yellow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level02_Icon_Badge_Blue.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level02_Icon_Badge_Yellow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level02_Icon_Up_Green.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level02_Icon_Up_White.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level03_Badge1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level03_Badge2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level03_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level03_Fill1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Level03_Fill2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Panel_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Panel_Fill1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Panel_Fill2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Play01_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Play01_Fill.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Play01_FillMask.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Play02_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Play02_FillMask.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_StageHorizontal_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_StageHorizontal_Icon_l_Blue.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_StageHorizontal_Icon_l_Gray.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_StageHorizontal_Icon_l_White1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_StageHorizontal_Icon_l_White2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_StageHorizontal_Icon_l_Yellow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_StageHorizontal_Icon_s_Blue.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_StageHorizontal_Icon_s_White1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_StageHorizontal_Icon_s_White2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_StageHorizontal_Icon_s_Yellow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_StageVertical_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_StageVertical_Icon1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_StageVertical_Icon2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Wave_Badge1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Wave_Badge2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Wave_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/Slider_Wave_Fill.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/_Slider_Basic_R6_Fill_Orange.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/_Slider_Round6_01_White_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/Slider/_Slider_Round6_01_White_Fill.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Alert_Circle_Icon_Exclamation.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Alert_Circle_l_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Alert_Circle_l_Border.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Alert_Circle_s_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Alert_Circle_s_Border.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Alert_Dot_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Alert_Dot_Border.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Alert_Dot_Light.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/InputField01_Bg_Demo.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/InputField01_Bg_White1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/InputField01_Bg_White2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/InputField01_Bg_White3.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/InputField01_Icon_Lock.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/InputField01_Icon_Mail.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/InputField02_Demo.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/InputField02_White1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/InputField02_White2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/InputField03.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/InputField04.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_Demo_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_Demo_Btn_Blue1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_Demo_Btn_Blue2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_Demo_Btn_Purple1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_Demo_Btn_Purple2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_Demo_Btn_Yellow1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_Demo_Btn_Yellow2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_Demo_Icon_Coin.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_Demo_Icon_Energy.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_Demo_Icon_Gem.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_Demo_Icon_Monster.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_White_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_White_Btn1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_White_Btn2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_White_Btn3.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_White_Icon1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ResourceBar_White_Icon2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Switch_Demo_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Switch_Demo_Fill.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Switch_Demo_Handle.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Switch_White_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Switch_White_BgInner.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Switch_White_Fill1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Switch_White_Fill2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Switch_White_Handle.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ToastMessage_Bg_Gray.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ToastMessage_Bg_Green.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ToastMessage_Bg_Red.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ToastMessage_Bg_White.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ToastMessage_Bg_Yellow.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ToastMessage_Gradient.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ToastMessage_Light1.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/ToastMessage_Light2.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Toggle_Check_Demo_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Toggle_Check_Demo_Icon.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Toggle_Check_White_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Toggle_Check_White_BgLight.png +0 -0
- package/plugins/phaser-casual-game-factory/assets/ui-packs/super-casual/UI_Etc/Toggle_Check_White_Icon.png +0 -0
- package/plugins/phaser-casual-game-factory/examples/README.md +44 -0
- package/plugins/phaser-casual-game-factory/examples/economy-demo-config.ts +255 -0
- package/plugins/phaser-casual-game-factory/examples/economy-demo.ts +89 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/index.html +342 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/package-lock.json +1293 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/package.json +21 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/playwright.config.ts +26 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/assets/sfx/ui_click.mp3 +0 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/assets/sfx/ui_close.mp3 +0 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/assets/ui/BG_lobby.png +0 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/assets/ui/Bar_Bg.png +0 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/assets/ui/progress_inner.png +0 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/assets/ui/progress_outer.png +0 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/fonts/bvp-400-latin-OEyTajQY.woff2 +0 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/fonts/bvp-400-viet-SOx6iaFb.woff2 +0 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/fonts/bvp-600-latin-xAC4kEK0.woff2 +0 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/fonts/bvp-600-viet-DbGrrtCq.woff2 +0 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/fonts/bvp-700-latin-CPfR8Jz_.woff2 +0 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/fonts/bvp-700-viet-DptIoWwl.woff2 +0 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/fonts/bvp-800-latin-B5VTH9An.woff2 +0 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/fonts/bvp-800-viet-BEUwTqXl.woff2 +0 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/fonts/bvp-900-latin-B6esVQUu.woff2 +0 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/fonts/bvp-900-viet-DUJ3fpCl.woff2 +0 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/public/logo-frog.png +0 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/src/brand/BootLoadingScreen.js +7 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/src/brand/SplashFullscreenBg.js +4 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/src/brand-shims.d.ts +33 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/src/demo-scenes.ts +12 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/src/demo-tools.ts +34 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/src/main.ts +1358 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/src/scenes/BootScene.ts +236 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/src/scenes/GameScene.ts +152 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/src/scenes/HomeScene.ts +21 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/src/scenes/scene-hooks.ts +12 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/src/styles.css +623 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/src/ui-audio.ts +156 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/tests/browser-smoke.spec.ts +170 -0
- package/plugins/phaser-casual-game-factory/examples/factory-browser-demo/vite.config.ts +23 -0
- package/plugins/phaser-casual-game-factory/examples/leveling-demo-config.ts +107 -0
- package/plugins/phaser-casual-game-factory/references/condition-service.md +38 -0
- package/plugins/phaser-casual-game-factory/references/core-contracts.md +39 -0
- package/plugins/phaser-casual-game-factory/references/daily-login-service.md +32 -0
- package/plugins/phaser-casual-game-factory/references/economy-service.md +192 -0
- package/plugins/phaser-casual-game-factory/references/leveling-service.md +56 -0
- package/plugins/phaser-casual-game-factory/references/loading-view.md +181 -0
- package/plugins/phaser-casual-game-factory/references/time-service.md +42 -0
- package/plugins/phaser-casual-game-factory/scripts/new-phaser-casual-game.ps1 +152 -0
- package/plugins/phaser-casual-game-factory/scripts/run-browser-demo.ps1 +13 -0
- package/plugins/phaser-casual-game-factory/scripts/run-economy-demo.ps1 +4 -0
- package/plugins/phaser-casual-game-factory/scripts/test-all.ps1 +11 -0
- package/plugins/phaser-casual-game-factory/scripts/test-browser.ps1 +10 -0
- package/plugins/phaser-casual-game-factory/scripts/test-economy.ps1 +4 -0
- package/plugins/phaser-casual-game-factory/skills/game-art/SKILL.md +846 -0
- package/plugins/phaser-casual-game-factory/skills/game-art/client/.env.example +19 -0
- package/plugins/phaser-casual-game-factory/skills/game-art/client/bgremove.py +127 -0
- package/plugins/phaser-casual-game-factory/skills/game-art/client/codex_extract.py +123 -0
- package/plugins/phaser-casual-game-factory/skills/game-art/client/codex_gen.sh +172 -0
- package/plugins/phaser-casual-game-factory/skills/game-art/client/envfile.py +121 -0
- package/plugins/phaser-casual-game-factory/skills/game-art/client/gemini_image_mcp.py +1870 -0
- package/plugins/phaser-casual-game-factory/skills/game-art/client/imglib.py +2138 -0
- package/plugins/phaser-casual-game-factory/skills/game-art/client/remote_backend.py +498 -0
- package/plugins/phaser-casual-game-factory/skills/game-art/client/remote_codex.py +59 -0
- package/plugins/phaser-casual-game-factory/skills/game-art/client/remote_proto.py +135 -0
- package/plugins/phaser-casual-game-factory/skills/game-art/client/requirements-client.txt +22 -0
- package/plugins/phaser-casual-game-factory/skills/game-art/client/test_imglib.py +1647 -0
- package/plugins/phaser-casual-game-factory/skills/game-art/client/test_restyle_tools.py +256 -0
- package/plugins/phaser-casual-game-factory/skills/game-art/client/tools/restyle/styles/unscrew-casual.refs/ref-lose.jpg +0 -0
- package/plugins/phaser-casual-game-factory/skills/game-art/client/tools/restyle/styles/unscrew-casual.refs/ref-welcome.jpg +0 -0
- package/plugins/phaser-casual-game-factory/skills/game-art/client/tools/restyle/styles/unscrew-casual.refs/ref-win.jpg +0 -0
- package/plugins/phaser-casual-game-factory/skills/game-art/client/upscale.py +289 -0
- package/plugins/phaser-casual-game-factory/skills/game-art/reference/client-guide.md +180 -0
- package/plugins/phaser-casual-game-factory/skills/game-art/reference/mcp-image-input.md +148 -0
- package/plugins/phaser-casual-game-factory/skills/game-art/reference/prompt-template.md +216 -0
- package/plugins/phaser-casual-game-factory/skills/game-art/reference/remote-lan.md +224 -0
- package/plugins/phaser-casual-game-factory/skills/pcgf-git-merge-request/SKILL.md +96 -0
- package/plugins/phaser-casual-game-factory/skills/pcgf-ui-reskin/SKILL.md +144 -0
- package/plugins/phaser-casual-game-factory/skills/phaser-adaptive-loading/SKILL.md +33 -0
- package/plugins/phaser-casual-game-factory/skills/phaser-casual-game-factory/SKILL.md +225 -0
- package/plugins/phaser-casual-game-factory/skills/phaser-condition-service/SKILL.md +21 -0
- package/plugins/phaser-casual-game-factory/skills/phaser-daily-login-service/SKILL.md +20 -0
- package/plugins/phaser-casual-game-factory/skills/phaser-economy-service/SKILL.md +72 -0
- package/plugins/phaser-casual-game-factory/skills/phaser-foundation/SKILL.md +60 -0
- package/plugins/phaser-casual-game-factory/skills/phaser-leveling-service/SKILL.md +39 -0
- package/plugins/phaser-casual-game-factory/skills/phaser-loading-view/SKILL.md +167 -0
- package/plugins/phaser-casual-game-factory/skills/phaser-studio25-boot-brand/SKILL.md +107 -0
- package/plugins/phaser-casual-game-factory/skills/phaser-time-service/SKILL.md +26 -0
- package/plugins/phaser-casual-game-factory/skills/phaser-ui-motion/SKILL.md +161 -0
- package/plugins/phaser-casual-game-factory/skills/phaser-ui-motion/fix-off-canvas-press.md +198 -0
- package/plugins/phaser-casual-game-factory/skills/phaser-ui-sfx/SKILL.md +83 -0
- package/plugins/phaser-casual-game-factory/skills/theme-cream-casual/SKILL.md +136 -0
- package/plugins/phaser-casual-game-factory/skills/theme-dark-casual/SKILL.md +23 -0
- package/plugins/phaser-casual-game-factory/skills/tool-demo-qa/SKILL.md +264 -0
- package/plugins/phaser-casual-game-factory/templates/adaptive-loading/adaptive-loading-manager.ts +103 -0
- package/plugins/phaser-casual-game-factory/templates/adaptive-loading/device-profile.ts +76 -0
- package/plugins/phaser-casual-game-factory/templates/adaptive-loading/device-tier-session.ts +133 -0
- package/plugins/phaser-casual-game-factory/templates/adaptive-loading/index.ts +4 -0
- package/plugins/phaser-casual-game-factory/templates/adaptive-loading/types.ts +27 -0
- package/plugins/phaser-casual-game-factory/templates/boot/brand/BootLoadingScreen.js +370 -0
- package/plugins/phaser-casual-game-factory/templates/boot/brand/SplashFullscreenBg.js +18 -0
- package/plugins/phaser-casual-game-factory/templates/boot/brand/brand-defaults.js +36 -0
- package/plugins/phaser-casual-game-factory/templates/boot/brand-shims.d.ts +40 -0
- package/plugins/phaser-casual-game-factory/templates/boot/close-styles.ts +26 -0
- package/plugins/phaser-casual-game-factory/templates/boot/index.ts +32 -0
- package/plugins/phaser-casual-game-factory/templates/boot/iris-close.ts +85 -0
- package/plugins/phaser-casual-game-factory/templates/boot/map-dom-rect-to-game.ts +53 -0
- package/plugins/phaser-casual-game-factory/templates/boot/play-boot-loading-view.ts +124 -0
- package/plugins/phaser-casual-game-factory/templates/commerce/commerce-service.ts +22 -0
- package/plugins/phaser-casual-game-factory/templates/commerce/index.ts +1 -0
- package/plugins/phaser-casual-game-factory/templates/commerce/types.ts +6 -0
- package/plugins/phaser-casual-game-factory/templates/condition/condition-service.ts +166 -0
- package/plugins/phaser-casual-game-factory/templates/condition/index.ts +2 -0
- package/plugins/phaser-casual-game-factory/templates/condition/types.ts +69 -0
- package/plugins/phaser-casual-game-factory/templates/core/events.ts +71 -0
- package/plugins/phaser-casual-game-factory/templates/core/gameplay.ts +15 -0
- package/plugins/phaser-casual-game-factory/templates/core/index.ts +9 -0
- package/plugins/phaser-casual-game-factory/templates/core/layout.ts +25 -0
- package/plugins/phaser-casual-game-factory/templates/core/loading.ts +33 -0
- package/plugins/phaser-casual-game-factory/templates/core/service-registry.ts +28 -0
- package/plugins/phaser-casual-game-factory/templates/core/services.ts +19 -0
- package/plugins/phaser-casual-game-factory/templates/core/storage.ts +7 -0
- package/plugins/phaser-casual-game-factory/templates/core/time.ts +70 -0
- package/plugins/phaser-casual-game-factory/templates/core/types.ts +21 -0
- package/plugins/phaser-casual-game-factory/templates/daily-login/daily-login-service.ts +136 -0
- package/plugins/phaser-casual-game-factory/templates/daily-login/index.ts +3 -0
- package/plugins/phaser-casual-game-factory/templates/daily-login/reward-service.ts +108 -0
- package/plugins/phaser-casual-game-factory/templates/daily-login/types.ts +39 -0
- package/plugins/phaser-casual-game-factory/templates/demo-tools/demo-device-tier.ts +73 -0
- package/plugins/phaser-casual-game-factory/templates/demo-tools/demo-perf.ts +232 -0
- package/plugins/phaser-casual-game-factory/templates/demo-tools/demo-tools.css +355 -0
- package/plugins/phaser-casual-game-factory/templates/demo-tools/demo-tools.ts +305 -0
- package/plugins/phaser-casual-game-factory/templates/demo-tools/index.ts +7 -0
- package/plugins/phaser-casual-game-factory/templates/demo-tools/init-demo-qa-tools.ts +101 -0
- package/plugins/phaser-casual-game-factory/templates/demo-tools/tool-param-fields.ts +214 -0
- package/plugins/phaser-casual-game-factory/templates/demo-tools/tool-sections.ts +238 -0
- package/plugins/phaser-casual-game-factory/templates/demo-tools/tool-shell.html +57 -0
- package/plugins/phaser-casual-game-factory/templates/demo-tools/tool-shell.ts +141 -0
- package/plugins/phaser-casual-game-factory/templates/economy/default-registry.ts +14 -0
- package/plugins/phaser-casual-game-factory/templates/economy/economy-service.ts +65 -0
- package/plugins/phaser-casual-game-factory/templates/economy/exchange-handlers.ts +58 -0
- package/plugins/phaser-casual-game-factory/templates/economy/grant-handler.ts +58 -0
- package/plugins/phaser-casual-game-factory/templates/economy/index.ts +15 -0
- package/plugins/phaser-casual-game-factory/templates/economy/inventory-service.ts +170 -0
- package/plugins/phaser-casual-game-factory/templates/economy/item-service.ts +220 -0
- package/plugins/phaser-casual-game-factory/templates/economy/item-utils.ts +126 -0
- package/plugins/phaser-casual-game-factory/templates/economy/merge-handler.ts +42 -0
- package/plugins/phaser-casual-game-factory/templates/economy/operation-handler.ts +44 -0
- package/plugins/phaser-casual-game-factory/templates/economy/package-handler.ts +41 -0
- package/plugins/phaser-casual-game-factory/templates/economy/random.ts +33 -0
- package/plugins/phaser-casual-game-factory/templates/economy/repository.ts +64 -0
- package/plugins/phaser-casual-game-factory/templates/economy/state-utils.ts +221 -0
- package/plugins/phaser-casual-game-factory/templates/economy/types.ts +309 -0
- package/plugins/phaser-casual-game-factory/templates/economy/ui-view-models.ts +79 -0
- package/plugins/phaser-casual-game-factory/templates/entitlement/entitlement-service.ts +29 -0
- package/plugins/phaser-casual-game-factory/templates/entitlement/index.ts +1 -0
- package/plugins/phaser-casual-game-factory/templates/entitlement/types.ts +26 -0
- package/plugins/phaser-casual-game-factory/templates/leveling/condition-evaluator.ts +17 -0
- package/plugins/phaser-casual-game-factory/templates/leveling/config-validator.ts +63 -0
- package/plugins/phaser-casual-game-factory/templates/leveling/index.ts +5 -0
- package/plugins/phaser-casual-game-factory/templates/leveling/leveling-service.ts +306 -0
- package/plugins/phaser-casual-game-factory/templates/leveling/types.ts +80 -0
- package/plugins/phaser-casual-game-factory/templates/leveling/view-model.ts +52 -0
- package/plugins/phaser-casual-game-factory/templates/loading-view/index.ts +4 -0
- package/plugins/phaser-casual-game-factory/templates/loading-view/loading-view-model.ts +203 -0
- package/plugins/phaser-casual-game-factory/templates/loading-view/presets.ts +26 -0
- package/plugins/phaser-casual-game-factory/templates/loading-view/progress.ts +30 -0
- package/plugins/phaser-casual-game-factory/templates/loading-view/types.ts +49 -0
- package/plugins/phaser-casual-game-factory/templates/motion/index.ts +2 -0
- package/plugins/phaser-casual-game-factory/templates/motion/phaser-ui-motion.ts +363 -0
- package/plugins/phaser-casual-game-factory/templates/motion/types.ts +21 -0
- package/plugins/phaser-casual-game-factory/templates/phaser/browser-storage-adapter.ts +91 -0
- package/plugins/phaser-casual-game-factory/templates/phaser/design-size.ts +34 -0
- package/plugins/phaser-casual-game-factory/templates/phaser/foundation-scene.ts +39 -0
- package/plugins/phaser-casual-game-factory/templates/phaser/hybrid-loading-layer.css +46 -0
- package/plugins/phaser-casual-game-factory/templates/phaser/loading-overlay-scene.ts +653 -0
- package/plugins/phaser-casual-game-factory/templates/phaser/phaser-event-bus.ts +35 -0
- package/plugins/phaser-casual-game-factory/templates/phaser/scene-keys.ts +12 -0
- package/plugins/phaser-casual-game-factory/templates/phaser/scene-registration.ts +28 -0
- package/plugins/phaser-casual-game-factory/templates/phaser/system-time-adapter.ts +33 -0
- package/plugins/phaser-casual-game-factory/templates/time/index.ts +2 -0
- package/plugins/phaser-casual-game-factory/templates/time/time-service.ts +184 -0
- package/plugins/phaser-casual-game-factory/templates/ui/audio-settings.ts +148 -0
- package/plugins/phaser-casual-game-factory/templates/ui/bind-factory-dom-press.ts +108 -0
- package/plugins/phaser-casual-game-factory/templates/ui/factory-cream-casual.css +380 -0
- package/plugins/phaser-casual-game-factory/templates/ui/factory-dark-casual.css +11 -0
- package/plugins/phaser-casual-game-factory/templates/ui/index.ts +5 -0
- package/plugins/phaser-casual-game-factory/templates/ui/settings-popup-dom.ts +349 -0
- package/plugins/phaser-casual-game-factory/templates/ui/settings-popup-phaser.ts +284 -0
- package/plugins/phaser-casual-game-factory/templates/ui/ui-sfx.ts +131 -0
- package/plugins/phaser-casual-game-factory/templates/ui-reskin/compare.html +235 -0
- package/plugins/phaser-casual-game-factory/tests/README.md +29 -0
- package/plugins/phaser-casual-game-factory/tests/condition.test.ts +92 -0
- package/plugins/phaser-casual-game-factory/tests/daily-login-reward.test.ts +45 -0
- package/plugins/phaser-casual-game-factory/tests/daily-login.test.ts +73 -0
- package/plugins/phaser-casual-game-factory/tests/economy.test.ts +258 -0
- package/plugins/phaser-casual-game-factory/tests/entitlement.test.ts +18 -0
- package/plugins/phaser-casual-game-factory/tests/leveling.test.ts +158 -0
- package/plugins/phaser-casual-game-factory/tests/loading-view.test.ts +39 -0
- 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
|
+
})();
|