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;
|
var maxDuplicateTilesetCount = duplicateTilesetCount.MaxByOrDefault(kv => kv.Value).Value;
|
||||||
if (maxDuplicateTilesetCount > 1)
|
if (maxDuplicateTilesetCount > 1)
|
||||||
{
|
{
|
||||||
if (imageNode.LastChildMatching("Defaults") == null)
|
var defaultsNode = imageNode.LastChildMatching("Defaults");
|
||||||
imageNode.Value.Nodes.Insert(0, new MiniYamlNode("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);
|
var nodes = MiniYaml.FromString(duplicateTilesetCount.First(kv => kv.Value == maxDuplicateTilesetCount).Key);
|
||||||
defaultTilesetFilenamesNode = new MiniYamlNode("TilesetFilenames", "", nodes);
|
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;
|
var maxDuplicateCount = duplicateCount.MaxByOrDefault(kv => kv.Value).Value;
|
||||||
if (maxDuplicateCount > 1)
|
if (maxDuplicateCount > 1)
|
||||||
{
|
{
|
||||||
if (imageNode.LastChildMatching("Defaults") == null)
|
var defaultsNode = imageNode.LastChildMatching("Defaults");
|
||||||
imageNode.Value.Nodes.Insert(0, new MiniYamlNode("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);
|
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