97 lines
3.5 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|