Chrono into map edge fix
This commit is contained in:
committed by
Paul Chote
parent
e65ffc8be2
commit
f4dbf55510
@@ -95,6 +95,9 @@ namespace OpenRA.Mods.Cnc.Traits
|
|||||||
var sourceTiles = Self.World.Map.FindTilesInCircle(xy, range);
|
var sourceTiles = Self.World.Map.FindTilesInCircle(xy, range);
|
||||||
var destTiles = Self.World.Map.FindTilesInCircle(sourceLocation, range);
|
var destTiles = Self.World.Map.FindTilesInCircle(sourceLocation, range);
|
||||||
|
|
||||||
|
if (!sourceTiles.Any() || !destTiles.Any())
|
||||||
|
return false;
|
||||||
|
|
||||||
using (var se = sourceTiles.GetEnumerator())
|
using (var se = sourceTiles.GetEnumerator())
|
||||||
using (var de = destTiles.GetEnumerator())
|
using (var de = destTiles.GetEnumerator())
|
||||||
while (se.MoveNext() && de.MoveNext())
|
while (se.MoveNext() && de.MoveNext())
|
||||||
@@ -241,10 +244,11 @@ namespace OpenRA.Mods.Cnc.Traits
|
|||||||
var palette = wr.Palette(power.Info.IconPalette);
|
var palette = wr.Palette(power.Info.IconPalette);
|
||||||
|
|
||||||
// Destination tiles
|
// Destination tiles
|
||||||
foreach (var t in world.Map.FindTilesInCircle(xy, range))
|
var delta = xy - sourceLocation;
|
||||||
|
foreach (var t in world.Map.FindTilesInCircle(sourceLocation, range))
|
||||||
{
|
{
|
||||||
var tile = manager.Self.Owner.Shroud.IsExplored(t) ? validTile : invalidTile;
|
var tile = manager.Self.Owner.Shroud.IsExplored(t + delta) ? validTile : invalidTile;
|
||||||
yield return new SpriteRenderable(tile, wr.World.Map.CenterOfCell(t), WVec.Zero, -511, palette, 1f, true);
|
yield return new SpriteRenderable(tile, wr.World.Map.CenterOfCell(t + delta), WVec.Zero, -511, palette, 1f, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Unit previews
|
// Unit previews
|
||||||
|
|||||||
Reference in New Issue
Block a user