Introduce a Calendar in Core that turns scaled clock time into whole in-game days plus a fraction-of-day, with a configurable SecondsPerDay. Pausing or changing TimeScale slows or stops it automatically. Pure read-side and deterministic, registered via context.UseCalendar(...), mirroring GameSpeed. Covered by xUnit tests; docs updated. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
53659450a6
commit
f791ee6c95
@@ -28,7 +28,8 @@ is the living showcase — new engine features are demonstrated there.
|
||||
Engine libraries (each feature is a namespaced subfolder of its host):
|
||||
|
||||
- **`Core`** — game loop, ECS world, scenes, time (`GameClock` with `TimeScale`; `GameSpeed`
|
||||
for discrete pause/1×/3×/6× speed control over the clock, `context.UseGameSpeed(...)`),
|
||||
for discrete pause/1×/3×/6× speed control over the clock, `context.UseGameSpeed(...)`;
|
||||
`Calendar` turning scaled time into in-game days, `context.UseCalendar(secondsPerDay)`),
|
||||
plus **Input** (`MrGameEng.Input`: `InputManager`, `ActionMap`, `InputSystem`, in
|
||||
`Core/Input/`). Depends only on MonoGame and Friflo.Engine.ECS.
|
||||
- **`Graphics`** — custom batched renderer, camera, sprites, plus **Tilemaps**
|
||||
|
||||
Reference in New Issue
Block a user