using MultiversalDiplomacy.Model; namespace MultiversalDiplomacy.Orders; /// /// An order for a unit to move to another province. /// public class MoveOrder : UnitOrder { /// /// The destination season to which the unit should move. /// TODO replace this with timeline and turn individually so ToString can do the proper format /// public string Season { get; } /// /// The destination location to which the unit should move. /// public Location Location { get; } /// /// The destination province to which the unit should move. /// public Province Province => this.Location.Province; public MoveOrder(Power power, Unit unit, string season, Location location) : base (power, unit) { this.Season = season; this.Location = location; } public override string ToString() { return $"{this.Unit} -> {this.Season} {this.Province}"; } /// /// Returns whether another move order has the same destination as this order. /// public bool IsCompeting(MoveOrder other) => this != other && this.Season == other.Season && this.Province == other.Province; }