Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/game/StarNetworkedAnimator.cpp
diff options
context:
space:
mode:
authorKae <80987908+Novaenia@users.noreply.github.com>2023-07-02 02:26:13 +1000
committerKae <80987908+Novaenia@users.noreply.github.com>2023-07-02 02:26:13 +1000
commit3c65474062486ae456f26e9a2532733b3ac03a7f (patch)
tree6c6b45cf3dea9af053930ea1dec12372ef80e4dd /source/game/StarNetworkedAnimator.cpp
parent2a610211a19bdd9554dd0f17f4754ed209eb717f (diff)
immediateSound and persistentSound now supports random sound pools
Diffstat (limited to 'source/game/StarNetworkedAnimator.cpp')
-rw-r--r--source/game/StarNetworkedAnimator.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/source/game/StarNetworkedAnimator.cpp b/source/game/StarNetworkedAnimator.cpp
index 065ca31..b679f63 100644
--- a/source/game/StarNetworkedAnimator.cpp
+++ b/source/game/StarNetworkedAnimator.cpp
@@ -726,7 +726,14 @@ void NetworkedAnimator::update(float dt, DynamicTarget* dynamicTarget) {
if (dynamicTarget) {
dynamicTarget->clearFinishedAudio();
- String persistentSoundFile = activeState.properties.value("persistentSound", "").toString();
+ Json jPersistentSound = activeState.properties.value("persistentSound", "");
+ String persistentSoundFile;
+
+ if (jPersistentSound.isType(Json::Type::String))
+ persistentSoundFile = jPersistentSound.toString();
+ else if (jPersistentSound.isType(Json::Type::Array))
+ persistentSoundFile = Random::randValueFrom(jPersistentSound.toArray(), "").toString();
+
if (!persistentSoundFile.empty())
persistentSoundFile = AssetPath::relativeTo(m_relativePath, persistentSoundFile);
@@ -748,7 +755,14 @@ void NetworkedAnimator::update(float dt, DynamicTarget* dynamicTarget) {
}
}
- String immediateSoundFile = activeState.properties.value("immediateSound", "").toString();
+ Json jImmediateSound = activeState.properties.value("immediateSound", "");
+ String immediateSoundFile = "";
+
+ if (jImmediateSound.isType(Json::Type::String))
+ immediateSoundFile = jImmediateSound.toString();
+ else if (jImmediateSound.isType(Json::Type::Array))
+ immediateSoundFile = Random::randValueFrom(jImmediateSound.toArray(), "").toString();
+
if (!immediateSoundFile.empty())
immediateSoundFile = AssetPath::relativeTo(m_relativePath, immediateSoundFile);