mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
Fix star system name
This commit is contained in:
parent
ba30f13076
commit
6aef5c76f6
@ -600,7 +600,7 @@ namespace NewHorizons
|
|||||||
|
|
||||||
|
|
||||||
#region Load
|
#region Load
|
||||||
public void LoadStarSystemConfig(StarSystemConfig starSystemConfig, string relativePath, IModBehaviour mod)
|
public void LoadStarSystemConfig(string starSystemName, StarSystemConfig starSystemConfig, string relativePath, IModBehaviour mod)
|
||||||
{
|
{
|
||||||
starSystemConfig.Migrate();
|
starSystemConfig.Migrate();
|
||||||
starSystemConfig.FixCoordinates();
|
starSystemConfig.FixCoordinates();
|
||||||
@ -608,22 +608,22 @@ namespace NewHorizons
|
|||||||
if (starSystemConfig.startHere)
|
if (starSystemConfig.startHere)
|
||||||
{
|
{
|
||||||
// We always want to allow mods to overwrite setting the main SolarSystem as default but not the other way around
|
// We always want to allow mods to overwrite setting the main SolarSystem as default but not the other way around
|
||||||
if (name != "SolarSystem")
|
if (starSystemName != "SolarSystem")
|
||||||
{
|
{
|
||||||
SetDefaultSystem(name);
|
SetDefaultSystem(starSystemName);
|
||||||
_currentStarSystem = name;
|
_currentStarSystem = starSystemName;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (SystemDict.ContainsKey(name))
|
if (SystemDict.ContainsKey(starSystemName))
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(SystemDict[name].Config.travelAudio) && SystemDict[name].Config.Skybox == null)
|
if (string.IsNullOrEmpty(SystemDict[starSystemName].Config.travelAudio) && SystemDict[starSystemName].Config.Skybox == null)
|
||||||
SystemDict[name].Mod = mod;
|
SystemDict[starSystemName].Mod = mod;
|
||||||
SystemDict[name].Config.Merge(starSystemConfig);
|
SystemDict[starSystemName].Config.Merge(starSystemConfig);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SystemDict[name] = new NewHorizonsSystem(name, starSystemConfig, relativePath, mod);
|
SystemDict[starSystemName] = new NewHorizonsSystem(starSystemName, starSystemConfig, relativePath, mod);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -654,13 +654,13 @@ namespace NewHorizons
|
|||||||
|
|
||||||
foreach (var file in systemFiles)
|
foreach (var file in systemFiles)
|
||||||
{
|
{
|
||||||
var name = Path.GetFileNameWithoutExtension(file);
|
var starSystemName = Path.GetFileNameWithoutExtension(file);
|
||||||
|
|
||||||
NHLogger.LogVerbose($"Loading system {name}");
|
NHLogger.LogVerbose($"Loading system {starSystemName}");
|
||||||
|
|
||||||
var relativePath = file.Replace(folder, "");
|
var relativePath = file.Replace(folder, "");
|
||||||
var starSystemConfig = mod.ModHelper.Storage.Load<StarSystemConfig>(relativePath, false);
|
var starSystemConfig = mod.ModHelper.Storage.Load<StarSystemConfig>(relativePath, false);
|
||||||
LoadStarSystemConfig(starSystemConfig, relativePath, mod);
|
LoadStarSystemConfig(starSystemName, starSystemConfig, relativePath, mod);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (Directory.Exists(planetsFolder))
|
if (Directory.Exists(planetsFolder))
|
||||||
|
|||||||
@ -69,24 +69,27 @@ namespace NewHorizons
|
|||||||
|
|
||||||
public void AddShipLogXML(IModBehaviour mod, XElement xml, string planetName, string imageFolder, Dictionary<string, Vector2> entryPositions, Dictionary<string, (Color colour, Color highlight)> curiousityColours)
|
public void AddShipLogXML(IModBehaviour mod, XElement xml, string planetName, string imageFolder, Dictionary<string, Vector2> entryPositions, Dictionary<string, (Color colour, Color highlight)> curiousityColours)
|
||||||
{
|
{
|
||||||
|
// This method has to be called each time the ship log manager is created, i.e. each time a system loads so it will only ever be relevant to the current one.
|
||||||
|
var starSystem = Main.Instance.CurrentStarSystem;
|
||||||
|
|
||||||
var body = new NewHorizonsBody(new PlanetConfig()
|
var body = new NewHorizonsBody(new PlanetConfig()
|
||||||
{
|
{
|
||||||
name = planetName,
|
name = planetName,
|
||||||
starSystem = Main.Instance.CurrentStarSystem,
|
starSystem = starSystem,
|
||||||
ShipLog = new ShipLogModule()
|
ShipLog = new ShipLogModule()
|
||||||
{
|
{
|
||||||
spriteFolder = imageFolder
|
spriteFolder = imageFolder
|
||||||
}
|
}
|
||||||
}, mod);
|
}, mod);
|
||||||
|
|
||||||
if (!Main.BodyDict.ContainsKey(Main.Instance.CurrentStarSystem))
|
if (!Main.BodyDict.ContainsKey(starSystem))
|
||||||
{
|
{
|
||||||
Main.BodyDict.Add(Main.Instance.CurrentStarSystem, new List<NewHorizonsBody>());
|
Main.BodyDict.Add(starSystem, new List<NewHorizonsBody>());
|
||||||
Main.BodyDict[Main.Instance.CurrentStarSystem].Add(body);
|
Main.BodyDict[starSystem].Add(body);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var existingBody = Main.BodyDict[Main.Instance.CurrentStarSystem]
|
var existingBody = Main.BodyDict[starSystem]
|
||||||
.FirstOrDefault(x => x.Config.name == planetName && x.Mod.ModHelper.Manifest.UniqueName == mod.ModHelper.Manifest.UniqueName);
|
.FirstOrDefault(x => x.Config.name == planetName && x.Mod.ModHelper.Manifest.UniqueName == mod.ModHelper.Manifest.UniqueName);
|
||||||
if (existingBody != null)
|
if (existingBody != null)
|
||||||
{
|
{
|
||||||
@ -94,7 +97,7 @@ namespace NewHorizons
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Main.BodyDict[Main.Instance.CurrentStarSystem].Add(body);
|
Main.BodyDict[starSystem].Add(body);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -108,7 +111,7 @@ namespace NewHorizons
|
|||||||
.ToArray()
|
.ToArray()
|
||||||
};
|
};
|
||||||
|
|
||||||
Main.Instance.LoadStarSystemConfig(system, null, mod);
|
Main.Instance.LoadStarSystemConfig(starSystem, system, null, mod);
|
||||||
|
|
||||||
RumorModeBuilder.AddShipLogXML(GameObject.FindObjectOfType<ShipLogManager>(), xml, body);
|
RumorModeBuilder.AddShipLogXML(GameObject.FindObjectOfType<ShipLogManager>(), xml, body);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user