diff --git a/NewHorizons/Handlers/StreamingHandler.cs b/NewHorizons/Handlers/StreamingHandler.cs index fd2a8858..bb4daa56 100644 --- a/NewHorizons/Handlers/StreamingHandler.cs +++ b/NewHorizons/Handlers/StreamingHandler.cs @@ -82,8 +82,10 @@ namespace NewHorizons.Handlers { sector.OnOccupantEnterSector += _ => { - foreach (var assetBundle in assetBundles) - StreamingManager.LoadStreamingAssets(assetBundle); + // If both are already in then it already loaded + if (sector.ContainsOccupant(DynamicOccupant.Player) && sector.ContainsOccupant(DynamicOccupant.Probe)) return; + + foreach (var assetBundle in assetBundles) StreamingManager.LoadStreamingAssets(assetBundle); }; /* sector.OnOccupantExitSector += _ => diff --git a/NewHorizons/Schemas/body_schema.json b/NewHorizons/Schemas/body_schema.json index 51b5bc9c..fece6448 100644 --- a/NewHorizons/Schemas/body_schema.json +++ b/NewHorizons/Schemas/body_schema.json @@ -1016,6 +1016,10 @@ "parentPath": { "type": "string", "description": "The path (not including the root planet object) of the parent of this game object. Optional (will default to the root sector)." + }, + "keepLoaded": { + "type": "boolean", + "description": "Should this detail stay loaded even if you're outside the sector (good for very large props)" } } },