Merge pull request #7230 from RoosterDragon/occupied-cells-arrays

Make OccupiedCells implementations return arrays.
This commit is contained in:
Matthias Mailänder
2015-01-02 17:38:56 +01:00
3 changed files with 6 additions and 10 deletions

View File

@@ -60,7 +60,7 @@ namespace OpenRA.Mods.Common.Traits
self.QueueActivity(new Drag(self, CenterPosition, finalPosition, distance / dragSpeed));
}
public IEnumerable<Pair<CPos, SubCell>> OccupiedCells() { yield return Pair.New(TopLeft, SubCell.FullCell); }
public IEnumerable<Pair<CPos, SubCell>> OccupiedCells() { return new[] { Pair.New(TopLeft, SubCell.FullCell) }; }
public bool IsLeavingCell(CPos location, SubCell subCell = SubCell.Any) { return false; }
public SubCell GetValidSubCell(SubCell preferred = SubCell.Any) { return SubCell.FullCell; }
public SubCell GetAvailableSubCell(CPos cell, SubCell preferredSubCell = SubCell.Any, Actor ignoreActor = null, bool checkTransientActors = true)

View File

@@ -114,7 +114,7 @@ namespace OpenRA.Mods.RA.Traits
}
public CPos TopLeft { get { return Location; } }
public IEnumerable<Pair<CPos, SubCell>> OccupiedCells() { yield return Pair.New(Location, SubCell.FullCell); }
public IEnumerable<Pair<CPos, SubCell>> OccupiedCells() { return new[] { Pair.New(Location, SubCell.FullCell) }; }
public WPos CenterPosition { get; private set; }
public void SetPosition(Actor self, WPos pos) { SetPosition(self, self.World.Map.CellContaining(pos)); }

View File

@@ -486,14 +486,10 @@ namespace OpenRA.Mods.RA.Traits
public IEnumerable<Pair<CPos, SubCell>> OccupiedCells()
{
if (fromCell == toCell)
yield return Pair.New(fromCell, fromSubCell);
else if (CanEnterCell(toCell))
yield return Pair.New(toCell, toSubCell);
else
{
yield return Pair.New(fromCell, fromSubCell);
yield return Pair.New(toCell, toSubCell);
}
return new[] { Pair.New(fromCell, fromSubCell) };
if (CanEnterCell(toCell))
return new[] { Pair.New(toCell, toSubCell) };
return new[] { Pair.New(fromCell, fromSubCell), Pair.New(toCell, toSubCell) };
}
public bool IsLeavingCell(CPos location, SubCell subCell = SubCell.Any)