Fix the sequence filename update rule node placement
This commit is contained in:
committed by
Matthias Mailänder
parent
64933ed04b
commit
cb8921dc22
@@ -207,25 +207,36 @@ namespace OpenRA.Mods.Common.UpdateRules.Rules
|
||||
}
|
||||
}
|
||||
|
||||
var inheritsNode = imageNode.LastChildMatching("Inherits");
|
||||
var inheritsNodeIndex = inheritsNode == null ? 0 : imageNode.Value.Nodes.IndexOf(inheritsNode) + 1;
|
||||
|
||||
var maxDuplicateTilesetCount = duplicateTilesetCount.MaxByOrDefault(kv => kv.Value).Value;
|
||||
if (maxDuplicateTilesetCount > 1)
|
||||
{
|
||||
if (imageNode.LastChildMatching("Defaults") == null)
|
||||
imageNode.Value.Nodes.Insert(0, new MiniYamlNode("Defaults", ""));
|
||||
var defaultsNode = imageNode.LastChildMatching("Defaults");
|
||||
if (defaultsNode == null)
|
||||
{
|
||||
defaultsNode = new MiniYamlNode("Defaults", "");
|
||||
imageNode.Value.Nodes.Insert(inheritsNodeIndex, defaultsNode);
|
||||
}
|
||||
|
||||
var nodes = MiniYaml.FromString(duplicateTilesetCount.First(kv => kv.Value == maxDuplicateTilesetCount).Key);
|
||||
defaultTilesetFilenamesNode = new MiniYamlNode("TilesetFilenames", "", nodes);
|
||||
imageNode.LastChildMatching("Defaults").Value.Nodes.Insert(0, defaultTilesetFilenamesNode);
|
||||
defaultsNode.Value.Nodes.Insert(0, defaultTilesetFilenamesNode);
|
||||
}
|
||||
|
||||
var maxDuplicateCount = duplicateCount.MaxByOrDefault(kv => kv.Value).Value;
|
||||
if (maxDuplicateCount > 1)
|
||||
{
|
||||
if (imageNode.LastChildMatching("Defaults") == null)
|
||||
imageNode.Value.Nodes.Insert(0, new MiniYamlNode("Defaults", ""));
|
||||
var defaultsNode = imageNode.LastChildMatching("Defaults");
|
||||
if (defaultsNode == null)
|
||||
{
|
||||
defaultsNode = new MiniYamlNode("Defaults", "");
|
||||
imageNode.Value.Nodes.Insert(inheritsNodeIndex, defaultsNode);
|
||||
}
|
||||
|
||||
defaultFilenameNode = new MiniYamlNode("Filename", duplicateCount.First(kv => kv.Value == maxDuplicateCount).Key);
|
||||
imageNode.LastChildMatching("Defaults").Value.Nodes.Insert(0, defaultFilenameNode);
|
||||
defaultsNode.Value.Nodes.Insert(0, defaultFilenameNode);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user