/// <summary>
        /// EDITOR: Draw the parameters section of the event editor
        /// </summary>
        public void DrawParameters()
        {
            if (GUILayout.Button("Add Parameter"))
            {
                AddParameter();
            }

            if (this.parameters == null)
            {
                this.parameters = new List <AudioEventParameter>();
            }

            for (int i = 0; i < this.parameters.Count; i++)
            {
                AudioEventParameter tempParam = this.parameters[i];
                tempParam.parameter     = EditorGUILayout.ObjectField(tempParam.parameter, typeof(AudioParameter), false) as AudioParameter;
                tempParam.responseCurve = EditorGUILayout.CurveField("Curve", tempParam.responseCurve);
                tempParam.paramType     = (ParameterType)EditorGUILayout.EnumPopup("Property", tempParam.paramType);
                if (GUILayout.Button("Delete Parameter"))
                {
                    DeleteParameter(tempParam);
                }
                EditorGUILayout.Separator();
            }
        }
 /// <summary>
 /// Internal AudioManager use: Sync changes to the parameters on all ActiveEvents
 /// </summary>
 private void UpdateParameters()
 {
     for (int i = 0; i < this.activeParameters.Length; i++)
     {
         AudioEventParameter tempParam = this.activeParameters[i].rootParameter;
         if (tempParam.CurrentValue != tempParam.parameter.CurrentValue)
         {
             tempParam.SyncParameter();
         }
     }
 }
 /// <summary>
 /// EDITOR: Remove a parameter from the event
 /// </summary>
 /// <param name="parameterToDelete">The parameter you wish to remove</param>
 public void DeleteParameter(AudioEventParameter parameterToDelete)
 {
     this.parameters.Remove(parameterToDelete);
 }