UnityEditor.MenuUtils.ExtractMenuItemWithPath C# (CSharp) Method

ExtractMenuItemWithPath() public static method

public static ExtractMenuItemWithPath ( string menuString, GenericMenu menu, string replacementMenuString, Object temporaryContext, int userData, Action onBeforeExecuteCallback, Action onAfterExecuteCallback ) : void
menuString string
menu GenericMenu
replacementMenuString string
temporaryContext Object
userData int
onBeforeExecuteCallback Action
onAfterExecuteCallback Action
return void
        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)
            {
                <>f__mg$cache0 = new GenericMenu.MenuFunction2(MenuUtils.MenuCallback);

Usage Example

 private void AddCreateGameObjectItemsToMenu(GenericMenu menu, UnityEngine.Object[] context, bool includeCreateEmptyChild, bool includeGameObjectInPath, int targetSceneHandle)
 {
     string[] submenus = Unsupported.GetSubmenus("GameObject");
     string[] array    = submenus;
     for (int i = 0; i < array.Length; i++)
     {
         string text = array[i];
         UnityEngine.Object[] temporaryContext = context;
         if (includeCreateEmptyChild || !(text.ToLower() == "GameObject/Create Empty Child".ToLower()))
         {
             if (text.EndsWith("..."))
             {
                 temporaryContext = null;
             }
             if (text.ToLower() == "GameObject/Center On Children".ToLower())
             {
                 return;
             }
             string replacementMenuString = text;
             if (!includeGameObjectInPath)
             {
                 replacementMenuString = text.Substring(11);
             }
             MenuUtils.ExtractMenuItemWithPath(text, menu, replacementMenuString, temporaryContext, targetSceneHandle, new Action <string, UnityEngine.Object[], int>(this.BeforeCreateGameObjectMenuItemWasExecuted), new Action <string, UnityEngine.Object[], int>(this.AfterCreateGameObjectMenuItemWasExecuted));
         }
     }
 }
All Usage Examples Of UnityEditor.MenuUtils::ExtractMenuItemWithPath