///----------------------------------------------------------------------------------------------


        ///Returns all nodes' menu
        public static UnityEditor.GenericMenu GetFullNodesMenu(this FlowGraph flowGraph, Vector2 mousePos, Port context, Object dropInstance)
        {
            var menu = new UnityEditor.GenericMenu();

            if (context is ValueInput || context is ValueOutput)
            {
                menu = flowGraph.AppendTypeReflectionNodesMenu(menu, context.type, "", mousePos, context, dropInstance);
            }
            menu = flowGraph.AppendFlowNodesMenu(menu, "", mousePos, context, dropInstance);
            menu = flowGraph.AppendSimplexNodesMenu(menu, "Functions/Implemented", mousePos, context, dropInstance);
            menu = flowGraph.AppendAllReflectionNodesMenu(menu, "Functions/Reflected", mousePos, context, dropInstance);
            menu = flowGraph.AppendVariableNodesMenu(menu, "Variables", mousePos, context, dropInstance);
            menu = flowGraph.AppendMacroNodesMenu(menu, "MACROS", mousePos, context, dropInstance);
            menu = flowGraph.AppendMenuCallbackReceivers(menu, "", mousePos, context, dropInstance);
            return(menu);
        }