modular-avatar/Editor/Inspector/Menu/MAMenuItemInspector.cs
kaikoga 3667dc319a
chore: Wrap VRC dependencies and VRCAvatarDescriptors (#504)
* add version defines

* refactor: prefer BuildContext.ctor() overload taking GameObject

* wrap unit tests entirely with MA_VRCSDK3_AVATARS

* wrap unit tests smart with MA_VRCSDK3_AVATARS

* wrap runtime entirely with MA_VRCSDK3_AVATARS

* wrap VRC.SDKBase.IEditorOnly with MA_VRCSDK3_AVATARS

* wrap editor entirely with MA_VRCSDK3_AVATARS

* fix AvatarObjectReference.Get(Component)

* wrap editor smart with MA_VRCSDK3_AVATARS

* wrap BuildContext smart with MA_VRCSDK3_AVATARS

* wrap PluginDefinition smart with MA_VRCSDK3_AVATARS

* style: move conditional compiles one step outside
2023-11-10 15:37:56 +09:00

59 lines
1.5 KiB
C#

#if MA_VRCSDK3_AVATARS
using UnityEditor;
using static nadena.dev.modular_avatar.core.editor.Localization;
namespace nadena.dev.modular_avatar.core.editor
{
[CustomEditor(typeof(ModularAvatarMenuItem))]
[CanEditMultipleObjects]
internal class MAMenuItemInspector : MAEditorBase
{
private MenuItemCoreGUI _coreGUI;
void OnEnable()
{
_coreGUI = new MenuItemCoreGUI(serializedObject, Repaint);
_coreGUI.AlwaysExpandContents = true;
}
protected override void OnInnerInspectorGUI()
{
serializedObject.Update();
_coreGUI.DoGUI();
serializedObject.ApplyModifiedProperties();
ShowLanguageUI();
}
}
[CustomEditor(typeof(ModularAvatarMenuGroup))]
internal class MAMenuGroupInspector : MAEditorBase
{
private MenuPreviewGUI _previewGUI;
private SerializedProperty _prop_target;
void OnEnable()
{
_previewGUI = new MenuPreviewGUI(Repaint);
_prop_target = serializedObject.FindProperty(nameof(ModularAvatarMenuGroup.targetObject));
}
protected override void OnInnerInspectorGUI()
{
serializedObject.Update();
EditorGUILayout.PropertyField(_prop_target, G("menuitem.prop.source_override"));
_previewGUI.DoGUI((ModularAvatarMenuGroup) target);
serializedObject.ApplyModifiedProperties();
ShowLanguageUI();
}
}
}
#endif