- LocalizationManager: 新增翻译表(SetFormatted/SetDuration/LocalizeOperateMsg) - LoginPanel: InputField placeholder本地化、字体颜色保持 - HistoryPanel: 用时数据本地化、placeholder本地化 - RecordDetailPanel: 操作详情消息本地化(LanguageChanged重建) - AppraiseWindowBase: 评价等级本地化、操作消息重建 - EditorAppraiser: 所有评估消息改用InjectOperateMsgLocalized - StudentOperateRecorder: 新增InjectOperateMsgLocalized方法 - LocalizationLanguageTestBar: 单例模式、ScreenSpaceOverlay筛选 - 字体切换时保留颜色和verticalOverflow
82 lines
3.1 KiB
C#
82 lines
3.1 KiB
C#
namespace VRTK
|
|
{
|
|
using UnityEngine;
|
|
using UnityEditor;
|
|
|
|
[CustomEditor(typeof(VRTK_InteractHaptics))]
|
|
public class VRTK_InteractHapticsEditor : Editor
|
|
{
|
|
SerializedProperty clipOnTouch;
|
|
SerializedProperty strengthOnTouch;
|
|
SerializedProperty durationOnTouch;
|
|
SerializedProperty intervalOnTouch;
|
|
|
|
SerializedProperty clipOnGrab;
|
|
SerializedProperty strengthOnGrab;
|
|
SerializedProperty durationOnGrab;
|
|
SerializedProperty intervalOnGrab;
|
|
|
|
SerializedProperty clipOnUse;
|
|
SerializedProperty strengthOnUse;
|
|
SerializedProperty durationOnUse;
|
|
SerializedProperty intervalOnUse;
|
|
|
|
private void OnEnable()
|
|
{
|
|
clipOnTouch = serializedObject.FindProperty("clipOnTouch");
|
|
strengthOnTouch = serializedObject.FindProperty("strengthOnTouch");
|
|
durationOnTouch = serializedObject.FindProperty("durationOnTouch");
|
|
intervalOnTouch = serializedObject.FindProperty("intervalOnTouch");
|
|
|
|
clipOnGrab = serializedObject.FindProperty("clipOnGrab");
|
|
strengthOnGrab = serializedObject.FindProperty("strengthOnGrab");
|
|
durationOnGrab = serializedObject.FindProperty("durationOnGrab");
|
|
intervalOnGrab = serializedObject.FindProperty("intervalOnGrab");
|
|
|
|
clipOnUse = serializedObject.FindProperty("clipOnUse");
|
|
strengthOnUse = serializedObject.FindProperty("strengthOnUse");
|
|
durationOnUse = serializedObject.FindProperty("durationOnUse");
|
|
intervalOnUse = serializedObject.FindProperty("intervalOnUse");
|
|
}
|
|
|
|
public override void OnInspectorGUI()
|
|
{
|
|
serializedObject.Update();
|
|
|
|
EditorGUILayout.Space();
|
|
EditorGUILayout.LabelField("Haptics On Touch", EditorStyles.boldLabel);
|
|
|
|
EditorGUILayout.ObjectField(clipOnTouch, typeof(AudioClip));
|
|
if (clipOnTouch.objectReferenceValue == null)
|
|
{
|
|
EditorGUILayout.PropertyField(strengthOnTouch);
|
|
EditorGUILayout.PropertyField(durationOnTouch);
|
|
EditorGUILayout.PropertyField(intervalOnTouch);
|
|
}
|
|
|
|
EditorGUILayout.Space();
|
|
EditorGUILayout.LabelField("Haptics On Grab", EditorStyles.boldLabel);
|
|
|
|
EditorGUILayout.ObjectField(clipOnGrab, typeof(AudioClip));
|
|
if (clipOnGrab.objectReferenceValue == null)
|
|
{
|
|
EditorGUILayout.PropertyField(strengthOnGrab);
|
|
EditorGUILayout.PropertyField(durationOnGrab);
|
|
EditorGUILayout.PropertyField(intervalOnGrab);
|
|
}
|
|
|
|
EditorGUILayout.Space();
|
|
EditorGUILayout.LabelField("Haptics On Use", EditorStyles.boldLabel);
|
|
|
|
EditorGUILayout.ObjectField(clipOnUse, typeof(AudioClip));
|
|
if (clipOnUse.objectReferenceValue == null)
|
|
{
|
|
EditorGUILayout.PropertyField(strengthOnUse);
|
|
EditorGUILayout.PropertyField(durationOnUse);
|
|
EditorGUILayout.PropertyField(intervalOnUse);
|
|
}
|
|
|
|
serializedObject.ApplyModifiedProperties();
|
|
}
|
|
}
|
|
} |