UI 자동화를 위해 바인딩 기능 구현
- 유니티 에셋 인증 오류로 meta 재생성
This commit is contained in:
@@ -0,0 +1,94 @@
|
||||
#if UNITY_EDITOR
|
||||
using System.Linq;
|
||||
using UnityEditor;
|
||||
|
||||
////TODO: support multi-object editing
|
||||
|
||||
namespace UnityEngine.InputSystem.Samples.RebindUI
|
||||
{
|
||||
/// <summary>
|
||||
/// A custom inspector for <see cref="RebindActionUI"/> which provides a more convenient way for
|
||||
/// picking the binding which to rebind.
|
||||
/// </summary>
|
||||
[CustomEditor(typeof(RebindActionUI))]
|
||||
public class RebindActionUIEditor : UnityEditor.Editor
|
||||
{
|
||||
protected void OnEnable()
|
||||
{
|
||||
m_ActionLabelProperty = serializedObject.FindProperty("m_ActionLabel");
|
||||
m_BindingTextProperty = serializedObject.FindProperty("m_BindingText");
|
||||
m_RebindOverlayProperty = serializedObject.FindProperty("m_RebindOverlay");
|
||||
m_RebindTextProperty = serializedObject.FindProperty("m_RebindText");
|
||||
m_RebindInfoProperty = serializedObject.FindProperty("m_RebindInfo");
|
||||
m_RebindCancelButtonProperty = serializedObject.FindProperty("m_RebindCancelButton");
|
||||
m_RebindTimeoutProperty = serializedObject.FindProperty("m_RebindTimeout");
|
||||
m_UpdateBindingUIEventProperty = serializedObject.FindProperty("m_UpdateBindingUIEvent");
|
||||
m_RebindStartEventProperty = serializedObject.FindProperty("m_RebindStartEvent");
|
||||
m_RebindStopEventProperty = serializedObject.FindProperty("m_RebindStopEvent");
|
||||
|
||||
m_BindingUI = new BindingUI(serializedObject);
|
||||
}
|
||||
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
EditorGUI.BeginChangeCheck();
|
||||
|
||||
// Binding section.
|
||||
m_BindingUI.Draw();
|
||||
|
||||
// UI section.
|
||||
EditorGUILayout.Space();
|
||||
EditorGUILayout.LabelField(m_UILabel);
|
||||
using (new EditorGUI.IndentLevelScope())
|
||||
{
|
||||
EditorGUILayout.PropertyField(m_ActionLabelProperty);
|
||||
EditorGUILayout.PropertyField(m_BindingTextProperty);
|
||||
EditorGUILayout.PropertyField(m_RebindOverlayProperty);
|
||||
EditorGUILayout.PropertyField(m_RebindTextProperty);
|
||||
EditorGUILayout.PropertyField(m_RebindInfoProperty);
|
||||
EditorGUILayout.PropertyField(m_RebindCancelButtonProperty);
|
||||
}
|
||||
|
||||
// Rebind options section.
|
||||
EditorGUILayout.Space();
|
||||
EditorGUILayout.LabelField(m_RebindOptionsLabel);
|
||||
using (new EditorGUI.IndentLevelScope())
|
||||
{
|
||||
EditorGUILayout.PropertyField(m_RebindTimeoutProperty);
|
||||
}
|
||||
|
||||
// Events section.
|
||||
EditorGUILayout.Space();
|
||||
EditorGUILayout.LabelField(m_EventsLabel);
|
||||
using (new EditorGUI.IndentLevelScope())
|
||||
{
|
||||
EditorGUILayout.PropertyField(m_RebindStartEventProperty);
|
||||
EditorGUILayout.PropertyField(m_RebindStopEventProperty);
|
||||
EditorGUILayout.PropertyField(m_UpdateBindingUIEventProperty);
|
||||
}
|
||||
|
||||
if (EditorGUI.EndChangeCheck())
|
||||
{
|
||||
serializedObject.ApplyModifiedProperties();
|
||||
m_BindingUI.Refresh();
|
||||
}
|
||||
}
|
||||
|
||||
private SerializedProperty m_ActionLabelProperty;
|
||||
private SerializedProperty m_BindingTextProperty;
|
||||
private SerializedProperty m_RebindOverlayProperty;
|
||||
private SerializedProperty m_RebindTextProperty;
|
||||
private SerializedProperty m_RebindInfoProperty;
|
||||
private SerializedProperty m_RebindCancelButtonProperty;
|
||||
private SerializedProperty m_RebindTimeoutProperty;
|
||||
private SerializedProperty m_RebindStartEventProperty;
|
||||
private SerializedProperty m_RebindStopEventProperty;
|
||||
private SerializedProperty m_UpdateBindingUIEventProperty;
|
||||
|
||||
private GUIContent m_UILabel = new GUIContent("UI");
|
||||
private GUIContent m_RebindOptionsLabel = new GUIContent("Rebind Options");
|
||||
private GUIContent m_EventsLabel = new GUIContent("Events");
|
||||
private BindingUI m_BindingUI;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user