[/Script/EngineSettings.GeneralProjectSettings] ProjectID=FC3E256F43B2AFD43009F4949B0814BE ProjectName=Third Person Game Template ; ----------------------------------------------------------------------------- ; ZMMO Theme subsystem (see Source/ZMMO/Game/UI/ZeusThemeSubsystem.h and ; ARQUITETURA.md §1.10 / §4.7). ; ; - DefaultThemeAsset is the fallback theme (must define every EZeusThemeKey). ; - ThemeRegistry maps ThemeId -> seasonal DA_Theme_* asset. ; - CalendarTable points to DT_ThemeCalendar (FThemeCalendarRow rows). ; - UIStyleTable points to DT_UI_Styles (FUIStyleRow rows): tokens de estilo ; (cores/fontes/dimensões) keyed por ThemeId; linha "Default" é o fallback. ; - DevThemeOverride forces a theme in non-Shipping builds only. Keep commented ; in production. ; ; Paths use the /Game prefix (cooked Content namespace). Uncomment after the ; assets are actually created in the editor. ; ----------------------------------------------------------------------------- [/Script/ZMMO.ZeusThemeSubsystem] ;DefaultThemeAsset=/Game/ZMMO/UI/Themes/DA_Theme_Default.DA_Theme_Default ;+ThemeRegistry=(("Christmas", "/Game/ZMMO/UI/Themes/DA_Theme_Christmas.DA_Theme_Christmas")) ;+ThemeRegistry=(("Halloween", "/Game/ZMMO/UI/Themes/DA_Theme_Halloween.DA_Theme_Halloween")) ;CalendarTable=/Game/ZMMO/UI/Themes/DT_ThemeCalendar.DT_ThemeCalendar UIStyleTable=/Game/ZMMO/Data/UI/DT_UI_Styles.DT_UI_Styles ;DevThemeOverride=Christmas [/Script/ZMMO.UIFrontEndFlowSubsystem] ; Mapa estado->tela. O DA já existe (RootLayoutClass = WBP_PrimaryGameLayout); ; StateScreens fica vazio até os WBPs de página virem do Zeus UMG Forge (§4.8). ScreenSetAsset=/Game/ZMMO/UI/FrontEnd/DA_FrontEndScreenSet.DA_FrontEndScreenSet ; Fase 4 — char spawn DB-driven. DT_Maps espelha o `maps_config.json` do ; server (Server/ZeusServerEngine/Config/DataTables/maps_config.json) — o ; cliente resolve `mapId -> ClientLevel/spawns` via FZeusMapDef rows. MapsTableAsset=/Game/ZMMO/Data/World/DT_Maps.DT_Maps ; Loading dinâmico (etapas + dicas). DA_LoadingProfiles tem 1 perfil por ; contexto (EZeusLoadingContext); DT_LoadingTips rotaciona durante o load. ; Cliente local marca etapas via eventos (sem opcode novo). LoadingProfilesAsset=/Game/ZMMO/Data/UI/Loading/DA_LoadingProfiles.DA_LoadingProfiles LoadingTipsAsset=/Game/ZMMO/Data/UI/Loading/DT_LoadingTips.DT_LoadingTips ; ----------------------------------------------------------------------------- ; UI in-game (PR 19+). Espelho do front-end pattern: ; - ScreenSetAsset mapeia EZeusInGameUIState -> WBP (Playing -> WBP_HUD, ; StatusWindow -> WBP_StatusWindow, etc.) ; - Subsystem orquestra: AZeusHUD::BeginPlay chama StartInGame que vai pra ; Playing. ; Asset criado via MCP em /Game/ZMMO/UI/InGame/DA_InGameScreenSet. ; ----------------------------------------------------------------------------- [/Script/ZMMO.UIInGameFlowSubsystem] ScreenSetAsset=/Game/ZMMO/UI/InGame/DA_InGameScreenSet.DA_InGameScreenSet ; ----------------------------------------------------------------------------- ; PlayerState Component Registry (PR 19+). Cada módulo MMO registra seus ; UActorComponent aqui. O AZeusPlayerState lê esta lista no construtor e ; instancia cada classe como subobject — pattern Open-Closed: adicionar ; Inventory/Skills/Guild = mais uma linha aqui, sem editar AZeusPlayerState. ; ; Convenção: usa o path /Script/. (sem o "U" do prefixo ; C++; UClass resolve pelo nome curto). ; ----------------------------------------------------------------------------- [/Script/ZMMO.ZeusPlayerState] ; UZeusGASComponent (plugin ZeusGAS) — dono unico dos atributos do char (M7). ; Owns UZeusAbilitySystemComponent + UZeusAttributeSet (26 atributos ; espelhados do server CharAttributeSet). Bridge via UZeusGASNetworkHandler ; (UWorldSubsystem) subscribe nos delegates do UZeusNetworkSubsystem. +ComponentClasses=/Script/ZeusGAS.ZeusGASComponent ; === GAS Cue paths (Batch 2.5 — S_ABILITY_CUE multicast cosmetico) === ; UGameplayCueManager scaneia esses paths no boot pra mapear FGameplayTag ; -> AGameplayCueNotify_Actor BP. UZeusGASComponent::DispatchAbilityCue chama ; ASC->ExecuteGameplayCueLocal(CueTag, params) -> manager resolve pelo path. [/Script/GameplayAbilities.AbilitySystemGlobals] +GameplayCueNotifyPaths="/Game/ZMMO/GAS/Cues" [/Script/Engine.AssetManagerSettings] -PrimaryAssetTypesToScan=(PrimaryAssetType="Map",AssetBaseClass=/Script/Engine.World,bHasBlueprintClasses=False,bIsEditorOnly=True,Directories=((Path="/Game/Maps")),SpecificAssets=,Rules=(Priority=-1,ChunkId=-1,bApplyRecursively=True,CookRule=Unknown)) -PrimaryAssetTypesToScan=(PrimaryAssetType="PrimaryAssetLabel",AssetBaseClass=/Script/Engine.PrimaryAssetLabel,bHasBlueprintClasses=False,bIsEditorOnly=True,Directories=((Path="/Game")),SpecificAssets=,Rules=(Priority=-1,ChunkId=-1,bApplyRecursively=True,CookRule=Unknown)) +PrimaryAssetTypesToScan=(PrimaryAssetType="Map",AssetBaseClass="/Script/Engine.World",bHasBlueprintClasses=False,bIsEditorOnly=True,Directories=((Path="/Game/Maps")),SpecificAssets=,Rules=(Priority=-1,ChunkId=-1,bApplyRecursively=True,CookRule=Unknown)) +PrimaryAssetTypesToScan=(PrimaryAssetType="PrimaryAssetLabel",AssetBaseClass="/Script/Engine.PrimaryAssetLabel",bHasBlueprintClasses=False,bIsEditorOnly=True,Directories=((Path="/Game")),SpecificAssets=,Rules=(Priority=-1,ChunkId=-1,bApplyRecursively=True,CookRule=Unknown)) +PrimaryAssetTypesToScan=(PrimaryAssetType="GameFeatureData",AssetBaseClass="/Script/GameFeatures.GameFeatureData",bHasBlueprintClasses=False,bIsEditorOnly=False,Directories=,SpecificAssets=,Rules=(Priority=-1,ChunkId=-1,bApplyRecursively=True,CookRule=AlwaysCook)) bOnlyCookProductionAssets=False bShouldManagerDetermineTypeAndName=False bShouldGuessTypeAndNameInEditor=True bShouldAcquireMissingChunksOnLoad=False bShouldWarnAboutInvalidAssets=True MetaDataTagsForAssetRegistry=() [/Script/GameplayAbilities.AbilitySystemGlobals] bUseDebugTargetFromHud=true [ConsoleVariables] ; mostra cooldowns, ativações, falhas AbilitySystem.LogAbilityTriggers=1 ; mostra effects aplicados/removidos com magnitude AbilitySystem.DebugAbilityTags=1