Fix RCS1077

This commit is contained in:
RoosterDragon
2023-03-18 12:47:08 +00:00
committed by Gustas
parent 499efa1d0a
commit 330ca92045
60 changed files with 110 additions and 97 deletions

View File

@@ -37,7 +37,7 @@ namespace OpenRA.Mods.Common.UpdateRules.Rules
{
// Keep a resolved copy of the sequences so we can account for values imported through inheritance or Defaults.
// This will be modified during processing, so take a deep copy to avoid side-effects on other update rules.
this.resolvedImagesNodes = MiniYaml.FromString(resolvedImagesNodes.WriteToString()).Select(n => new MiniYamlNodeBuilder(n)).ToList();
this.resolvedImagesNodes = MiniYaml.FromString(resolvedImagesNodes.WriteToString()).ConvertAll(n => new MiniYamlNodeBuilder(n));
var requiredMetadata = new HashSet<string>();
foreach (var imageNode in resolvedImagesNodes)
@@ -213,7 +213,7 @@ namespace OpenRA.Mods.Common.UpdateRules.Rules
{
resolvedDefaultsNode.Value.Nodes.Select(n => n.Build()).ToArray(),
resolvedSequenceNode.Value.Nodes.Select(n => n.Build()).ToArray()
}).Select(n => new MiniYamlNodeBuilder(n)).ToList();
}).ConvertAll(n => new MiniYamlNodeBuilder(n));
resolvedSequenceNode.Value.Value ??= resolvedDefaultsNode.Value.Value;
}
}

View File

@@ -45,7 +45,7 @@ namespace OpenRA.Mods.Common.UpdateRules.Rules
harvesters[actorNode.Key] = harvesterNode.ChildrenMatching("DeliveryBuildings", includeRemovals: false)
.FirstOrDefault()?.NodeValue<HashSet<string>>() ?? new HashSet<string>();
if (actorNode.ChildrenMatching("Refinery", includeRemovals: false).FirstOrDefault() != null)
if (actorNode.ChildrenMatching("Refinery", includeRemovals: false).Any())
refineries.Add(actorNode.Key.ToLowerInvariant());
}
@@ -102,7 +102,7 @@ namespace OpenRA.Mods.Common.UpdateRules.Rules
refineryNode.RemoveNode(dockOffsetNode);
}
var buildingNode = actorNode.Value.Nodes.FirstOrDefault(n => buildings.Any(b => n.KeyMatches(b, includeRemovals: false)));
var buildingNode = actorNode.Value.Nodes.Find(n => buildings.Any(b => n.KeyMatches(b, includeRemovals: false)));
if (buildingNode != null)
{
var dimensions = buildingNode.ChildrenMatching("Dimensions", includeRemovals: false).FirstOrDefault()?.NodeValue<CVec>() ?? new CVec(1, 1);