Move cache clear to scene unloaded event

This commit is contained in:
Nick 2022-05-01 13:33:25 -04:00
parent bb586d4d2c
commit c03e3d7dbc
4 changed files with 14 additions and 6 deletions

View File

@ -84,6 +84,8 @@ namespace NewHorizons
OnStarSystemLoaded = new StarSystemEvent();
SceneManager.sceneLoaded += OnSceneLoaded;
SceneManager.sceneUnloaded += OnSceneUnloaded;
Instance = this;
GlobalMessenger<DeathType>.AddListener("PlayerDeath", OnDeath);
GlobalMessenger.AddListener("WakeUp", new Callback(OnWakeUp));
@ -114,8 +116,6 @@ namespace NewHorizons
Instance.ModHelper.Menus.PauseMenu.OnInit += DebugReload.InitializePauseMenu;
}
public void OnDestroy()
{
Logger.Log($"Destroying NewHorizons");
@ -130,13 +130,16 @@ namespace NewHorizons
Instance.OnStarSystemLoaded?.Invoke(Instance.CurrentStarSystem);
}
void OnSceneLoaded(Scene scene, LoadSceneMode mode)
private void OnSceneUnloaded(Scene scene)
{
Logger.Log($"Scene Loaded: {scene.name} {mode}");
SearchUtilities.ClearCache();
ImageUtilities.ClearCache();
AudioUtilities.ClearCache();
}
private void OnSceneLoaded(Scene scene, LoadSceneMode mode)
{
Logger.Log($"Scene Loaded: {scene.name} {mode}");
_isChangingStarSystem = false;

View File

@ -29,6 +29,8 @@ namespace NewHorizons.Utility
public static void ClearCache()
{
Logger.Log("Clearing audio cache");
foreach (var audioClip in _loadedAudioClips.Values)
{
if (audioClip == null) continue;

View File

@ -31,6 +31,8 @@ namespace NewHorizons.Utility
public static void ClearCache()
{
Logger.Log("Cleaing image cache");
foreach (var texture in _loadedTextures.Values)
{
if (texture == null) continue;

View File

@ -14,6 +14,7 @@ namespace NewHorizons.Utility
public static void ClearCache()
{
Logger.Log("Clearing search cache");
CachedGameObjects.Clear();
}