示例#1
0
    /// <summary>
    /// 中心区域的布局
    /// </summary>
    private void OnCenterGUI()
    {
        GUILayout.BeginVertical();

        centerScrollPos = EditorGUILayout.BeginScrollView(centerScrollPos);

        //绘制属性
        EditorGUIUtil.DrawHeader(actName + "属性");
        propertyScrollPos = EditorGUILayout.BeginScrollView(propertyScrollPos);

        List <EditorWidgetState> removes = null;

        foreach (EditorWidgetState obj in widgetList)
        {
            EditorGUI.indentLevel = 0;

            bool isRemove = EditorGUIUtil.OnGUIInstanceDisplay(obj, true);

            if (isRemove)
            {
                if (removes == null)
                {
                    removes = new List <EditorWidgetState>();
                }
                removes.Add(obj);
            }
        }

        //remove
        if (removes != null && removes.Count > 0)
        {
            foreach (EditorWidgetState ews in removes)
            {
                widgetList.Remove(ews);
            }
        }
        EditorGUILayout.EndScrollView();


        EditorGUIUtil.DrawSeparator();
        //添加新模块视图
        this.onAddNewModuleGUI();

        if (!string.IsNullOrEmpty(actName))
        {
            EditorGUIUtil.DrawSeparator();

            GUILayout.BeginHorizontal();
            GUILayout.Space(20);
            //保存数据到本地
            if (GUILayout.Button("Save"))
            {
                this.saveActFile(actGroup, actName, true);
            }
            GUILayout.Space(20);
            GUILayout.EndHorizontal();
        }

        GUILayout.EndScrollView();
        GUILayout.Space(5F);
        GUILayout.EndVertical();
    }