added encounter system

This commit is contained in:
Sebastian Bularca
2026-04-19 12:46:44 +02:00
parent c1b5d0e9e0
commit 8861bdc5eb
94 changed files with 2581 additions and 13 deletions

View File

@@ -109,3 +109,20 @@ Assets/Code/
- Factory pattern for character/party creation
- Action delegates for UI event communication (e.g., `menuGameStateData.startGameRequests += handler`)
- Mixed async patterns: both `async Task` and `IEnumerator` coroutines for async operations
## Planning Docs Convention
Non-trivial features are planned in `docs/plans/` as paired markdown files: a design doc and an implementation doc, both prefixed with the date. Examples: `2026-04-05-ingame-logging-design.md` + `2026-04-05-ingame-logging-implementation.md`, `2026-04-06-popup-system-design.md` + `2026-04-06-popup-system-implementation.md`. When starting a new feature, look here first for existing context, and follow the same pair-of-docs pattern for new work.
## In-House Jovian Packages
Several packages under `Packages/` are first-party code maintained alongside the game, not third-party dependencies. Before adding new capabilities, check whether one of these already provides what you need:
- `Jovian.SaveSystem` — JSON persistence, used by `GamePersistenceController`
- `Jovian.Calendar` — custom in-game calendar system
- `Jovian.InGameLogging` — runtime logging surface
- `Jovian.EncounterSystem` — data-driven encounter authoring, `IEncounterKind` polymorphic payloads, `EncounterLink` cross-table refs, `QuestProgress` gated progression + `QuestLog`. Designer browser at `Jovian → Encounters → Encounter Browser`.
- `Jovian.PopupSystem` — popup/dialog UI
- `Jovian.ZoneSystem` — zone/region management
- `Jovian.Logger` — developer logging
- `Jovian.InspectorTools` / `JovianUtilities` — editor and general utilities