Pass ModData to upgrade methods

This commit is contained in:
reaperrr
2016-06-05 00:34:32 +02:00
parent 3aa529b2ba
commit b5a67444e7
3 changed files with 26 additions and 26 deletions

View File

@@ -25,9 +25,9 @@ namespace OpenRA.Mods.Common.UtilityCommands
return args.Length >= 3;
}
delegate void UpgradeAction(int engineVersion, ref List<MiniYamlNode> nodes, MiniYamlNode parent, int depth);
delegate void UpgradeAction(ModData modData, int engineVersion, ref List<MiniYamlNode> nodes, MiniYamlNode parent, int depth);
static void ProcessYaml(Map map, MiniYaml yaml, int engineDate, UpgradeAction processYaml)
static void ProcessYaml(ModData modData, Map map, MiniYaml yaml, int engineDate, UpgradeAction processYaml)
{
if (yaml == null)
return;
@@ -38,12 +38,12 @@ namespace OpenRA.Mods.Common.UtilityCommands
foreach (var filename in files)
{
var fileNodes = MiniYaml.FromStream(map.Package.GetStream(filename), filename);
processYaml(engineDate, ref fileNodes, null, 0);
processYaml(modData, engineDate, ref fileNodes, null, 0);
((IReadWritePackage)map.Package).Update(filename, Encoding.ASCII.GetBytes(fileNodes.WriteToString()));
}
}
processYaml(engineDate, ref yaml.Nodes, null, 1);
processYaml(modData, engineDate, ref yaml.Nodes, null, 1);
}
public static void UpgradeMap(ModData modData, IReadWritePackage package, int engineDate)
@@ -58,10 +58,10 @@ namespace OpenRA.Mods.Common.UtilityCommands
}
var map = new Map(modData, package);
ProcessYaml(map, map.WeaponDefinitions, engineDate, UpgradeRules.UpgradeWeaponRules);
ProcessYaml(map, map.RuleDefinitions, engineDate, UpgradeRules.UpgradeActorRules);
UpgradeRules.UpgradePlayers(engineDate, ref map.PlayerDefinitions, null, 0);
UpgradeRules.UpgradeActors(engineDate, ref map.ActorDefinitions, null, 0);
ProcessYaml(modData, map, map.WeaponDefinitions, engineDate, UpgradeRules.UpgradeWeaponRules);
ProcessYaml(modData, map, map.RuleDefinitions, engineDate, UpgradeRules.UpgradeActorRules);
UpgradeRules.UpgradePlayers(modData, engineDate, ref map.PlayerDefinitions, null, 0);
UpgradeRules.UpgradeActors(modData, engineDate, ref map.ActorDefinitions, null, 0);
map.Save(package);
}