Beispiel #1
0
        public static void ExtractOnlyEnabledMenuItem(
            ScriptingMenuItem menuItem,
            GenericMenu menu,
            string replacementMenuString,
            Object[] temporaryContext,
            int userData,
            Action <string, Object[], ContextMenuOrigin, int> onBeforeExecuteCallback,
            Action <string, Object[], ContextMenuOrigin, int> onAfterExecuteCallback,
            ContextMenuOrigin origin,
            int previousMenuItemPriority = -1)
        {
            MenuCallbackObject callbackObject = new MenuCallbackObject();

            callbackObject.menuItemPath            = menuItem.path;
            callbackObject.temporaryContext        = temporaryContext;
            callbackObject.onBeforeExecuteCallback = onBeforeExecuteCallback;
            callbackObject.onAfterExecuteCallback  = onAfterExecuteCallback;
            callbackObject.userData = userData;
            callbackObject.origin   = origin;

            // logic should match CocoaMenuController.mm and MenuControllerWin.cpp
            if (menuItem.priority != -1 && menuItem.priority > previousMenuItemPriority + 10)
            {
                var separator = Path.GetDirectoryName(replacementMenuString);
                menu.AddSeparator($"{separator}/");
            }

            if (!menuItem.isSeparator && EditorApplication.ValidateMenuItem(menuItem.path))
            {
                menu.AddItem(new GUIContent(L10n.TrPath(replacementMenuString)), false, MenuCallback, callbackObject);
            }
        }
Beispiel #2
0
        public static void ExtractMenuItemWithPath(string menuString, GenericMenu menu, string replacementMenuString, UnityEngine.Object[] temporaryContext)
        {
            MenuCallbackObject userData = new MenuCallbackObject {
                menuItemPath     = menuString,
                temporaryContext = temporaryContext
            };

            menu.AddItem(new GUIContent(replacementMenuString), false, new GenericMenu.MenuFunction2(MenuUtils.MenuCallback), userData);
        }
Beispiel #3
0
 public static void ExtractMenuItemWithPath(string menuString, GenericMenu menu, string replacementMenuString, Object[] temporaryContext, int userData, Action<string, Object[], int> onBeforeExecuteCallback, Action<string, Object[], int> onAfterExecuteCallback)
 {
     MenuCallbackObject obj2 = new MenuCallbackObject {
         menuItemPath = menuString,
         temporaryContext = temporaryContext,
         onBeforeExecuteCallback = onBeforeExecuteCallback,
         onAfterExecuteCallback = onAfterExecuteCallback,
         userData = userData
     };
     if (<>f__mg$cache0 == null)
     {
Beispiel #4
0
        public static void ExtractMenuItemWithPath(string menuString, GenericMenu menu, string replacementMenuString, Object[] temporaryContext, int userData, Action <string, Object[], int> onBeforeExecuteCallback, Action <string, Object[], int> onAfterExecuteCallback)
        {
            MenuCallbackObject callbackObject = new MenuCallbackObject();

            callbackObject.menuItemPath            = menuString;
            callbackObject.temporaryContext        = temporaryContext;
            callbackObject.onBeforeExecuteCallback = onBeforeExecuteCallback;
            callbackObject.onAfterExecuteCallback  = onAfterExecuteCallback;
            callbackObject.userData = userData;
            menu.AddItem(new GUIContent(L10n.TrPath(replacementMenuString)), false, MenuCallback, callbackObject);
        }
Beispiel #5
0
        public static void ExtractMenuItemWithPath(string menuString, GenericMenu menu, string replacementMenuString, UnityEngine.Object[] temporaryContext, int userData, Action <string, UnityEngine.Object[], int> onBeforeExecuteCallback, Action <string, UnityEngine.Object[], int> onAfterExecuteCallback)
        {
            MenuCallbackObject obj2 = new MenuCallbackObject {
                menuItemPath            = menuString,
                temporaryContext        = temporaryContext,
                onBeforeExecuteCallback = onBeforeExecuteCallback,
                onAfterExecuteCallback  = onAfterExecuteCallback,
                userData = userData
            };

            if (< > f__mg$cache0 == null)
            {
Beispiel #6
0
        public static void ExtractMenuItemWithPath(string menuString, GenericMenu menu, string replacementMenuString, Object[] temporaryContext, int userData, Action <string, Object[], int> onBeforeExecuteCallback, Action <string, Object[], int> onAfterExecuteCallback)
        {
            MenuCallbackObject obj2 = new MenuCallbackObject {
                menuItemPath            = menuString,
                temporaryContext        = temporaryContext,
                onBeforeExecuteCallback = onBeforeExecuteCallback,
                onAfterExecuteCallback  = onAfterExecuteCallback,
                userData = userData
            };

            menu.AddItem(new GUIContent(replacementMenuString), false, new GenericMenu.MenuFunction2(MenuUtils.MenuCallback), obj2);
        }
Beispiel #7
0
        public static void MenuCallback(object callbackObject)
        {
            MenuCallbackObject obj2 = callbackObject as MenuCallbackObject;

            if (obj2.temporaryContext != null)
            {
                EditorApplication.ExecuteMenuItemWithTemporaryContext(obj2.menuItemPath, obj2.temporaryContext);
            }
            else
            {
                EditorApplication.ExecuteMenuItem(obj2.menuItemPath);
            }
        }
Beispiel #8
0
        public static void MenuCallback(object callbackObject)
        {
            MenuCallbackObject obj2 = callbackObject as MenuCallbackObject;

            if (obj2.onBeforeExecuteCallback != null)
            {
                obj2.onBeforeExecuteCallback(obj2.menuItemPath, obj2.temporaryContext, obj2.userData);
            }
            if (obj2.temporaryContext != null)
            {
                EditorApplication.ExecuteMenuItemWithTemporaryContext(obj2.menuItemPath, obj2.temporaryContext);
            }
            else
            {
                EditorApplication.ExecuteMenuItem(obj2.menuItemPath);
            }
            if (obj2.onAfterExecuteCallback != null)
            {
                obj2.onAfterExecuteCallback(obj2.menuItemPath, obj2.temporaryContext, obj2.userData);
            }
        }
Beispiel #9
0
        public static void MenuCallback(object callbackObject)
        {
            MenuCallbackObject menuCallBackObject = callbackObject as MenuCallbackObject;

            if (menuCallBackObject.onBeforeExecuteCallback != null)
            {
                menuCallBackObject.onBeforeExecuteCallback(menuCallBackObject.menuItemPath, menuCallBackObject.temporaryContext, menuCallBackObject.origin, menuCallBackObject.userData);
            }

            if (menuCallBackObject.temporaryContext != null)
            {
                EditorApplication.ExecuteMenuItemWithTemporaryContext(menuCallBackObject.menuItemPath, menuCallBackObject.temporaryContext);
            }
            else
            {
                EditorApplication.ExecuteMenuItem(menuCallBackObject.menuItemPath);
            }

            if (menuCallBackObject.onAfterExecuteCallback != null)
            {
                menuCallBackObject.onAfterExecuteCallback(menuCallBackObject.menuItemPath, menuCallBackObject.temporaryContext, menuCallBackObject.origin, menuCallBackObject.userData);
            }
        }