예제 #1
0
        /// <summary>
        /// 窗口打开显示函数
        /// </summary>
        /// <param name="fileSettingAction">窗口关闭时返回的数据</param>
        public static void Open(string title, System.Action <KitConfigFileSetting> _fileSettingAction = null)
        {
            fileSettingAction = _fileSettingAction;
            window            = GetWindow <KitManagementEditorMakeNewWindowAddFileSettingWindow>(false, title);
            var tempfilePath = System.IO.Path.Combine(Application.temporaryCachePath, kitTempFileName);

            if (System.IO.File.Exists(tempfilePath))
            {
                System.IO.File.Delete(tempfilePath);
            }
            System.IO.File.WriteAllText(tempfilePath, title);
            window.minSize = new Vector2(400, 200);
            window.Show();
        }
        void drawFileSetting()
        {
            EditorGUILayout.BeginHorizontal();
            GUILayout.Space(10);
            EditorGUILayout.LabelField("新组件的文件设置:", GUILayout.Height(20), GUILayout.Width(150));
            EditorGUILayout.BeginVertical();
            for (var i = 0; i < newConfig.FileSettings.Count; i++)
            {
                var file = newConfig.FileSettings[i];

                EditorGUILayout.BeginHorizontal();
                EditorGUILayout.LabelField("源文件位置: ", GUILayout.Height(20), GUILayout.Width(120));
                EditorGUILayout.LabelField(file.SourcePath, GUILayout.Height(20));
                EditorGUILayout.EndHorizontal();
                EditorGUILayout.BeginHorizontal();
                EditorGUILayout.LabelField("安装位置: ", GUILayout.Height(20), GUILayout.Width(120));
                EditorGUILayout.LabelField(file.DestPath, GUILayout.Height(20));
                if (GUILayout.Button("删除第" + (i + 1) + "项", GUILayout.Width(100), GUILayout.Height(20)))
                {
                    newConfig.FileSettings.RemoveAt(i);
                    Debug.Log("已删除第" + (i + 1) + "项!");
                }
                EditorGUILayout.EndHorizontal();
            }
            EditorGUILayout.EndVertical();

            if (GUILayout.Button("<< 添加一个", GUILayout.Width(90), GUILayout.Height(40)))
            {
                KitManagementEditorMakeNewWindowAddFileSettingWindow.Open("添加新组件文件设置项", (newFileSetting) => {
                    var find = false;
                    for (var j = 0; j < newConfig.FileSettings.Count; j++)
                    {
                        var _file = newConfig.FileSettings[j];
                        if (_file.SourcePath == newFileSetting.SourcePath && _file.DestPath == newFileSetting.DestPath)
                        {
                            find = true;
                            break;
                        }
                    }
                    if (!find)
                    {
                        newConfig.FileSettings.Add(newFileSetting);
                    }
                });
            }
            GUILayout.Space(10);
            EditorGUILayout.EndHorizontal();
        }