void UpdateHotspotVisibility() { bool bEngineFmodSoundValid = HasEngineInstance() && EngineFmodSound.IsValid(); if (_hotSpotVolume != null) { _hotSpotVolume.Visible = bEngineFmodSoundValid; } if (_hotSpotFadeMin != null) { _hotSpotFadeMin.Visible = Is3D && bEngineFmodSoundValid; } if (_hotSpotFadeMax != null) { _hotSpotFadeMax.Visible = Is3D && bEngineFmodSoundValid; } if (_hotSpotOuterCone != null) { _hotSpotOuterCone.Visible = Is3D && Directional && bEngineFmodSoundValid; } if (_hotSpotInnerCone != null) { _hotSpotInnerCone.Visible = Is3D && Directional && bEngineFmodSoundValid; } if (_hotSpotPlaySound != null) { _hotSpotPlaySound.Visible = bEngineFmodSoundValid; } }
void UpdatePlayIcon() { if (!HasEngineInstance() || _hotSpotPlaySound == null) { return; } _hotSpotPlaySound.ShowStopIcon = EngineFmodSound.IsPlaying(); }
/// <summary> /// Play the sound in the editor (e.g. hotspot button pressed) /// </summary> public void TogglePlaySound() { if (!HasEngineInstance()) { return; } if (EngineFmodSound.IsPlaying()) { EngineFmodSound.Stop(); } else { // Force the sound to play, even if we are not in play mode EngineFmodSound.Play(true); } UpdatePlayIcon(); }
public override void OnTransformationChanged() { base.OnTransformationChanged(); // scaling might have changed: if (HasEngineInstance()) { EngineFmodSound.Set3DFadeDistance(_fFadeMin * UniformScaling, _fFadeMax * UniformScaling); } if (_hotSpotFadeMin != null) { _hotSpotFadeMin.DisplayScaling = UniformScaling; } if (_hotSpotFadeMax != null) { _hotSpotFadeMax.DisplayScaling = UniformScaling; } }