Documento consolidado e operacional para implementação real em Unity. Esta versão complementa e organiza o que já foi feito em GDD, planos de tela, backlog e guia master.
Scenes: Boot, Home, Map, Battle, MetaOverlay Canvas por cena: Background / HUD / Content / PopupLayer / Transition Padrão por feature: View + Presenter + Service + DTO + ScriptableObject Autoridade do servidor: economia, compras, ranking, season rewards
Assets/_Game/
Art/UI/Atlases
Prefabs/{Core,UI,Home,Map,Battle,Meta}
Scripts/{Core,Data,Services,Features,SharedUI}
Data/ScriptableObjects/{Balance,Levels,Rewards,Offers,Creatures}
Scenes/{Boot,Home,Map,Battle,Meta}
Prefabs base: PF_UI_ButtonPrimary, PF_UI_CurrencyBar, PF_MAP_StageNode, PF_BATTLE_Cell, PF_CREATURE_Card, PF_MODAL_Reward.
| Tela | Presenter | Service | Save Slice | Eventos |
|---|---|---|---|---|
| 01 Loading | BootPresenter | RemoteConfig/Save/Analytics | lastBootAt, bootVersion | boot_start, boot_success, boot_fail |
| 02 Consent | ConsentPresenter | Consent/Ads | consentVersion, acceptedAt | consent_accept, consent_manage |
| 03 Home | HomePresenter | Economy/Energy/Missions/Chests | pendingClaims, timers | home_open, home_cta_play |
| 04 Map | MapPresenter | Progress/UnlockRules | worldId, stageId | map_open, stage_select |
| 05/06 Battle | BattlePresenter | Battle/Boosters/Rewards | seed, turns, score | level_start, move_done, booster_used |
| 07 Victory | ResultPresenter | Reward/Ads/Progress | stars, bestScore | level_complete, reward_claim |
| 08 Fail | FailPresenter | Ads/Energy | continueUsed | level_fail, revive_offer |
| 09 Missions | MissionPresenter | Missions/SeasonPass | missionProgress | mission_claim |
| 11/12 Rewards | RewardPresenter | DailyReward/SeasonReward | lastDailyClaimAt | daily_claim, tier_reward_claim |
| 14/14a/14b PvP | LeaderboardPresenter | Mirror/Ghost/Leaderboard | seasonSnapshot | pvp_open, pvp_battle_start |
| 15/15a Collection | CollectionPresenter | CollectionService | discovered, owned | collection_open, card_open |
| 16 Hatch | HatcheryPresenter | Hatchery/Inventory | eggTimers | egg_start, egg_open |
| 17 Evolve | EvolutionPresenter | Fusion/Collection/Economy | fusionCount | fusion_start, fusion_complete |
| 20 Modais | Settings/Support/Tutorial | Settings/Ticket/Tutorial | settings, tutorialFlags | tutorial_step, support_open |
{
"schemaVersion": 5,
"playerId": "uuid",
"economy": {"gold":0,"gems":0,"energy":{"current":20,"max":20,"regenSec":900,"lastTickUtc":0}},
"progress": {"worldId":1,"stageId":1,"starsByStage":{}},
"missions": {"daily":[],"weekly":[]},
"collection": {"creatures":[]},
"hatchery": {"eggs":[]},
"settings": {"music":1,"sfx":1,"vibration":1,"quality":1,"language":"pt-BR"},
"consent": {"version":"1.0.0","acceptedAtUtc":0,"adsPersonalized":false}
}
Checkpoint de save em: boot concluído, retorno ao lobby, fim de fase, claim de reward, início/fim de incubação, evolução, alteração de settings.
Uma tela só está pronta quando: 1) abre/fecha no fluxo oficial; 2) usa dados reais ou mock padronizado; 3) possui analytics mínimos; 4) persiste o necessário; 5) funciona em 3 aspect ratios alvo; 6) trata loading/vazio/erro; 7) usa prefabs reutilizáveis quando aplicável; 8) foi validada contra o ZIP 01.