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,9 +59,17 @@ namespace OpenRA.Mods.Common.Lint
|
||||
foreach (var kv in map.ActorDefinitions)
|
||||
{
|
||||
var actorReference = new ActorReference(kv.Value.Value, kv.Value.ToDictionary());
|
||||
var ownerName = actorReference.InitDict.Get<OwnerInit>().PlayerName;
|
||||
if (!playerNames.Contains(ownerName))
|
||||
emitError("Actor {0} is owned by unknown player {1}.".F(actorReference.Type, ownerName));
|
||||
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))
|
||||
emitError("Actor {0} is owned by unknown player {1}.".F(actorReference.Type, ownerName));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user