From 18c11c7ffd204498df334ae5c39f433832f05cb7 Mon Sep 17 00:00:00 2001 From: Jaculabilis Date: Sun, 6 Nov 2022 14:39:01 -0800 Subject: [PATCH] Add an AdvanceTimeline decision type --- .../Adjudicate/Decision/AdvanceTimeline.cs | 16 ++++++++++++++++ .../Adjudicate/Decision/MovementDecisions.cs | 5 ++++- 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 MultiversalDiplomacy/Adjudicate/Decision/AdvanceTimeline.cs diff --git a/MultiversalDiplomacy/Adjudicate/Decision/AdvanceTimeline.cs b/MultiversalDiplomacy/Adjudicate/Decision/AdvanceTimeline.cs new file mode 100644 index 0000000..19f087c --- /dev/null +++ b/MultiversalDiplomacy/Adjudicate/Decision/AdvanceTimeline.cs @@ -0,0 +1,16 @@ +using MultiversalDiplomacy.Model; +using MultiversalDiplomacy.Orders; + +namespace MultiversalDiplomacy.Adjudicate.Decision; + +public class AdvanceTimeline : BinaryAdjudicationDecision +{ + public Season Season { get; } + public List Orders { get; } + + public AdvanceTimeline(Season season, IEnumerable orders) + { + this.Season = season; + this.Orders = orders.ToList(); + } +} \ No newline at end of file diff --git a/MultiversalDiplomacy/Adjudicate/Decision/MovementDecisions.cs b/MultiversalDiplomacy/Adjudicate/Decision/MovementDecisions.cs index f1067a1..7379beb 100644 --- a/MultiversalDiplomacy/Adjudicate/Decision/MovementDecisions.cs +++ b/MultiversalDiplomacy/Adjudicate/Decision/MovementDecisions.cs @@ -13,6 +13,7 @@ public class MovementDecisions public Dictionary DefendStrength { get; } public Dictionary PreventStrength { get; } public Dictionary DoesMove { get; } + public Dictionary AdvanceTimeline { get; } public IEnumerable Values => this.IsDislodged.Values.Cast() @@ -22,7 +23,8 @@ public class MovementDecisions .Concat(this.AttackStrength.Values) .Concat(this.DefendStrength.Values) .Concat(this.PreventStrength.Values) - .Concat(this.DoesMove.Values); + .Concat(this.DoesMove.Values) + .Concat(this.AdvanceTimeline.Values); public MovementDecisions(World world, List orders) { @@ -34,6 +36,7 @@ public class MovementDecisions this.DefendStrength = new(); this.PreventStrength = new(); this.DoesMove = new(); + this.AdvanceTimeline = new(); // Record which seasons are referenced by the order set. HashSet orderedSeasons = new();