void AddAssignment(Unit Unit, UnitAssignment Assignment)
 {
     if (_Assignments.ContainsKey(Unit))
     {
         _Assignments[Unit].Add(Assignment);
     }
     else
     {
         _Assignments.Add(Unit, new List <UnitAssignment> {
             Assignment
         });
     }
 }
 double ScoreCarrierTile(UnitAssignment Assignment, Tile Tile, Dictionary <Unit, Tile> Deployments)
 {
     return(BaseTileScore(Tile) * Assignment.Subject.Configuration.Movement
            / (1 + Tile.HexCoordinate.Distance(Deployments[Assignment.Object].HexCoordinate)));
 }
 double ScoreDefenseTile(UnitAssignment Assignment, Tile Tile, Dictionary <Unit, Tile> Deployments)
 {
     return(BaseTileScore(Tile)
            / (1 + Tile.HexCoordinate.Distance(Deployments[Assignment.Object].HexCoordinate)));
 }
 void AddAssignment(UnitAssignment Assignment)
 {
     AddAssignment(Assignment.Object, Assignment);
     AddAssignment(Assignment.Subject, Assignment);
 }