mirror of
https://github.com/overte-org/overte.git
synced 2025-04-20 03:44:02 +02:00
Merge pull request #6125 from imgntn/toybox_ac
[Scripts] Add Toybox AC Scripts, cleanup their headers, organize
This commit is contained in:
commit
970d189262
2 changed files with 146 additions and 0 deletions
146
examples/toys/AC_scripts/toybox_sounds.js
Normal file
146
examples/toys/AC_scripts/toybox_sounds.js
Normal file
|
@ -0,0 +1,146 @@
|
|||
//
|
||||
// toys/AC_scripts/toybox_sounds.js
|
||||
//
|
||||
// This script adds several sounds to the correct locations for toybox.
|
||||
// By James B. Pollack @imgntn 10/21/2015
|
||||
//
|
||||
// Distributed under the Apache License, Version 2.0.
|
||||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
||||
//
|
||||
|
||||
var soundMap = [{
|
||||
name: 'river water',
|
||||
url: "http://hifi-public.s3.amazonaws.com/ryan/Water_Lap_River_Edge_Gentle.L.wav",
|
||||
audioOptions: {
|
||||
position: {
|
||||
x: 580,
|
||||
y: 493,
|
||||
z: 528
|
||||
},
|
||||
volume: 0.4,
|
||||
loop: true
|
||||
}
|
||||
}, {
|
||||
name: 'windmill',
|
||||
url: "http://hifi-public.s3.amazonaws.com/ryan/WINDMILL_Mono.wav",
|
||||
audioOptions: {
|
||||
position: {
|
||||
x: 530,
|
||||
y: 516,
|
||||
z: 518
|
||||
},
|
||||
volume: 0.08,
|
||||
loop: true
|
||||
}
|
||||
}, {
|
||||
name: 'insects',
|
||||
url: "http://hifi-public.s3.amazonaws.com/ryan/insects3.wav",
|
||||
audioOptions: {
|
||||
position: {
|
||||
x: 560,
|
||||
y: 495,
|
||||
z: 474
|
||||
},
|
||||
volume: 0.25,
|
||||
loop: true
|
||||
}
|
||||
}, {
|
||||
name: 'fireplace',
|
||||
url: "http://hifi-public.s3.amazonaws.com/ryan/demo/0619_Fireplace__Tree_B.L.wav",
|
||||
audioOptions: {
|
||||
position: {
|
||||
x: 551.61,
|
||||
y: 494.88,
|
||||
z: 502.00
|
||||
},
|
||||
volume: 0.25,
|
||||
loop: true
|
||||
}
|
||||
}, {
|
||||
name: 'cat purring',
|
||||
url: "http://hifi-public.s3.amazonaws.com/ryan/Cat_Purring_Deep_Low_Snor.wav",
|
||||
audioOptions: {
|
||||
position: {
|
||||
x: 551.48,
|
||||
y: 495.60,
|
||||
z: 502.08
|
||||
},
|
||||
volume: 0.25,
|
||||
loop: true
|
||||
}
|
||||
}, {
|
||||
name: 'dogs barking',
|
||||
url: "http://hifi-public.s3.amazonaws.com/ryan/dogs_barking_1.L.wav",
|
||||
audioOptions: {
|
||||
position: {
|
||||
x: 551.61,
|
||||
y: 494.88,
|
||||
z: 502.00
|
||||
},
|
||||
volume: 0.15,
|
||||
loop: false
|
||||
},
|
||||
playAtInterval: 60 * 1000
|
||||
}];
|
||||
|
||||
function loadSounds() {
|
||||
soundMap.forEach(function(soundData) {
|
||||
soundData.sound = SoundCache.getSound(soundData.url);
|
||||
});
|
||||
}
|
||||
|
||||
function playSound(soundData) {
|
||||
if (soundData.injector) {
|
||||
// try/catch in case the injector QObject has been deleted already
|
||||
try {
|
||||
soundData.injector.stop();
|
||||
} catch (e) {}
|
||||
}
|
||||
soundData.injector = Audio.playSound(soundData.sound, soundData.audioOptions);
|
||||
}
|
||||
|
||||
function checkDownloaded(soundData) {
|
||||
if (soundData.sound.downloaded) {
|
||||
|
||||
Script.clearInterval(soundData.downloadTimer);
|
||||
|
||||
if (soundData.hasOwnProperty('playAtInterval')) {
|
||||
soundData.playingInterval = Script.setInterval(function() {
|
||||
playSound(soundData)
|
||||
}, soundData.playAtInterval);
|
||||
} else {
|
||||
playSound(soundData);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function startCheckDownloadedTimers() {
|
||||
soundMap.forEach(function(soundData) {
|
||||
soundData.downloadTimer = Script.setInterval(function() {
|
||||
checkDownloaded(soundData);
|
||||
}, 1000);
|
||||
});
|
||||
}
|
||||
|
||||
Script.scriptEnding.connect(function() {
|
||||
soundMap.forEach(function(soundData) {
|
||||
|
||||
if (soundData.hasOwnProperty("injector")) {
|
||||
soundData.injector.stop();
|
||||
}
|
||||
|
||||
if (soundData.hasOwnProperty("downloadTimer")) {
|
||||
Script.clearInterval(soundData.downloadTimer);
|
||||
}
|
||||
|
||||
if (soundData.hasOwnProperty("playingInterval")) {
|
||||
Script.clearInterval(soundData.playingInterval);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
loadSounds();
|
||||
startCheckDownloadedTimers();
|
Loading…
Reference in a new issue