From 74bffd3e466c342ca80811146a536716fb6437cb Mon Sep 17 00:00:00 2001 From: Loek Le Blansch Date: Thu, 28 Nov 2024 18:19:51 +0100 Subject: remove large think --- src/crepe/system/AudioSystem.cpp | 36 +----------------------------------- 1 file changed, 1 insertion(+), 35 deletions(-) (limited to 'src/crepe/system/AudioSystem.cpp') diff --git a/src/crepe/system/AudioSystem.cpp b/src/crepe/system/AudioSystem.cpp index 6c30b85..f90132a 100644 --- a/src/crepe/system/AudioSystem.cpp +++ b/src/crepe/system/AudioSystem.cpp @@ -14,41 +14,7 @@ void AudioSystem::update() { AudioSource & component = component_ref.get(); if (!component.active) continue; - /** - * How this is supposed to work: - * - Get an instance of Sound for this resource/component combo (Sound - * instance is supposed to be unique per component, even if they use the - * same underlying asset). - * OR - * - Use the same instance of Sound if this is what the cache returns - * (= what the game programmer's wishes to do). - * - * NOT supposed to happen but still the case: - * - Below function call causes assets to be cached unintentionally - * - Cached assets are deleted at the end of a scene (i think?) - * - I'm not sure if the ResourceManager is even supposed to have a public - * `.clear()` method since the control over resource lifetime is - * explicitly handed over to the game programmer by using ResourceManager - * to cache/uncache. I believe the proper methods are supposed to be: - * - * - get() get a reference to resource (used here) - * - clear() clears NON-cached assets - * - cache() marks asset as "do not delete at end of scene" - * - uncache() undoes the above - * - * I think somewhere in the above function calls a unique identifier for - * the Asset/GameObject should be given to make sure the unique instance - * shit works as intended. The resource manager is also used for things - * other than sounds. - * - * Also need to check: - * - Is it an issue if there are multiple AudioSource components playing - * the same sample (= identical Asset), while they are all triggered - * using the same underlying instance of Sound (esp. w/ - * play/pause/retrigger behavior). - */ - // Sound & sound = this->resource_manager.get(component); - + Sound & sound = this->resource_manager.get(component.source); // TODO: lots of state diffing } } -- cgit v1.2.3