DayZ 1.29
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ HandleEngineSound()

void Car::HandleEngineSound ( CarEngineSoundState state)
inlineprotected

postpone the engine sound played from c++ on soundcontroller (via OnSound override)

См. определение в файле CarScript.c строка 1790

1791 {
1794
1795 #ifndef SERVER
1796 PlayerBase player = null;
1797 EffectSound sound = null;
1798 WaveKind waveKind = WaveKind.WAVEEFFECTEX;
1799
1800 bool doInside = false;
1801
1803
1804 switch (state)
1805 {
1806 case CarEngineSoundState.STARTING:
1807 sound = new EffectSound();
1808 sound.SetSoundSet("Offroad_02_Starting_SoundSet");
1809 sound.SetSoundFadeOut(0.15);
1810
1811 m_PreStartSound = sound;
1812 break;
1813 case CarEngineSoundState.START_OK:
1814 doInside = true;
1815
1816 sound = new EffectSound();
1818 sound.SetAutodestroy(true);
1819
1821 g_Game.GetCallQueue(CALL_CATEGORY_GAMEPLAY).CallLater(SetEngineStarted, 1000, false, true);
1822 break;
1823
1824 case CarEngineSoundState.START_NO_FUEL:
1825 sound = new EffectSound();
1826 sound.SetSoundSet("offroad_engine_failed_start_fuel_SoundSet");
1827 sound.SetAutodestroy(true);
1828 break;
1829
1830 case CarEngineSoundState.START_NO_BATTERY:
1831 sound = new EffectSound();
1832 sound.SetSoundSet("offroad_engine_failed_start_battery_SoundSet");
1833 sound.SetAutodestroy(true);
1834 break;
1835
1836 case CarEngineSoundState.START_NO_SPARKPLUG:
1837 sound = new EffectSound();
1838 sound.SetSoundSet("offroad_engine_failed_start_sparkplugs_SoundSet");
1839 sound.SetAutodestroy(true);
1840 break;
1841
1842 case CarEngineSoundState.STOP_OK:
1843 doInside = true;
1844
1845 sound = new EffectSound();
1847 sound.SetAutodestroy(true);
1848 break;
1849 case CarEngineSoundState.STOP_NO_FUEL:
1850 doInside = true;
1851
1852 sound = new EffectSound();
1854 sound.SetAutodestroy(true);
1855 break;
1856
1857 default:
1858 break;
1859 }
1860
1861 // play different sound based on selected camera
1862 if (doInside && Class.CastTo(player, g_Game.GetPlayer()))
1863 {
1864 if (player.IsCameraInsideVehicle())
1865 {
1866 waveKind = WaveKind.WAVEEFFECT;
1867 }
1868 }
1869
1870 if (sound)
1871 {
1872 vector enginePos = GetEnginePos();
1873
1874 sound.SetParent(this);
1875 sound.SetPosition(ModelToWorld(enginePos));
1876 sound.SetLocalPosition(enginePos);
1877 sound.SetSoundWaveKind(waveKind);
1878 SEffectManager.EffectRegister(sound);
1879
1880 sound.SoundPlay();
1881 }
1882
1883 #endif
1884 }
DayZGame g_Game
Определения DayZGame.c:3942
WaveKind
Определения Sound.c:2
string m_EngineStartOK
Sounds.
Определения CarScript.c:243
int m_CarEngineLastSoundState
Определения CarScript.c:307
void SetEngineStarted(bool started)
Определения CarScript.c:2791
string m_EngineStopFuel
Определения CarScript.c:248
ref EffectSound m_PreStartSound
Определения CarScript.c:262
void SetCarEngineSoundState(CarEngineSoundState pState)
Определения CarScript.c:1784
string m_EngineStop
Определения CarScript.c:247
void SetSoundSet(string snd)
Set soundset for the sound.
Определения EffectSound.c:794
override void SetAutodestroy(bool auto_destroy)
Sets whether Effect automatically cleans up when it stops.
Определения EffectSound.c:603
void SetSoundWaveKind(WaveKind wave_kind)
Set WaveKind for the sound.
Определения EffectSound.c:784
void SetSoundFadeOut(float fade_out)
Set the sound fade out duration.
Определения EffectSound.c:904
override void SetParent(Object parent_obj, int pivot)
Set parent for the sound to follow.
Определения EffectSound.c:654
bool SoundPlay()
Plays sound.
Определения EffectSound.c:199
const int CALL_CATEGORY_GAMEPLAY
Определения 3_Game/DayZ/tools/tools.c:10

Перекрестные ссылки CALL_CATEGORY_GAMEPLAY, Class::CastTo(), SEffectManager::EffectRegister(), g_Game, m_CarEngineLastSoundState, m_EngineStartOK, m_EngineStop, m_EngineStopFuel, m_PreStartSound, EffectSound::SetAutodestroy(), SetCarEngineSoundState(), SetEngineStarted(), EffectSound::SetParent(), EffectSound::SetSoundFadeOut(), EffectSound::SetSoundSet(), EffectSound::SetSoundWaveKind() и EffectSound::SoundPlay().

Используется в OnEngineStart(), OnEngineStop(), OnIgnition() и OnVariablesSynchronized().