|
|
|
using UnityEditor;
|
|
|
|
using UnityEditorInternal;
|
|
|
|
using UnityEngine;
|
|
|
|
using System.Collections;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
using Rotorz.ReorderableList;
|
|
|
|
|
|
|
|
namespace Fungus
|
|
|
|
{
|
|
|
|
|
|
|
|
[CustomEditor (typeof(WriterAudio))]
|
|
|
|
public class WriterAudioEditor : Editor
|
|
|
|
{
|
|
|
|
protected SerializedProperty volumeProp;
|
|
|
|
protected SerializedProperty loopProp;
|
|
|
|
protected SerializedProperty targetAudioSourceProp;
|
|
|
|
protected SerializedProperty audioModeProp;
|
|
|
|
protected SerializedProperty beepSoundsProp;
|
|
|
|
protected SerializedProperty soundEffectProp;
|
|
|
|
|
|
|
|
protected virtual void OnEnable()
|
|
|
|
{
|
|
|
|
volumeProp = serializedObject.FindProperty("volume");
|
|
|
|
loopProp = serializedObject.FindProperty("loop");
|
|
|
|
targetAudioSourceProp = serializedObject.FindProperty("targetAudioSource");
|
|
|
|
audioModeProp = serializedObject.FindProperty("audioMode");
|
|
|
|
beepSoundsProp = serializedObject.FindProperty("beepSounds");
|
|
|
|
soundEffectProp = serializedObject.FindProperty("soundEffect");
|
|
|
|
}
|
|
|
|
|
|
|
|
public override void OnInspectorGUI()
|
|
|
|
{
|
|
|
|
serializedObject.Update();
|
|
|
|
|
|
|
|
EditorGUILayout.PropertyField(volumeProp);
|
|
|
|
EditorGUILayout.PropertyField(loopProp);
|
|
|
|
EditorGUILayout.PropertyField(targetAudioSourceProp);
|
|
|
|
|
|
|
|
EditorGUILayout.PropertyField(audioModeProp);
|
|
|
|
if ((WriterAudio.AudioMode)audioModeProp.enumValueIndex == WriterAudio.AudioMode.Beeps)
|
|
|
|
{
|
|
|
|
ReorderableListGUI.Title(new GUIContent("Beep Sounds", "A list of beep sounds to play at random"));
|
|
|
|
ReorderableListGUI.ListField(beepSoundsProp);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
EditorGUILayout.PropertyField(soundEffectProp);
|
|
|
|
}
|
|
|
|
|
|
|
|
serializedObject.ApplyModifiedProperties();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|