miduo_client/Assets/Scripts/Editor/ExcelTool/DataConfig/DataConfigSettingTab.cs

97 lines
3.5 KiB
C#

using GameEditor.Core.Util;
using System.IO;
using UnityEditor;
using UnityEngine;
namespace GameEditor.Core.DataConfig
{
public class DataConfigSettingTab
{
public DataConfigSettingTab()
{
}
public bool IsValidSetting()
{
if (string.IsNullOrEmpty(DataConfigSetting.execlDir))
{
return false;
}
if(Directory.Exists(DataConfigSetting.execlDir))
{
return false;
}
return true;
}
public void OnGUI(Rect rect)
{
DataConfigSetting setting = DataConfigWindow.window.setting;
GUILayout.BeginArea(rect);
{
EditorGUILayout.BeginVertical(EditorStyles.helpBox,GUILayout.ExpandHeight(true));
{
EditorGUILayout.LabelField("Setting", GTEditorGUIStyle.BigLabelMidCeneterStyle, GUILayout.Height(25));
EditorGUILayout.BeginHorizontal();
{
EditorGUILayout.TextField("Excel Dir:", DataConfigSetting.execlDir);
if (GUILayout.Button("Brower", GUILayout.Width(60)))
{
DataConfigSetting.execlDir = BrowerFolder("Excel Dir", DataConfigSetting.execlDir);
}
}
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
{
EditorGUILayout.TextField("Client Dir:", setting.clientOutputDir);
if (GUILayout.Button("Brower", GUILayout.Width(60)))
{
setting.clientOutputDir = BrowerFolder("Client Dir", setting.clientOutputDir);
if(string.IsNullOrEmpty(setting.clientOutputDir))
{
setting.clientOutputDir = Application.dataPath + "/Scripts/LuaScripts/DataConfig/Config";
}
}
}
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
{
EditorGUILayout.TextField("Server Dir:", setting.serverOutputDir);
if (GUILayout.Button("Brower", GUILayout.Width(60)))
{
setting.serverOutputDir = BrowerFolder("Server Dir", setting.serverOutputDir);
}
}
EditorGUILayout.EndHorizontal();
GUILayout.FlexibleSpace();
EditorGUILayout.BeginHorizontal(GUILayout.ExpandWidth(true));
{
GUILayout.FlexibleSpace();
if(GUILayout.Button("Apply",GUILayout.Width(120)))
{
DataConfigWindow.window.OnSettingChanged();
}
}
EditorGUILayout.EndHorizontal();
}
EditorGUILayout.EndVertical();
}
GUILayout.EndArea();
}
private string BrowerFolder(string title,string folder)
{
string folderPath = folder;
string path = EditorUtility.OpenFolderPanel(title, folderPath, "");
if(!string.IsNullOrEmpty(path))
{
folderPath = path;
}
return folderPath;
}
}
}