diff options
author | Loek Le Blansch <loek@pipeframe.xyz> | 2024-11-28 18:19:51 +0100 |
---|---|---|
committer | Loek Le Blansch <loek@pipeframe.xyz> | 2024-11-28 18:19:51 +0100 |
commit | 74bffd3e466c342ca80811146a536716fb6437cb (patch) | |
tree | d3cd26765e14ae79b38d020cb9508b08a9fb16d2 /src/crepe/system | |
parent | 0e45d4835f65ff9127a16adcbe9a9f0a20370cfc (diff) |
remove large think
Diffstat (limited to 'src/crepe/system')
-rw-r--r-- | src/crepe/system/AudioSystem.cpp | 36 |
1 files changed, 1 insertions, 35 deletions
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<Sound>(component); - + Sound & sound = this->resource_manager.get<Sound>(component.source); // TODO: lots of state diffing } } |