示例#1
0
        private void TriggerWithReference()
        {
            switch (triggeringAction)
            {
            case TriggeringAction.StartSound:
            {
                if (followTransform != null)
                {
                    audioObject.TriggerDirectly(TriggeringAction.StartSound, followTransform);
                }
                else
                {
                    audioObject.TriggerDirectly(TriggeringAction.StartSound);
                }
            }
            break;

            case TriggeringAction.StopSound:
                audioObject.TriggerDirectly(TriggeringAction.StopSound);
                break;

            case TriggeringAction.StopPersistentSound:
                audioObject.TriggerDirectly(TriggeringAction.StopPersistentSound);
                break;

            case TriggeringAction.StopAllPersistentSounds:
                AudioObjectMessenger.StopAllPersistentAudioObjects();
                break;
            }
        }
示例#2
0
        private void TriggerWithEvent()
        {
            switch (triggeringAction)
            {
            case TriggeringAction.StartSound:
            {
                if (followTransform != null)
                {
                    AudioObjectMessenger.StartAudioObjects(audioObjectTag, followTransform);
                }
                else
                {
                    AudioObjectMessenger.StartAudioObjects(audioObjectTag);
                }
            }
            break;

            case TriggeringAction.StopSound:
                AudioObjectMessenger.StopAudioObjects(audioObjectTag);
                break;

            case TriggeringAction.StopPersistentSound:
                AudioObjectMessenger.StopPersistentAudioObjects(audioObjectTag);
                break;

            case TriggeringAction.StopAllPersistentSounds:
                AudioObjectMessenger.StopAllPersistentAudioObjects();
                break;
            }
        }
示例#3
0
 // Use this method name when assigning animation events to keyframes
 // and pass an Audio Object Tag as an argument to target the desired Audio Objects.
 public void OnAnimationEvent(Object audioObjectTag)
 {
     if (audioObjectTag is AudioObjectTag)
     {
         if (followTransformOverride != null)
         {
             AudioObjectMessenger.StartAudioObjects((AudioObjectTag)audioObjectTag, followTransformOverride);
         }
         else
         {
             AudioObjectMessenger.StartAudioObjects((AudioObjectTag)audioObjectTag);
         }
     }
 }
示例#4
0
        private void SendEventToAudioObjectControllers(Transform overrideTransform = null)
        {
            switch (triggerAction)
            {
            case TriggeringAction.StartSound:
            {
                if (audioObjectTag != null)
                {
                    if (overrideTransform != null)
                    {
                        AudioObjectMessenger.StartAudioObjects(audioObjectTag, overrideTransform);
                    }
                    else
                    {
                        AudioObjectMessenger.StartAudioObjects(audioObjectTag);
                    }
                }
            }
            break;

            case TriggeringAction.StopSound:
            {
                if (audioObjectTag != null)
                {
                    AudioObjectMessenger.StopAudioObjects(audioObjectTag);
                }
            }
            break;

            case TriggeringAction.StopPersistentSound:
            {
                if (audioObjectTag != null)
                {
                    AudioObjectMessenger.StopPersistentAudioObjects(audioObjectTag);
                }
            }
            break;

            case TriggeringAction.StopAllPersistentSounds:
                AudioObjectMessenger.StopAllPersistentAudioObjects();
                break;
            }
        }
        public override void OnBehaviourPlay(Playable playable, FrameData info)
        {
            switch (triggeringAction)
            {
            case TriggeringAction.StartSound:
            {
                if (audioObjectTag != null && followTransform != null)
                {
                    AudioObjectMessenger.StartAudioObjects(audioObjectTag, followTransform);
                }
                else if (audioObjectTag != null)
                {
                    AudioObjectMessenger.StartAudioObjects(audioObjectTag);
                }
            }
            break;

            case TriggeringAction.StopSound:
            {
                if (audioObjectTag != null)
                {
                    AudioObjectMessenger.StopAudioObjects(audioObjectTag);
                }
            }
            break;

            case TriggeringAction.StopPersistentSound:
            {
                if (audioObjectTag != null)
                {
                    AudioObjectMessenger.StopPersistentAudioObjects(audioObjectTag);
                }
            }
            break;

            case TriggeringAction.StopAllPersistentSounds:
                AudioObjectMessenger.StopAllPersistentAudioObjects();
                break;
            }
        }