Use new update util extensions to simplify some update rules

This commit is contained in:
reaperrr
2018-05-21 04:55:46 +02:00
committed by abcdefg30
parent f6278a1f41
commit 3a60dcd4a1
3 changed files with 7 additions and 26 deletions

View File

@@ -30,13 +30,7 @@ namespace OpenRA.Mods.Common.UpdateRules.Rules
public override IEnumerable<string> UpdateActorNode(ModData modData, MiniYamlNode actorNode)
{
foreach (var sod in actorNode.ChildrenMatching("ShakeOnDeath"))
{
var intensity = sod.LastChildMatching("Intensity");
if (intensity == null)
continue;
intensity.RenameKey("Duration");
}
sod.RenameChildrenMatching("Intensity", "Duration");
yield break;
}

View File

@@ -92,9 +92,8 @@ namespace OpenRA.Mods.Common.UpdateRules.Rules
if (tunnelConditionNode != null)
{
var grantNode = new MiniYamlNode("GrantConditionOnTunnelLayer", "");
grantNode.AddNode("Condition", tunnelConditionNode.Value.Value);
tunnelConditionNode.MoveAndRenameNode(mobileNode, grantNode, "Condition");
addNodes.Add(grantNode);
mobileNode.RemoveNodes("TunnelCondition");
}
var subterraneanNode = mobileNode.LastChildMatching("Subterranean");
@@ -125,13 +124,8 @@ namespace OpenRA.Mods.Common.UpdateRules.Rules
{
var grantNode = new MiniYamlNode("GrantConditionOnSubterraneanLayer", "");
foreach (var node in nodes)
{
if (node != null)
{
grantNode.AddNode(node);
mobileNode.RemoveNode(node);
}
}
node.MoveNode(mobileNode, grantNode);
addNodes.Add(grantNode);
}
@@ -147,8 +141,7 @@ namespace OpenRA.Mods.Common.UpdateRules.Rules
if (conditionNode != null)
{
var grantNode = new MiniYamlNode("GrantConditionOnJumpjetLayer", "");
grantNode.AddNode("Condition", conditionNode.Value.Value);
mobileNode.RemoveNodes("JumpjetCondition");
conditionNode.MoveAndRenameNode(mobileNode, grantNode, "Condition");
addNodes.Add(grantNode);
}
}

View File

@@ -90,9 +90,7 @@ namespace OpenRA.Mods.Common.UpdateRules.Rules
else if (attackSequence != null && aimSequence != null)
{
var turretAim = new MiniYamlNode("WithTurretAimAnimation", "");
aimSequence.RenameKey("Sequence");
turretAim.AddNode(aimSequence);
turretAttack.RemoveNode(aimSequence);
aimSequence.MoveAndRenameNode(turretAttack, turretAim, "Sequence");
var turret = turretAttack.LastChildMatching("Turret");
var armament = turretAttack.LastChildMatching("Armament");
@@ -118,9 +116,7 @@ namespace OpenRA.Mods.Common.UpdateRules.Rules
aimAnimLocations.Add(Tuple.Create(actorNode.Key, actorNode.Location.Filename));
var aimAnim = new MiniYamlNode("WithTurretAimAnimation", "");
aimSequence.RenameKey("Sequence");
aimAnim.AddNode(aimSequence);
spriteTurret.RemoveNode(aimSequence);
aimSequence.MoveAndRenameNode(spriteTurret, aimAnim, "Sequence");
actorNode.AddNode(aimAnim);
}
}
@@ -160,9 +156,7 @@ namespace OpenRA.Mods.Common.UpdateRules.Rules
else if (attackSequence != null && aimSequence != null)
{
var aimAnim = new MiniYamlNode("WithAimAnimation", "");
aimSequence.RenameKey("Sequence");
aimAnim.AddNode(aimSequence);
attackAnim.RemoveNode(aimSequence);
aimSequence.MoveAndRenameNode(attackAnim, aimAnim, "Sequence");
var body = attackAnim.LastChildMatching("Body");
var armament = attackAnim.LastChildMatching("Armament");