Add an AdvanceTimeline decision type
This commit is contained in:
parent
f5acb8325c
commit
18c11c7ffd
|
@ -0,0 +1,16 @@
|
||||||
|
using MultiversalDiplomacy.Model;
|
||||||
|
using MultiversalDiplomacy.Orders;
|
||||||
|
|
||||||
|
namespace MultiversalDiplomacy.Adjudicate.Decision;
|
||||||
|
|
||||||
|
public class AdvanceTimeline : BinaryAdjudicationDecision
|
||||||
|
{
|
||||||
|
public Season Season { get; }
|
||||||
|
public List<UnitOrder> Orders { get; }
|
||||||
|
|
||||||
|
public AdvanceTimeline(Season season, IEnumerable<UnitOrder> orders)
|
||||||
|
{
|
||||||
|
this.Season = season;
|
||||||
|
this.Orders = orders.ToList();
|
||||||
|
}
|
||||||
|
}
|
|
@ -13,6 +13,7 @@ public class MovementDecisions
|
||||||
public Dictionary<MoveOrder, DefendStrength> DefendStrength { get; }
|
public Dictionary<MoveOrder, DefendStrength> DefendStrength { get; }
|
||||||
public Dictionary<MoveOrder, PreventStrength> PreventStrength { get; }
|
public Dictionary<MoveOrder, PreventStrength> PreventStrength { get; }
|
||||||
public Dictionary<MoveOrder, DoesMove> DoesMove { get; }
|
public Dictionary<MoveOrder, DoesMove> DoesMove { get; }
|
||||||
|
public Dictionary<Season, AdvanceTimeline> AdvanceTimeline { get; }
|
||||||
|
|
||||||
public IEnumerable<AdjudicationDecision> Values =>
|
public IEnumerable<AdjudicationDecision> Values =>
|
||||||
this.IsDislodged.Values.Cast<AdjudicationDecision>()
|
this.IsDislodged.Values.Cast<AdjudicationDecision>()
|
||||||
|
@ -22,7 +23,8 @@ public class MovementDecisions
|
||||||
.Concat(this.AttackStrength.Values)
|
.Concat(this.AttackStrength.Values)
|
||||||
.Concat(this.DefendStrength.Values)
|
.Concat(this.DefendStrength.Values)
|
||||||
.Concat(this.PreventStrength.Values)
|
.Concat(this.PreventStrength.Values)
|
||||||
.Concat(this.DoesMove.Values);
|
.Concat(this.DoesMove.Values)
|
||||||
|
.Concat(this.AdvanceTimeline.Values);
|
||||||
|
|
||||||
public MovementDecisions(World world, List<Order> orders)
|
public MovementDecisions(World world, List<Order> orders)
|
||||||
{
|
{
|
||||||
|
@ -34,6 +36,7 @@ public class MovementDecisions
|
||||||
this.DefendStrength = new();
|
this.DefendStrength = new();
|
||||||
this.PreventStrength = new();
|
this.PreventStrength = new();
|
||||||
this.DoesMove = new();
|
this.DoesMove = new();
|
||||||
|
this.AdvanceTimeline = new();
|
||||||
|
|
||||||
// Record which seasons are referenced by the order set.
|
// Record which seasons are referenced by the order set.
|
||||||
HashSet<Season> orderedSeasons = new();
|
HashSet<Season> orderedSeasons = new();
|
||||||
|
|
Loading…
Reference in New Issue