aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/system
diff options
context:
space:
mode:
authorLoek Le Blansch <loek@pipeframe.xyz>2024-11-28 18:19:51 +0100
committerLoek Le Blansch <loek@pipeframe.xyz>2024-11-28 18:19:51 +0100
commit74bffd3e466c342ca80811146a536716fb6437cb (patch)
treed3cd26765e14ae79b38d020cb9508b08a9fb16d2 /src/crepe/system
parent0e45d4835f65ff9127a16adcbe9a9f0a20370cfc (diff)
remove large think
Diffstat (limited to 'src/crepe/system')
-rw-r--r--src/crepe/system/AudioSystem.cpp36
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
}
}