FMODi paigaldamine projekti sisse, fmod project created, assets are imported into FMOD; AudioManager and FMODEvents scripts, VR is set up
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
namespace FMODUnity
|
||||
{
|
||||
[CustomEditor(typeof(StudioGlobalParameterTrigger))]
|
||||
public class StudioGlobalParameterTriggerEditor : Editor
|
||||
{
|
||||
private SerializedProperty param;
|
||||
private SerializedProperty trigger;
|
||||
private SerializedProperty tag;
|
||||
private SerializedProperty value;
|
||||
|
||||
private SerializedProperty data1, data2;
|
||||
|
||||
private static GUIContent NotFoundWarning;
|
||||
|
||||
private string currentPath;
|
||||
|
||||
[SerializeField]
|
||||
private EditorParamRef editorParamRef;
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
param = serializedObject.FindProperty("Parameter");
|
||||
trigger = serializedObject.FindProperty("TriggerEvent");
|
||||
tag = serializedObject.FindProperty("CollisionTag");
|
||||
value = serializedObject.FindProperty("Value");
|
||||
}
|
||||
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
if (NotFoundWarning == null)
|
||||
{
|
||||
Texture warningIcon = EditorUtils.LoadImage("NotFound.png");
|
||||
NotFoundWarning = new GUIContent(L10n.Tr("Parameter Not Found"), warningIcon);
|
||||
}
|
||||
|
||||
EditorGUILayout.PropertyField(trigger, new GUIContent(L10n.Tr("Trigger")));
|
||||
if (trigger.enumValueIndex >= (int)EmitterGameEvent.TriggerEnter && trigger.enumValueIndex <= (int)EmitterGameEvent.TriggerExit2D)
|
||||
{
|
||||
tag.stringValue = EditorGUILayout.TagField("Collision Tag", tag.stringValue);
|
||||
}
|
||||
|
||||
EditorGUILayout.PropertyField(param, new GUIContent(L10n.Tr("Parameter")));
|
||||
|
||||
if (param.stringValue != currentPath)
|
||||
{
|
||||
currentPath = param.stringValue;
|
||||
|
||||
if (string.IsNullOrEmpty(param.stringValue))
|
||||
{
|
||||
editorParamRef = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
editorParamRef = EventManager.ParamFromPath(param.stringValue);
|
||||
value.floatValue = Mathf.Clamp(value.floatValue, editorParamRef.Min, editorParamRef.Max);
|
||||
}
|
||||
}
|
||||
|
||||
if (editorParamRef != null)
|
||||
{
|
||||
using (new EditorGUILayout.HorizontalScope())
|
||||
{
|
||||
EditorGUILayout.PrefixLabel(L10n.Tr("Override Value"));
|
||||
value.floatValue = EditorUtils.DrawParameterValueLayout(value.floatValue, editorParamRef);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Rect rect = EditorGUILayout.GetControlRect();
|
||||
rect.xMin += EditorGUIUtility.labelWidth;
|
||||
|
||||
GUI.Label(rect, NotFoundWarning);
|
||||
}
|
||||
|
||||
serializedObject.ApplyModifiedProperties();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user