/// <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)); }
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); }