Tim Van Baak
3d664208b5
Add Season.First, replacing FIRST_TURN
2024-08-15 16:36:50 -07:00
Tim Van Baak
25d903d91a
Refactor Season into a value struct
...
This keeps the rich features of a Season type without requiring constant string parsing (as much) or going through World to do lookups to get the objects. Since seasons now have value equality instead of reference equality, it's easier to get access to whem when needed. They're still, fundamentally, sugar over a tuple.
2024-08-15 13:51:41 -07:00
Tim Van Baak
abbe929122
Designation -> Key
2024-08-15 06:52:08 -07:00
Tim Van Baak
f1563b8f5f
Delete Season.Coord
2024-08-14 09:06:04 -07:00
Tim Van Baak
345d54f960
Refactor timelines and season creation logic into World
2024-08-14 09:06:04 -07:00
Tim Van Baak
9606307e12
Update Season ctor
2024-08-14 09:06:04 -07:00
Tim Van Baak
87685ec744
Refactor season futures into World
2024-08-14 09:06:04 -07:00
Tim Van Baak
400263ea0b
Rename PastId back to Past
2024-08-14 09:06:04 -07:00
Tim Van Baak
5e5483367d
Remove Season.Past so all lookups go through World
2024-08-14 09:06:04 -07:00
Tim Van Baak
81c9aa4859
Move more timeline logic from Season to World
2024-08-14 09:06:04 -07:00
Tim Van Baak
fca8b77a21
Move GetAdjacentSeasons to PathFinder
2024-08-14 09:06:04 -07:00
Tim Van Baak
b756959b0a
Replace most uses of Season creators to World
2024-08-14 09:06:04 -07:00
Tim Van Baak
421e84b559
Update timeline designator usage
...
Timelines are now identified by strings and come first in timeline-turn tuples.
2024-08-14 09:06:04 -07:00
Tim Van Baak
780ae8b948
Refactor timeline factory to generate string ids
...
The strings are immediately shimmed back to ints for now
2024-08-14 09:06:03 -07:00
Jaculabilis
39c3aabe45
Implement AdvanceTimeline resolution
2022-11-08 16:25:47 -08:00
Jaculabilis
5e74ffc19f
Apply null-forgiving operator where relevant
2022-04-07 15:48:46 -07:00
Jaculabilis
6a6810ef07
Add basic movement phase update tests
2022-03-29 17:16:00 -07:00
Jaculabilis
70b004edab
Define ToString methods on the main models
2022-03-15 17:36:47 -07:00
Jaculabilis
8a7e90b949
Add movement phase order validation logic
2022-03-15 12:24:29 -07:00
Jaculabilis
b284f1acc6
Add season model and timeline unit test
2022-02-18 11:35:05 -08:00