示例#1
0
        private void OnGUI()
        {
            EditorGUI.BeginChangeCheck();

            EditorGUILayout.BeginVertical();
            EditorGUILayout.BeginHorizontal(GUILayout.ExpandHeight(true));
            leftPos = EditorGUILayout.BeginScrollView(leftPos, GUILayout.Width(250));

            if (list == null)
            {
                list = new ReorderableList(configs, typeof(BuildConfig));
                list.drawHeaderCallback += (rect) =>
                {
                    GUI.Label(rect, "Build Configs");
                };
                list.drawElementCallback += (rect, index, active, focused) =>
                {
                    GUI.Label(rect, ((BuildConfig)list.list[index]).folder);
                };
                list.onAddCallback += (list) =>
                {
                    var config = new BuildConfig();
                    config.folder = "New Build Config";
                    list.list.Add(config);
                };
            }
            list.DoLayoutList();

            if (GUILayout.Button("Build Defaults"))
            {
                BuildDefaults();
            }
            if (GUILayout.Button("Open Build Folder"))
            {
                OpenBuildFolder();
            }

            GUILayout.EndScrollView();
            rightPos = GUILayout.BeginScrollView(rightPos);

            if (list.index >= 0)
            {
                var config = (BuildConfig)list.list[list.index];
                DrawConfig(config);
            }
            else
            {
                GUI.enabled = false;
                EditorGUILayout.BeginHorizontal();
                GUILayout.FlexibleSpace();
                EditorGUILayout.BeginVertical();
                EditorGUILayout.Space(20);
                GUILayout.Label("No build selected");
                EditorGUILayout.EndVertical();
                GUILayout.FlexibleSpace();
                EditorGUILayout.EndHorizontal();
                GUI.enabled = true;
            }

            EditorGUILayout.EndScrollView();
            EditorGUILayout.EndHorizontal();

            GUI.enabled = false;
            GUILayout.Label(BuildUtil.GetSettingsPath());
            GUI.enabled = true;

            EditorGUILayout.EndVertical();

            if (EditorGUI.EndChangeCheck())
            {
                configs = (List <BuildConfig>)list.list;
                BuildUtil.SaveSettings(configs);
            }
        }
示例#2
0
 private static void OnReload()
 {
     configs = BuildUtil.LoadSettings();
 }
示例#3
0
 private void OnFocus()
 {
     configs = BuildUtil.LoadSettings();
 }
示例#4
0
 public static void OpenBuildFolder()
 {
     Process.Start("file://" + BuildUtil.GetBuildPath());
 }
示例#5
0
 private void OnEnable()
 {
     configs = BuildUtil.LoadSettings();
 }
示例#6
0
 private void Awake()
 {
     configs = BuildUtil.LoadSettings();
 }