religion/Assets/Fungus/Scripts/Editor/ControlAudioEditor.cs
Roman aa6e1ebe90 任务:创建项目,引入部分将会用到的插件和包
1.引入URP
2.引入InputSystem
3.引入Fungus
4.引入DoTween
5.引入CinemaMachine
6.引入BehaviorTree
7.引入BehaviorTree动作包
8.配置了渲染管线资源

🥵🥵🥵🥵🥵
2021-11-21 15:14:51 +08:00

57 lines
2.3 KiB
C#

// This code is part of the Fungus library (https://github.com/snozbot/fungus)
// 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;
public override void OnEnable()
{
base.OnEnable();
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();
}
}
}