Merge pull request #9720 from penev92/fixUtility
Fix a crash in CheckPlayers when an actor doesn't define an Owner
This commit is contained in:
@@ -59,10 +59,18 @@ namespace OpenRA.Mods.Common.Lint
|
|||||||
foreach (var kv in map.ActorDefinitions)
|
foreach (var kv in map.ActorDefinitions)
|
||||||
{
|
{
|
||||||
var actorReference = new ActorReference(kv.Value.Value, kv.Value.ToDictionary());
|
var actorReference = new ActorReference(kv.Value.Value, kv.Value.ToDictionary());
|
||||||
var ownerName = actorReference.InitDict.Get<OwnerInit>().PlayerName;
|
var ownerInit = actorReference.InitDict.GetOrDefault<OwnerInit>();
|
||||||
|
if (ownerInit == null)
|
||||||
|
{
|
||||||
|
emitError("Actor {0} is not owned by any player.".F(kv.Key));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var ownerName = ownerInit.PlayerName;
|
||||||
if (!playerNames.Contains(ownerName))
|
if (!playerNames.Contains(ownerName))
|
||||||
emitError("Actor {0} is owned by unknown player {1}.".F(actorReference.Type, ownerName));
|
emitError("Actor {0} is owned by unknown player {1}.".F(actorReference.Type, ownerName));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user