Rework mod enumeration / caching.

- Replaced ModMetadata.AllMods with Game.Mods.
- Store / reference mod Manifest instead of ModMetadata.
- Removes engine dependency on ModContent class.
This commit is contained in:
Paul Chote
2016-08-05 17:07:04 +01:00
parent 45a596953e
commit 3df9efb95d
33 changed files with 301 additions and 219 deletions

View File

@@ -38,14 +38,14 @@ namespace OpenRA.Network
{
FieldLoader.Load(this, yaml);
ModMetadata mod;
Manifest mod;
var modVersion = Mods.Split('@');
if (modVersion.Length == 2 && ModMetadata.AllMods.TryGetValue(modVersion[0], out mod))
if (modVersion.Length == 2 && Game.Mods.TryGetValue(modVersion[0], out mod))
{
ModId = modVersion[0];
ModVersion = modVersion[1];
ModLabel = "{0} ({1})".F(mod.Title, modVersion[1]);
IsCompatible = Game.Settings.Debug.IgnoreVersionMismatch || ModVersion == mod.Version;
ModLabel = "{0} ({1})".F(mod.Mod.Title, modVersion[1]);
IsCompatible = Game.Settings.Debug.IgnoreVersionMismatch || ModVersion == mod.Mod.Version;
}
else
ModLabel = "Unknown mod: {0}".F(Mods);