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

View File

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

View File

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

View File

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