Ejemplo n.º 1
0
        void CreateDefaultTools()
        {
            m_DefaultTools.Clear();

            for (int i = 0; i < (int)Tool.Custom; i++)
            {
                var button = new ToolButton((Tool)i);
                button.displayChanged += () => EditorToolbarUtility.SetupChildrenAsButtonStrip(m_DefaultTools);
                m_DefaultTools.Add(button);
            }

            foreach (var type in EditorToolManager.activeToolContext.GetAdditionalToolTypes())
            {
                if (!typeof(EditorTool).IsAssignableFrom(type))
                {
                    Debug.LogError($"{type} must be assignable to EditorTool, and not abstract.");
                    continue;
                }

                var addl   = EditorToolManager.GetSingleton(type) as EditorTool;
                var button = new ComponentToolButton <EditorTool>(addl);
                m_DefaultTools.Add(button);
            }

            EditorToolbarUtility.SetupChildrenAsButtonStrip(m_DefaultTools);
        }