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
// 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) |
|
|
|
using UnityEditor; |
|
using UnityEngine; |
|
|
|
namespace Fungus.EditorUtils |
|
{ |
|
|
|
[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; |
|
|
|
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(); |
|
|
|
ControlAudio t = target as ControlAudio; |
|
|
|
EditorGUILayout.PropertyField(controlProp); |
|
EditorGUILayout.PropertyField(audioSourceProp); |
|
string fadeLabel = "Fade Out Duration"; |
|
if (t.Control != ControlAudioType.StopLoop && t.Control != ControlAudioType.PauseLoop) |
|
{ |
|
fadeLabel = "Fade In Duration"; |
|
string volumeLabel = "End Volume"; |
|
if (t.Control == ControlAudioType.ChangeVolume) |
|
{ |
|
fadeLabel = "Fade Duration"; |
|
volumeLabel = "New Volume"; |
|
} |
|
EditorGUILayout.PropertyField(endVolumeProp,new GUIContent(volumeLabel)); |
|
} |
|
EditorGUILayout.PropertyField(fadeDurationProp,new GUIContent(fadeLabel)); |
|
EditorGUILayout.PropertyField(waitUntilFinishedProp); |
|
serializedObject.ApplyModifiedProperties(); |
|
} |
|
} |
|
} |