postpone the engine sound played from c++ on soundcontroller (via OnSound override)
1661 {
1664
1665 #ifndef SERVER
1666 PlayerBase player = null;
1667 EffectSound sound = null;
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");
1680
1682 break;
1683 case CarEngineSoundState.START_OK:
1684 doInside = true;
1685
1686 sound = new EffectSound();
1689
1692 break;
1693
1694 case CarEngineSoundState.START_NO_FUEL:
1695 sound = new EffectSound();
1696 sound.
SetSoundSet(
"offroad_engine_failed_start_fuel_SoundSet");
1698 break;
1699
1700 case CarEngineSoundState.START_NO_BATTERY:
1701 sound = new EffectSound();
1702 sound.
SetSoundSet(
"offroad_engine_failed_start_battery_SoundSet");
1704 break;
1705
1706 case CarEngineSoundState.START_NO_SPARKPLUG:
1707 sound = new EffectSound();
1708 sound.
SetSoundSet(
"offroad_engine_failed_start_sparkplugs_SoundSet");
1710 break;
1711
1712 case CarEngineSoundState.STOP_OK:
1713 doInside = true;
1714
1715 sound = new EffectSound();
1718 break;
1719 case CarEngineSoundState.STOP_NO_FUEL:
1720 doInside = true;
1721
1722 sound = new EffectSound();
1725 break;
1726
1727 default:
1728 break;
1729 }
1730
1731
1733 {
1734 if (player.IsCameraInsideVehicle())
1735 {
1737 }
1738 }
1739
1740 if (sound)
1741 {
1742 vector enginePos = GetEnginePos();
1743
1745 sound.SetPosition(ModelToWorld(enginePos));
1746 sound.SetLocalPosition(enginePos);
1748 SEffectManager.EffectRegister(sound);
1749
1751 }
1752
1753 #endif
1754 }
override ScriptCallQueue GetCallQueue(int call_category)
string m_EngineStartOK
Sounds.
int m_CarEngineLastSoundState
void SetEngineStarted(bool started)
ref EffectSound m_PreStartSound
void SetCarEngineSoundState(CarEngineSoundState pState)
void SetSoundSet(string snd)
Set soundset for the sound.
override void SetAutodestroy(bool auto_destroy)
Sets whether Effect automatically cleans up when it stops.
void SetSoundWaveKind(WaveKind wave_kind)
Set WaveKind for the sound.
void SetSoundFadeOut(float fade_out)
Set the sound fade out duration.
override void SetParent(Object parent_obj, int pivot)
Set parent for the sound to follow.
bool SoundPlay()
Plays sound.
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()