You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
2.4 KiB
58 lines
2.4 KiB
8 years ago
|
// This code is part of the Fungus library (http://fungusgames.com) maintained by Chris Gregan (http://twitter.com/gofungus).
|
||
|
// It is released for free under the MIT open source license (https://github.com/snozbot/fungus/blob/master/LICENSE)
|
||
9 years ago
|
|
||
10 years ago
|
using UnityEditor;
|
||
|
using UnityEngine;
|
||
|
|
||
|
namespace Fungus
|
||
|
{
|
||
8 years ago
|
|
||
|
[CustomEditor (typeof(ControlAudio))]
|
||
|
public class ControlAudioEditor : CommandEditor
|
||
|
{
|
||
|
protected SerializedProperty controlProp;
|
||
|
protected SerializedProperty audioSourceProp;
|
||
|
protected SerializedProperty startVolumeProp;
|
||
|
protected SerializedProperty endVolumeProp;
|
||
|
protected SerializedProperty fadeDurationProp;
|
||
|
protected SerializedProperty waitUntilFinishedProp;
|
||
|
|
||
|
protected virtual void OnEnable()
|
||
|
{
|
||
|
if (NullTargetCheck()) // Check for an orphaned editor instance
|
||
|
return;
|
||
9 years ago
|
|
||
8 years ago
|
controlProp = serializedObject.FindProperty("control");
|
||
|
audioSourceProp = serializedObject.FindProperty("_audioSource");
|
||
|
startVolumeProp = serializedObject.FindProperty("startVolume");
|
||
|
endVolumeProp = serializedObject.FindProperty("endVolume");
|
||
|
fadeDurationProp = serializedObject.FindProperty("fadeDuration");
|
||
|
waitUntilFinishedProp = serializedObject.FindProperty("waitUntilFinished");
|
||
|
}
|
||
|
|
||
|
public override void DrawCommandGUI()
|
||
|
{
|
||
|
serializedObject.Update();
|
||
10 years ago
|
|
||
8 years ago
|
ControlAudio t = target as ControlAudio;
|
||
10 years ago
|
|
||
8 years ago
|
EditorGUILayout.PropertyField(controlProp);
|
||
|
EditorGUILayout.PropertyField(audioSourceProp);
|
||
|
string fadeLabel = "Fade Out Duration";
|
||
8 years ago
|
if (t.Control != ControlAudio.ControlType.StopLoop && t.Control != ControlAudio.ControlType.PauseLoop)
|
||
8 years ago
|
{
|
||
|
fadeLabel = "Fade In Duration";
|
||
|
string volumeLabel = "End Volume";
|
||
8 years ago
|
if (t.Control == ControlAudio.ControlType.ChangeVolume)
|
||
8 years ago
|
{
|
||
|
fadeLabel = "Fade Duration";
|
||
|
volumeLabel = "New Volume";
|
||
|
}
|
||
|
EditorGUILayout.PropertyField(endVolumeProp,new GUIContent(volumeLabel));
|
||
|
}
|
||
|
EditorGUILayout.PropertyField(fadeDurationProp,new GUIContent(fadeLabel));
|
||
|
EditorGUILayout.PropertyField(waitUntilFinishedProp);
|
||
|
serializedObject.ApplyModifiedProperties();
|
||
|
}
|
||
|
}
|
||
10 years ago
|
}
|