Пример #1
0
        protected override IMGUIContainer EnsureNamingConventions(ChangeEvent <string> evt = null)
        {
            IMGUIContainer container = base.EnsureNamingConventions(evt);

            if (container != null)
            {
                container.style.alignItems    = Align.FlexEnd;
                container.style.paddingBottom = 20;
                container.name += "_NamingConvention";
                if (InspectorEnabled)
                {
                    objectNameSetter      = new Button(SetObjectName);
                    objectNameSetter.name = "objectNameSetter";
                    objectNameSetter.text = "Fix Naming Convention";
                    container.Add(objectNameSetter);
                    RootVisualElement.Add(container);
                    container.SendToBack();
                }
                else
                {
                    RootVisualElement.Add(container);
                    container.SendToBack();
                }
            }
            else if (objectNameSetter != null)
            {
                objectNameSetter.TryRemoveFromParent();
            }

            return(null);
        }
    //
    //
    //
    #endregion

    #region CreateModuleUI()
    //
    //
    //

    public VisualElement CreateModuleUI(string moduleName)
    {
        m_TurretBuilder.ResetModulePreviewEditor(moduleName);

        var imguiContainer = new IMGUIContainer(() =>
        {
            var editor = m_TurretBuilder.GetPreviewEditor(moduleName);
            if (editor != null)
            {
                editor.OnInteractivePreviewGUI(
                    GUILayoutUtility.GetRect(180, 180), null);
            }
        });

        imguiContainer.AddToClassList("module-viewport");

        var property = serializedObject.FindProperty(moduleName);
        var field    = new PropertyField(property);

        imguiContainer.Add(field);

        return(imguiContainer);
    }