Zentrale Klassen und Services
Alle Lebensdauern sind im aktuellen BootstrapBase Singleton, sofern nicht als Scene-Node markiert.
| Namespace / Klasse | Pfad | Erzeuger / Nutzer | Wichtige API und Grenze |
|---|---|---|---|
HolodeckArena3D.Core.Bootstrap.AppBootstrap |
Core/Bootstrap/AppBootstrap.cs |
Autoload / Client | BuildServices, MainMenu; keine Featurelogik |
HolodeckArena3D.Core.Bootstrap.ServerBootstrap |
Core/Bootstrap/ServerBootstrap.cs |
Autoload / Headless | ENet/Registry lifecycle |
HolodeckArena3D.Core.GameFlow.GameFlowService |
Core/GameFlow/GameFlowService.cs |
DI / UI, Run | GoTo*Async; Routen zentral halten |
HolodeckArena3D.Core.SceneLoading.SceneLoader |
Core/SceneLoading/SceneLoader.cs |
DI / GameFlow | Preload/ChangeScene; injiziert Scene |
HolodeckArena3D.Core.Events.EventBus |
Core/Events/EventBus.cs |
DI / fast alle Features | Subscribe/Publish/Unsubscribe; kein persistenter State |
HolodeckArena3D.Core.Runtime.RuntimeOptionsStore |
Core/Runtime/RuntimeOptionsStore.cs |
DI / Bootstrap, Registry, Nakama | Current, Config; nach Initialize read-only behandeln |
HolodeckArena3D.Core.Network.NetworkManager |
Core/Network/NetworkManager.cs |
Autoload / MainMenu | ENet Connect/Cleanup, Connection Events |
HolodeckArena3D.Core.Network.HubNetworkSync |
Core/Network/HubNetworkSync.cs |
Autoload / Hub | Register/Movement RPC; nur Social Hub |
HolodeckArena3D.Core.Network.DungeonCombatNetworkSync |
Core/Network/DungeonCombatNetworkSync.cs |
Autoload / Dungeon, Headless | Start/Fire/Reload/Switch/Pose; Server besitzt Combat-Zustand |
HolodeckArena3D.Integrations.Nakama.NakamaAuthService |
Integrations/Nakama/NakamaAuthService.cs |
DI / MainMenu | Login/Register/Restore/Logout |
HolodeckArena3D.Integrations.Nakama.NakamaRpcService |
Integrations/Nakama/NakamaRpcService.cs |
DI / Feature-Services | typisierte RPC-Brücke; UI nicht direkt koppeln |
HolodeckArena3D.Features.Dungeons.Run.DungeonRunService |
Features/Dungeons/Run/DungeonRunService.cs |
DI / RunController | Prepare/Notify/Complete/Abort Backend-Session |
HolodeckArena.Shared.Dungeons.Definitions.DungeonGeneratorV3 |
Shared/Dungeons/Definitions/DungeonGeneratorV3.cs |
GeneratorFactory / Run, Tests | Generate; deterministisch/Godot-frei |
HolodeckArena.Shared.Dungeons.Definitions.RunDefinition |
Shared/Dungeons/Definitions/RunDefinition.cs |
Generator/Service / Runtime, Replayziel | immutable Run-Wahrheit; Presentation nicht hinein |
HolodeckArena3D.Features.Dungeons.Run.DungeonRun3DController |
Features/Dungeons/Run/DungeonRun3DController.cs |
DungeonRun3DScene / Scene | GenerateWorld, Encounter, Exit; Scene-Orchestrator |
HolodeckArena3D.Features.Dungeons.Rooms.Metadata.RoomTemplateSelector |
Rooms/Metadata/RoomTemplateSelector.cs |
RunController / Tests | Select; stabile Sortierung/Seed |
HolodeckArena3D.Features.Dungeons.Rooms.Runtime.RoomTemplateInstantiator |
Rooms/Runtime/RoomTemplateInstantiator.cs |
RunController | Scene→RoomRuntimeContext/Socketstate |
HolodeckArena3D.Features.Dungeons.Run.RoomEncounterRuntime3D |
Run/RoomEncounterRuntime3D.cs |
RunController / Räume | Waves, Spawn, RegisterDefeated, Completion |
HolodeckArena3D.Features.Dungeons.Run.Boss.BossEncounterRuntime |
Run/Boss/BossEncounterRuntime.cs |
RunController / Bossgegner | Phasen, Angriffe, Adds, Arena-Events |
HolodeckArena.Shared.Dungeons.Runtime.DungeonObjectiveTracker |
Shared/Dungeons/Runtime/DungeonObjectiveTracker.cs |
ObjectiveTracker3D / Tests | deduplizierte Boss-/Pointwertung |
HolodeckArena.Shared.Loadouts.LoadoutValidator |
Shared/Loadouts/LoadoutValidator.cs |
DI / Run und Network Sync | Validate/CreateValidated/Hash; gespeichertes Loadout nie umgehen |
HolodeckArena.Shared.Loadouts.WeaponStatCalculator |
Shared/Loadouts/WeaponStatCalculator.cs |
DI / WeaponFactory, Tests | deterministische Stats |
HolodeckArena.Shared.Progression.UnlockService |
Shared/Progression/UnlockService.cs |
DI / LoadoutValidator | IsUnlocked/Meets; Storage nicht hier |
HolodeckArena.Shared.Progression.PlayerProgressionProfile |
Shared/Progression/PlayerProgressionProfile.cs |
PlayerProgressionComponent / Domain Tests | Profilinvarianten, idempotente Unlocks/Challenges, Mastery-XP |
LeaderboardQueryService |
Features/Leaderboards/Application/LeaderboardQueryService.cs |
DI / Leaderboard UI | validiert und begrenzt Read-Requests; Nakama hinter ILeaderboardClient |
HolodeckArena3D.Features.Hub.HubController |
Features/Hub/HubController.cs |
HubClientScene / UI | Chat/Terminal/Leave; keine Backendautorität |
Events stehen in IDs und Events; Ownership in System Map.