Exemplo n.º 1
0
        private void ActionStopAudio(List <AudioProperties> audioPropertiesList, GameObject targetObject)
        {
            if (audioPropertiesList.Count < 1)
            {
                return;
            }
            AudioProperties audioProperties = audioPropertiesList[0];

            if (audioProperties.name.Trim() != "")
            {
                if (!Application.isPlaying)
                {
                    return;
                }
                var modelAudioSetup = targetObject.GetComponent <ModelAudioSetup>();
                if (modelAudioSetup != null)
                {
                    modelAudioSetup.JukeboxEnabled  = false;
                    modelAudioSetup.audioProperties = null;
                }
                var audioSource = targetObject.GetComponent <UnityEngine.AudioSource>();
                if (audioSource != null)
                {
                    audioSource.Stop();
                }
            }
        }
Exemplo n.º 2
0
        public override bool Equals(object obj)
        {
            AudioProperties other = obj as AudioProperties;

            if (other == null)
            {
                return(false);
            }
            if (name != other.name)
            {
                return(false);
            }
            return(true);
        }
Exemplo n.º 3
0
        private void ActionPlayAudio(List <AudioProperties> audioPropertiesList, GameObject targetObject)
        {
            if (audioPropertiesList.Count < 1)
            {
                return;
            }
            AudioProperties audioProperties = audioPropertiesList[0];

            if (audioProperties.name.Trim() != "")
            {
                if (!Application.isPlaying)
                {
                    return;
                }
                var modelAudioSetup = targetObject.GetComponent <ModelAudioSetup>();
                if (modelAudioSetup == null)
                {
                    modelAudioSetup = targetObject.AddComponent <ModelAudioSetup>();
                }
                modelAudioSetup.Setup(audioProperties);
            }
        }
Exemplo n.º 4
0
        public void Setup(AudioProperties audioProperties)
        {
            if (audioProperties == null || !Application.isPlaying)
            {
                return;
            }

            // Resume if not null
            if (this.audioProperties != null)
            {
                if (audioProperties.Equals(this.audioProperties))
                {
                    //print("equals");
                    audioSource.Play();
                    JukeboxEnabled = true;
                }
            }
            else
            {
                //print("setupaudio");
                clips = new List <string>();
                this.audioProperties = audioProperties;
                audioSource          = gameObject.GetComponent <UnityEngine.AudioSource>();
                if (audioSource == null)
                {
                    audioSource = gameObject.AddComponent <UnityEngine.AudioSource>();
                }
                audioSource.priority     = audioProperties.priority;
                audioSource.volume       = audioProperties.volume;
                audioSource.playOnAwake  = audioProperties.playOnAwake;
                audioSource.spatialBlend = audioProperties.spatialBlend;
                audioSource.spatialize   = audioProperties.spatialize;
                audioSource.minDistance  = audioProperties.minDistance;
                audioSource.maxDistance  = audioProperties.maxDistance;
                audioSource.loop         = audioProperties.loop;

                foreach (AudioFile audioFile in audioProperties.audioFiles)
                {
                    var file = FileManager.FileExists(ArcadeManager.applicationPath + FileManager.CorrectFilePath(audioFile.path.Trim()), audioFile.file.Trim());
                    if (file != null)
                    {
                        clips.Add("file://" + file);
                    }
                    else
                    {
                        var files = FileManager.GetAudioPathsFromFolder(ArcadeManager.applicationPath + FileManager.CorrectFilePath(audioFile.path.Trim()));
                        //print(files[0]);
                        foreach (string i in files)
                        {
                            clips.Add("file://" + i);
                        }
                    }
                    if (clips.Count > 0)
                    {
                        if (clips.Count == 1)
                        {
                            audioSource.loop = audioProperties.loop;
                        }
                        else
                        {
                            audioSource.loop = false;
                        }
                        loop = audioProperties.loop;
                        if (audioProperties.Randomize)
                        {
                            clips.Shuffle();
                        }
                        clipIndex      = -1;
                        JukeboxEnabled = true;
                    }
                }
            }
        }