public void UserDidEnterMarkerTrigger(SoundMarkerTrigger.Type triggerType) { _audioSrc.priority = 8; // ----------------------------- switch (triggerType) { case SoundMarkerTrigger.Type.OnDemandLoad: UserDidEnterOnDemandLoadTrigger(); return; // case SoundMarkerTrigger.Type.OnDemandUnload: UserDidEnterOnDemandUnloadTrigger(); return; case SoundMarkerTrigger.Type.Playback: break; default: return; } // ----------------------------- // BELOW - the Playback trigger userIsInsideTriggerRange = true; timeUserHasHeardSound = 0; // Restart time hearing the sound if ((hotspot.playOnce && userHasHeardSound) || !hotspot.triggerPlayback) { return; } // if (!hotspot.triggerPlayback) { return; } if (markerDelegate == null) { PlayAudioFromBeginning(); // audioSrc.Play(); return; } if (markerDelegate.shouldSoundMarkerTriggerPlayback(this)) { PlayAudioFromBeginning(); // audioSrc.Play(); } }
public void UserDidExitMarkerTrigger(SoundMarkerTrigger.Type triggerType) { _audioSrc.priority = hotspot.hasInfiniteMaxDistance ? 0 : 8; // ----------------------------- switch (triggerType) { // case SoundMarkerTrigger.Type.OnDemandLoad: UserDidExitOnDemandLoadTrigger(); return; case SoundMarkerTrigger.Type.OnDemandUnload: UserDidExitOnDemandUnloadTrigger(); return; case SoundMarkerTrigger.Type.Playback: break; default: return; } // ----------------------------- // BELOW - the Playback trigger userIsInsideTriggerRange = false; // if (!hotspot.triggerPlayback && !userHasHeardSound) { return; } if (!(hotspot.triggerPlayback || (hotspot.playOnce && userHasHeardSound))) { return; } if (markerDelegate == null) { _audioSrc.Stop(); return; } if (markerDelegate.shouldSoundMarkerStopPlaybackAfterUserLeftTriggerRange(this)) { _audioSrc.Stop(); } }