chore: use MenuCommand

This commit is contained in:
tliks 2025-02-02 12:21:40 +09:00 committed by bd_
parent 19d8ebee68
commit de18e77e34

View File

@ -9,23 +9,16 @@ namespace nadena.dev.modular_avatar.core.editor
internal static class ToggleCreatorShortcut internal static class ToggleCreatorShortcut
{ {
[MenuItem(UnityMenuItems.GameObject_SetupToggle, false, UnityMenuItems.GameObject_SetupToggleOrder)] [MenuItem(UnityMenuItems.GameObject_SetupToggle, false, UnityMenuItems.GameObject_SetupToggleOrder)]
private static void SetupToggle() => CreateToggles(true); private static void SetupToggle(MenuCommand command) => CreateToggleImpl(command, true);
[MenuItem(UnityMenuItems.GameObject_CreateToggle, false, UnityMenuItems.GameObject_CreateToggleOrder)] [MenuItem(UnityMenuItems.GameObject_CreateToggle, false, UnityMenuItems.GameObject_CreateToggleOrder)]
private static void CreateToggle() => CreateToggles(false); private static void CreateToggle(MenuCommand command) => CreateToggleImpl(command, false);
private static void CreateToggles(bool setup) private static void CreateToggleImpl(MenuCommand command, bool setup)
{ {
var selections = Selection.objects; var selected = command.context as GameObject;
foreach (var selection in selections) { if (selected == null) return;
if (selection == null) continue;
CreateToggleImpl(selection as GameObject, setup);
}
Selection.objects = null;
}
private static void CreateToggleImpl(GameObject selected, bool setup)
{
var avatarRoot = RuntimeUtil.FindAvatarTransformInParents(selected.transform); var avatarRoot = RuntimeUtil.FindAvatarTransformInParents(selected.transform);
if (avatarRoot == null) return; if (avatarRoot == null) return;