/// <summary>
        /// Saves the audio container to file.
        /// </summary>
        /// <param name="_object">Object.</param>
        /// <param name="owner">Owner.</param>
        public static void SaveAudioContainerToFile(AudioDataObject _object, string owner)
        {
            m_Path = Save(owner, "audio");
            if (m_Path.Length == 0)
            {
                return;
            }

            SaveObjectToFile <AudioDataObject>(_object);
        }
        /// <summary>
        /// Loads the audio containern from file.
        /// </summary>
        /// <returns>The audio containern from file.</returns>
        /// <param name="_object">Object.</param>
        public static AudioDataObject LoadAudioContainernFromFile(AudioDataObject _object)
        {
            m_Path = Load("audio");
            if (m_Path.Length == 0)
            {
                return(_object);
            }

            return(LoadObjectFromFile <AudioDataObject>(_object));
        }
示例#3
0
        public static AudioDataObject DrawSharedAudio(AudioDataObject _audio, string _help)
        {
            ICEEditorLayout.BeginHorizontal();

            _audio.Enabled = ICEEditorLayout.ToggleLeft("Audio", "", _audio.Enabled, true);



            /*
             * if( _audio.Enabled )
             * {
             *      if (GUILayout.Button("SAVE", ICEEditorStyle.ButtonMiddle ))
             *              CreatureIO.SaveAudioContainerToFile( _audio, m_creature_control.gameObject.name );
             *
             *      if (GUILayout.Button("LOAD", ICEEditorStyle.ButtonMiddle ))
             *              _audio = CreatureIO.LoadAudioContainernFromFile( _audio );
             * }*/
            ICEEditorLayout.EndHorizontal(Info.BEHAVIOUR_AUDIO);

            if (_audio.Enabled)
            {
                EditorGUI.indentLevel++;

                EditorGUILayout.Separator();

                for (int i = 0; i < _audio.Clips.Count; i++)
                {
                    ICEEditorLayout.BeginHorizontal();

                    _audio.Clips[i] = (AudioClip)EditorGUILayout.ObjectField("Audio Clip #" + (int)(i + 1), _audio.Clips[i], typeof(AudioClip), false);

                    if (GUILayout.Button("x", ICEEditorStyle.CMDButton))
                    {
                        _audio.DeleteClip(i);
                        --i;
                    }
                    ICEEditorLayout.EndHorizontal(Info.BEHAVIOUR_AUDIO);
                }


                ICEEditorLayout.BeginHorizontal();

                _audio.AddClip((AudioClip)EditorGUILayout.ObjectField("New Audio Clip", null, typeof(AudioClip), false));

                if (GUILayout.Button("ADD", ICEEditorStyle.ButtonMiddle))
                {
                    _audio.AddClip();
                }


                ICEEditorLayout.EndHorizontal();



                EditorGUILayout.Separator();

                _audio.Volume = ICEEditorLayout.DefaultSlider("Volume", "The volume of the sound at the MinDistance", _audio.Volume, 0.05f, 0, 1, 0.5f);

                EditorGUILayout.Separator();

                _audio.MinPitch = ICEEditorLayout.DefaultSlider("Min. Pitch", "Lowest value of the random pitch of the audio source.", _audio.MinPitch, 0.05f, -3, _audio.MaxPitch, 1);
                _audio.MaxPitch = ICEEditorLayout.DefaultSlider("Max. Pitch", "Highest value of the random pitch of the audio source.", _audio.MaxPitch, 0.05f, _audio.MinPitch, 3, 1.5f);

                EditorGUILayout.Separator();

                _audio.MinDistance = ICEEditorLayout.DefaultSlider("Min. Distance", "Within the Min distance the AudioSource will cease to grow louder in volume. Outside the min distance the volume starts to attenuate.", _audio.MinDistance, 0.25f, 0, _audio.MaxDistance, 10);
                _audio.MaxDistance = ICEEditorLayout.DefaultSlider("Max. Distance", "Dependent to the RolloffMode, the MaxDistance is the distance where the sound is completely inaudible.", _audio.MaxDistance, 0.25f, _audio.MinDistance, 250, 50);

                EditorGUILayout.Separator();

                _audio.Loop        = ICEEditorLayout.Toggle("Loop", "Is the audio clip looping?", _audio.Loop);
                _audio.RolloffMode = (AudioRolloffMode)ICEEditorLayout.EnumPopup("RolloffMode", "Rolloff modes that a 3D sound can have in an audio source.", _audio.RolloffMode);

                EditorGUI.indentLevel--;

                EditorGUILayout.Separator();
            }

            return(_audio);
        }