DayZ 1.28
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 строка 1660

1661 {
1664
1665 #ifndef SERVER
1666 PlayerBase player = null;
1667 EffectSound sound = null;
1668 WaveKind waveKind = WaveKind.WAVEEFFECTEX;
1669
1670 bool doInside = false;
1671
1673
1674 switch (state)
1675 {
1676 case CarEngineSoundState.STARTING:
1677 sound = new EffectSound();
1678 sound.SetSoundSet("Offroad_02_Starting_SoundSet");
1679 sound.SetSoundFadeOut(0.15);
1680
1681 m_PreStartSound = sound;
1682 break;
1683 case CarEngineSoundState.START_OK:
1684 doInside = true;
1685
1686 sound = new EffectSound();
1688 sound.SetAutodestroy(true);
1689
1692 break;
1693
1694 case CarEngineSoundState.START_NO_FUEL:
1695 sound = new EffectSound();
1696 sound.SetSoundSet("offroad_engine_failed_start_fuel_SoundSet");
1697 sound.SetAutodestroy(true);
1698 break;
1699
1700 case CarEngineSoundState.START_NO_BATTERY:
1701 sound = new EffectSound();
1702 sound.SetSoundSet("offroad_engine_failed_start_battery_SoundSet");
1703 sound.SetAutodestroy(true);
1704 break;
1705
1706 case CarEngineSoundState.START_NO_SPARKPLUG:
1707 sound = new EffectSound();
1708 sound.SetSoundSet("offroad_engine_failed_start_sparkplugs_SoundSet");
1709 sound.SetAutodestroy(true);
1710 break;
1711
1712 case CarEngineSoundState.STOP_OK:
1713 doInside = true;
1714
1715 sound = new EffectSound();
1717 sound.SetAutodestroy(true);
1718 break;
1719 case CarEngineSoundState.STOP_NO_FUEL:
1720 doInside = true;
1721
1722 sound = new EffectSound();
1724 sound.SetAutodestroy(true);
1725 break;
1726
1727 default:
1728 break;
1729 }
1730
1731 // play different sound based on selected camera
1732 if (doInside && Class.CastTo(player, GetGame().GetPlayer()))
1733 {
1734 if (player.IsCameraInsideVehicle())
1735 {
1736 waveKind = WaveKind.WAVEEFFECT;
1737 }
1738 }
1739
1740 if (sound)
1741 {
1742 vector enginePos = GetEnginePos();
1743
1744 sound.SetParent(this);
1745 sound.SetPosition(ModelToWorld(enginePos));
1746 sound.SetLocalPosition(enginePos);
1747 sound.SetSoundWaveKind(waveKind);
1748 SEffectManager.EffectRegister(sound);
1749
1750 sound.SoundPlay();
1751 }
1752
1753 #endif
1754 }
PlayerBase GetPlayer()
Определения ModifierBase.c:51
WaveKind
Определения Sound.c:2
override ScriptCallQueue GetCallQueue(int call_category)
Определения DayZGame.c:1187
string m_EngineStartOK
Sounds.
Определения CarScript.c:234
int m_CarEngineLastSoundState
Определения CarScript.c:300
void SetEngineStarted(bool started)
Определения CarScript.c:2648
string m_EngineStopFuel
Определения CarScript.c:239
ref EffectSound m_PreStartSound
Определения CarScript.c:253
void SetCarEngineSoundState(CarEngineSoundState pState)
Определения CarScript.c:1654
string m_EngineStop
Определения CarScript.c:238
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
proto void CallLater(func fn, int delay=0, bool repeat=false, void param1=NULL, void param2=NULL, void param3=NULL, void param4=NULL, void param5=NULL, void param6=NULL, void param7=NULL, void param8=NULL, void param9=NULL)
adds call into the queue with given parameters and arguments (arguments are held in memory until the ...
proto native CGame GetGame()
const int CALL_CATEGORY_GAMEPLAY
Определения 3_Game/tools/tools.c:10

Перекрестные ссылки CALL_CATEGORY_GAMEPLAY, ScriptCallQueue::CallLater(), Class::CastTo(), SEffectManager::EffectRegister(), CGame::GetCallQueue(), GetGame(), GetPlayer(), 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().