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

◆ HandleEngineSound()

void HandleEngineSound ( CarEngineSoundState state)
protected

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

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

1565 {
1566 #ifndef SERVER
1567 PlayerBase player = null;
1568 EffectSound sound = null;
1569 WaveKind waveKind = WaveKind.WAVEEFFECT;
1570
1572
1573 switch (state)
1574 {
1575 case CarEngineSoundState.STARTING:
1576 m_PreStartSound = SEffectManager.PlaySound("Offroad_02_Starting_SoundSet", ModelToWorld(GetEnginePos()));
1577 m_PreStartSound.SetSoundFadeOut(0.15);
1578 break;
1579 case CarEngineSoundState.START_OK:
1580 // play different sound based on selected camera
1581 if (Class.CastTo(player, CrewMember(0)))
1582 {
1583 if (!player.IsCameraInsideVehicle())
1584 {
1585 waveKind = WaveKind.WAVEEFFECTEX;
1586 }
1587
1588 sound = SEffectManager.CreateSound(m_EngineStartOK, ModelToWorld(GetEnginePos()));
1589 if (sound)
1590 {
1591 sound.SetSoundWaveKind(waveKind);
1592 sound.SoundPlay();
1593 sound.SetAutodestroy(true);
1594 }
1595 }
1596
1599 break;
1600
1601 case CarEngineSoundState.START_NO_FUEL:
1602 sound = SEffectManager.PlaySound("offroad_engine_failed_start_fuel_SoundSet", ModelToWorld(GetEnginePos()));
1603 sound.SetAutodestroy(true);
1604 break;
1605
1606 case CarEngineSoundState.START_NO_BATTERY:
1607 sound = SEffectManager.PlaySound("offroad_engine_failed_start_battery_SoundSet", ModelToWorld(GetEnginePos()));
1608 sound.SetAutodestroy(true);
1609 break;
1610
1611 case CarEngineSoundState.START_NO_SPARKPLUG:
1612 sound = SEffectManager.PlaySound("offroad_engine_failed_start_sparkplugs_SoundSet", ModelToWorld(GetEnginePos()));
1613 sound.SetAutodestroy(true);
1614 break;
1615
1616 case CarEngineSoundState.STOP_OK:
1617 case CarEngineSoundState.STOP_NO_FUEL:
1618 // play different sound based on selected camera
1619 if (Class.CastTo(player, CrewMember(0)))
1620 {
1621 if (!player.IsCameraInsideVehicle())
1622 {
1623 waveKind = WaveKind.WAVEEFFECTEX;
1624 }
1625
1626 sound = SEffectManager.CreateSound(m_EngineStopFuel, ModelToWorld(GetEnginePos()));
1627 if (sound)
1628 {
1629 sound.SetSoundWaveKind(waveKind);
1630 sound.SoundPlay();
1631 sound.SetAutodestroy(true);
1632 }
1633 }
1634
1635 SetEngineStarted(false);
1636 break;
1637
1638 default:
1639 break;
1640 }
1641 #endif
1642 }
void SetEngineStarted(bool started)
Определения CarScript.c:2503
string m_EngineStartOK
Sounds.
Определения CarScript.c:207
int m_CarEngineLastSoundState
Определения CarScript.c:245
ref EffectSound m_PreStartSound
Определения CarScript.c:225
string m_EngineStopFuel
Определения CarScript.c:211
WaveKind
Определения Sound.c:2
override ScriptCallQueue GetCallQueue(int call_category)
Определения DayZGame.c:1187
Super root of all classes in Enforce script.
Определения EnScript.c:11
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:771
bool SoundPlay()
Plays sound.
Определения EffectSound.c:199
Wrapper class for managing sound through SEffectManager.
Определения EffectSound.c:5
Определения PlayerBaseClient.c:2
static EffectSound PlaySound(string sound_set, vector position, float play_fade_in=0, float stop_fade_out=0, bool loop=false)
Create and play an EffectSound.
Определения EffectManager.c:169
static EffectSound CreateSound(string sound_set, vector position, float play_fade_in=0, float stop_fade_out=0, bool loop=false, bool enviroment=false)
Create an EffectSound.
Определения EffectManager.c:144
Manager class for managing Effect (EffectParticle, EffectSound)
Определения EffectManager.c:6
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()
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
const int CALL_CATEGORY_GAMEPLAY
Определения tools.c:10

Перекрестные ссылки CALL_CATEGORY_GAMEPLAY, ScriptCallQueue::CallLater(), Class::CastTo(), SEffectManager::CreateSound(), CGame::GetCallQueue(), GetGame(), m_CarEngineLastSoundState, m_EngineStartOK, m_EngineStopFuel, m_PreStartSound, SEffectManager::PlaySound(), EffectSound::SetAutodestroy(), SetEngineStarted(), EffectSound::SetSoundWaveKind() и EffectSound::SoundPlay().

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