// September 2015 // Levee Patroller / Dijk Patrouille // This source file is (c) by Deltares. This source file is open source but only available to select users. Do not redistribute without written permission of Stichting Deltares, Delft, The Netherlands. // This header has been automatically generated. //============================================================================= // Object that makes sounds of sheep every now and then // ------------------------------------------------------------ // Created by Maarten Wesselius // © 2007, Geodelft // // Date Id Modification // 2007-10-11 Wsl Class created //============================================================================= class SheepSounds extends KeyPoint; var Sound SoundsArray[13]; var float timerInterval; var int timeSince; var int waitingTime; var (Sound) float AverageSecondsBetween; var (Sound) float MaxDeviation; function PlayRandomSheepSound() { PlaySound(SoundsArray[Rand(13)]); } //============================================================================= // A timer is needed to accommodate for random intervals between sheep sounds. // Using the function SetTimer() to start a timer that calls the Timer()-function // every 0.2 seconds. // // Date Id Modification // 2006-10-04 Wsl Created this header //============================================================================= event PostBeginPlay() { SetTimer(timerInterval, true); determineNextWaitingTime(); } //============================================================================= // Date Id Modification // 2007-10-04 Wsl Created this function // // This function is called every second by some Unreal magic. //============================================================================= function Timer() { timeSince++; if(timeSince > waitingTime) { PlayRandomSheepSound(); timeSince = 0; determineNextWaitingTime(); } } function determineNextWaitingTime() { local int dev, avg; dev = MaxDeviation * (1.0 / timerInterval); avg = AverageSecondsBetween * (1.0 / timerInterval); waitingTime = avg + Rand(2 * dev) - dev; } defaultproperties { bStatic=false TransientSoundRadius=80.0 TransientSoundVolume=3.0 AverageSecondsBetween=6.0 MaxDeviation=3.0 timerInterval=0.2 timeSince=0 waitingTime=20 SoundsArray(0)=Sound'GeoNatureSounds.sheep.sheep1' SoundsArray(1)=Sound'GeoNatureSounds.sheep.sheep2' SoundsArray(2)=Sound'GeoNatureSounds.sheep.sheep3' SoundsArray(3)=Sound'GeoNatureSounds.sheep.sheep4' SoundsArray(4)=Sound'GeoNatureSounds.sheep.sheep5' SoundsArray(5)=Sound'GeoNatureSounds.sheep.sheep6' SoundsArray(6)=Sound'GeoNatureSounds.sheep.sheep7' SoundsArray(7)=Sound'GeoNatureSounds.sheep.sheep8' SoundsArray(8)=Sound'GeoNatureSounds.sheep.sheep9' SoundsArray(9)=Sound'GeoNatureSounds.sheep.sheep10' SoundsArray(10)=Sound'GeoNatureSounds.sheep.sheep11' SoundsArray(11)=Sound'GeoNatureSounds.sheep.sheep12' SoundsArray(12)=Sound'GeoNatureSounds.sheep.sheep13' }