new-horizons/NewHorizons/Utility/NewHorizonBody.cs
2022-09-30 22:30:13 -04:00

51 lines
1.4 KiB
C#

using NewHorizons.External.Configs;
using OWML.Common;
using System.Linq;
using UnityEngine;
namespace NewHorizons.Utility
{
public class NewHorizonsBody
{
public NewHorizonsBody(PlanetConfig config, IModBehaviour mod, string relativePath = null)
{
Config = config;
Mod = mod;
RelativePath = relativePath;
Migrate();
}
public PlanetConfig Config;
public IModBehaviour Mod;
public string RelativePath;
public GameObject Object;
#region Migration
private static readonly string[] _keepLoadedModsList = new string[]
{
"CreativeNameTxt.theirhomeworld",
"Roggsy.enterthewarioverse",
"Jammer.jammerlore",
"ErroneousCreationist.solarneighbourhood",
"ErroneousCreationist.incursionfinaldawn"
};
private void Migrate()
{
// Some old mods get really broken by this change in 1.6.1
if (_keepLoadedModsList.Contains(Mod.ModHelper.Manifest.UniqueName))
{
if (Config?.Props?.details != null)
{
foreach (var detail in Config.Props.details)
{
detail.keepLoaded = true;
}
}
}
}
#endregion Migration
}
}