Exemple #1
0
        public void Play(AudioDataObject _audio)
        {
            if (m_AudioSource == null)
            {
                return;
            }

            if (_audio.Enabled && _audio.GetClip() != null)
            {
                m_AudioSource.clip = _audio.Selected;

                m_AudioSource.volume       = _audio.Volume;
                m_AudioSource.pitch        = Random.Range(_audio.MinPitch, _audio.MaxPitch) * Time.timeScale;
                m_AudioSource.minDistance  = _audio.MinDistance;
                m_AudioSource.maxDistance  = _audio.MaxDistance;
                m_AudioSource.spatialBlend = 1.0f;
                m_AudioSource.rolloffMode  = _audio.RolloffMode;
                m_AudioSource.loop         = _audio.Loop;
                m_AudioSource.Play();
            }
            else
            {
                m_AudioSource.Stop();
            }
        }
                // INTERACTOR END


                public static void SaveAudioContainerToFile(AudioDataObject _audio, string owner)
                {
                    path = UnityEditor.EditorUtility.SaveFilePanelInProject("Save Audio Data As", owner.ToLower() + ".audio", "audio", "");

                    if (path.Length == 0)
                    {
                        return;
                    }

                    XmlSerializer serializer = new XmlSerializer(typeof(AudioDataObject));
                    FileStream    stream     = new FileStream(path, FileMode.Create);

                    serializer.Serialize(stream, _audio);
                    stream.Close();
                }
        public BehaviourModeRuleObject(BehaviourModeRuleObject _rule)
        {
            Animation = _rule.Animation;

            Audio           = new AudioDataObject(_rule.Audio);
            Effect          = _rule.Effect;
            Foldout         = _rule.Foldout;
            Influences      = _rule.Influences;
            Key             = _rule.Key;
            LengthMax       = _rule.LengthMax;
            LengthMin       = _rule.LengthMin;
            UseCustomLength = _rule.UseCustomLength;
            Links           = _rule.Links;
            Move            = _rule.Move;
            UseFootsteps    = _rule.UseFootsteps;
        }
Exemple #4
0
        public AudioDataObject(AudioDataObject _audio)
        {
            Enabled     = _audio.Enabled;
            Loop        = _audio.Loop;
            MaxDistance = _audio.MaxDistance;
            MinDistance = _audio.MinDistance;
            MaxPitch    = _audio.MaxPitch;
            MinPitch    = _audio.MinPitch;
            RolloffMode = _audio.RolloffMode;
            Volume      = _audio.Volume;

            m_Clips = new List <AudioClip>();
            foreach (AudioClip _clip in _audio.Clips)
            {
                m_Clips.Add(_clip);
            }
        }
                public static AudioDataObject LoadAudioContainernFromFile(AudioDataObject _audio)
                {
                    path = UnityEditor.EditorUtility.OpenFilePanel("Open Audio Data", Application.dataPath, "audio");

                    if (path.Length == 0)
                    {
                        return(_audio);
                    }

                    XmlSerializer serializer = new XmlSerializer(typeof(AudioDataObject));
                    FileStream    stream     = new FileStream(path, FileMode.Open);

                    _audio = serializer.Deserialize(stream) as AudioDataObject;
                    stream.Close();

                    return(_audio);
                }
 public SurfaceDataObject()
 {
     Audio = new AudioDataObject();
 }
 public BehaviourModeRuleObject()
 {
     Audio = new AudioDataObject();
 }