Correct Contains check in ActorMap.

This commit is contained in:
Paul Chote
2015-07-27 18:22:14 +01:00
parent 3b25a2029a
commit 2b3c65334d

View File

@@ -194,7 +194,7 @@ namespace OpenRA.Traits
public IEnumerable<Actor> GetUnitsAt(CPos a) public IEnumerable<Actor> GetUnitsAt(CPos a)
{ {
if (!map.Contains(a)) if (!influence.Contains(a))
yield break; yield break;
for (var i = influence[a]; i != null; i = i.Next) for (var i = influence[a]; i != null; i = i.Next)
@@ -204,7 +204,7 @@ namespace OpenRA.Traits
public IEnumerable<Actor> GetUnitsAt(CPos a, SubCell sub) public IEnumerable<Actor> GetUnitsAt(CPos a, SubCell sub)
{ {
if (!map.Contains(a)) if (!influence.Contains(a))
yield break; yield break;
for (var i = influence[a]; i != null; i = i.Next) for (var i = influence[a]; i != null; i = i.Next)
@@ -249,7 +249,7 @@ namespace OpenRA.Traits
// NOTE: always includes transients with influence // NOTE: always includes transients with influence
public bool AnyUnitsAt(CPos a) public bool AnyUnitsAt(CPos a)
{ {
if (!map.Contains(a)) if (!influence.Contains(a))
return false; return false;
return influence[a] != null; return influence[a] != null;
@@ -258,7 +258,7 @@ namespace OpenRA.Traits
// NOTE: can not check aircraft // NOTE: can not check aircraft
public bool AnyUnitsAt(CPos a, SubCell sub, bool checkTransient = true) public bool AnyUnitsAt(CPos a, SubCell sub, bool checkTransient = true)
{ {
if (!map.Contains(a)) if (!influence.Contains(a))
return false; return false;
var always = sub == SubCell.FullCell || sub == SubCell.Any; var always = sub == SubCell.FullCell || sub == SubCell.Any;
@@ -281,7 +281,7 @@ namespace OpenRA.Traits
// NOTE: can not check aircraft // NOTE: can not check aircraft
public bool AnyUnitsAt(CPos a, SubCell sub, Func<Actor, bool> withCondition) public bool AnyUnitsAt(CPos a, SubCell sub, Func<Actor, bool> withCondition)
{ {
if (!map.Contains(a)) if (!influence.Contains(a))
return false; return false;
var always = sub == SubCell.FullCell || sub == SubCell.Any; var always = sub == SubCell.FullCell || sub == SubCell.Any;
@@ -296,7 +296,7 @@ namespace OpenRA.Traits
{ {
foreach (var c in ios.OccupiedCells()) foreach (var c in ios.OccupiedCells())
{ {
if (!map.Contains(c.First)) if (!influence.Contains(c.First))
continue; continue;
influence[c.First] = new InfluenceNode { Next = influence[c.First], SubCell = c.Second, Actor = self }; influence[c.First] = new InfluenceNode { Next = influence[c.First], SubCell = c.Second, Actor = self };
@@ -312,7 +312,7 @@ namespace OpenRA.Traits
{ {
foreach (var c in ios.OccupiedCells()) foreach (var c in ios.OccupiedCells())
{ {
if (!map.Contains(c.First)) if (!influence.Contains(c.First))
continue; continue;
var temp = influence[c.First]; var temp = influence[c.First];
@@ -381,7 +381,7 @@ namespace OpenRA.Traits
foreach (var c in cells) foreach (var c in cells)
{ {
if (!map.Contains(c)) if (!influence.Contains(c))
continue; continue;
if (!cellTriggerInfluence.ContainsKey(c)) if (!cellTriggerInfluence.ContainsKey(c))