Commit Graph

67 Commits

Author SHA1 Message Date
8f5dc63833 Use unit designations for order history instead of references 2024-08-14 18:49:27 -07:00
73d849e117 Working World roundtrip serialization
There are probably still reference equality issues here since Unit still has Season and Power objects. The test case builder also still works on reference equality in some places so the second part of adjudication is broken.
2024-08-14 09:51:18 -07:00
31bd6a45cb Define JSON serialization options on World 2024-08-14 09:16:53 -07:00
5ad57465d8 Remove reference from Unit.Past 2024-08-14 09:06:05 -07:00
885628900b Remove Location reference from Unit 2024-08-14 09:06:05 -07:00
e1772ce60b Refactor away Unit.Province 2024-08-14 09:06:05 -07:00
abaa7f7a92 Shift usage of Unit.Location to Unit.LocationId
This is in preparation for removing province and location references from Unit
2024-08-14 09:06:04 -07:00
442015b942 Always name locations 2024-08-14 09:06:04 -07:00
228ad53cca Enable basic World serialization 2024-08-14 09:06:04 -07:00
f1563b8f5f Delete Season.Coord 2024-08-14 09:06:04 -07:00
345d54f960 Refactor timelines and season creation logic into World 2024-08-14 09:06:04 -07:00
58f877425a Add more JsonIgnores 2024-08-14 09:06:04 -07:00
2f4c8b2a38 Store order history by timeline designation instead of reference 2024-08-14 09:06:04 -07:00
9606307e12 Update Season ctor 2024-08-14 09:06:04 -07:00
87685ec744 Refactor season futures into World 2024-08-14 09:06:04 -07:00
752a898123 Use a simpler override where available 2024-08-14 09:06:04 -07:00
400263ea0b Rename PastId back to Past 2024-08-14 09:06:04 -07:00
5e5483367d Remove Season.Past so all lookups go through World 2024-08-14 09:06:04 -07:00
81c9aa4859 Move more timeline logic from Season to World 2024-08-14 09:06:04 -07:00
fca8b77a21 Move GetAdjacentSeasons to PathFinder 2024-08-14 09:06:04 -07:00
b756959b0a Replace most uses of Season creators to World 2024-08-14 09:06:04 -07:00
b887e01334 Eliminate RootSeason field 2024-08-14 09:06:04 -07:00
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
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
bd8e0da6b6 Refactor province and power information into Map 2024-08-14 09:04:56 -07:00
3db01c0ffd Update projects to dotnet 8 2024-08-09 06:53:22 -07:00
b241d206f4 Only fork on new moves into a season 2022-11-08 19:12:03 -08:00
069cb4c548 Prevent orders from being double counted if they affect multiple seasons 2022-11-08 18:55:27 -08:00
95ed8c7682 Fix error caused by decisions with no history 2022-11-08 18:41:46 -08:00
39c3aabe45 Implement AdvanceTimeline resolution 2022-11-08 16:25:47 -08:00
7471a035f0 Log decision updates 2022-11-06 22:01:36 -08:00
a565ee1b05 Add better ToString overrides to decision classes 2022-11-06 21:58:21 -08:00
25d707b3b8 Log recursive decision traversal 2022-11-06 21:55:46 -08:00
c0a9330d2e Add depth tracking to decision resolution 2022-11-06 21:51:45 -08:00
23a826c815 Add adjudicator logger 2022-11-06 21:09:22 -08:00
46c28a087c Shorten string representations
The new format for representing timeline, province, and season is T-PRO@S. Hopefully this is easier to read than the PRO T:S format.
2022-11-06 20:27:28 -08:00
18c11c7ffd Add an AdvanceTimeline decision type 2022-11-06 14:39:01 -08:00
105c372779 Add ToString overrides for orders 2022-04-07 15:58:17 -07:00
5e74ffc19f Apply null-forgiving operator where relevant 2022-04-07 15:48:46 -07:00
d491ea9f64 Fix missing temporal dimension to dislodge checks 2022-03-30 13:00:51 -07:00
9f5ecaa16a Add province shortcuts to decrease verbosity 2022-03-30 12:52:57 -07:00
6948db29df Save previous orders so time travel can re-adjudicate them 2022-03-29 20:40:19 -07:00
6a6810ef07 Add basic movement phase update tests 2022-03-29 17:16:00 -07:00
d4e68844c6 Simplify world updates and expose root season 2022-03-28 22:34:57 -07:00
aa9c9c548b Enable hold strength across parallel worlds 2022-03-28 17:41:38 -07:00
ff64b459ca Reduce verbosity of test case assertions 2022-03-28 15:05:04 -07:00
609e8cc60c Add dislodge checks to DATC A tests 2022-03-28 09:39:03 -07:00
b026adbfbc Add some basic unit tests for the movement adjudicator 2022-03-27 15:10:34 -07:00
6b1b9dce10 Refactor adjudication into separate adjudication and update steps
This makes it easier to unit test adjudication decisions directly.
2022-03-27 14:39:00 -07:00
36ea621782 Move decision classes out of the movement adjudicator 2022-03-24 09:22:13 -07:00