/// <summary>
/// 모든 툴에서 공통적으로 사용될 상단 수평 버튼들을 구현하는 메소드
/// </summary>
/// <param name="data">원본 데이터</param>
/// <param name="selection">선택할 인덱스</param>
/// <param name="source"></param>
/// <param name="uiWidth">ui 크기</param>
public static void EditorToolTopLayer(BaseData data, ref int selection,
ref UnityObject source, int uiWidth)
{
//opengl과 유사한 방식으로 코딩
EditorGUILayout.BeginHorizontal();
{
if (GUILayout.Button("ADD", GUILayout.Width(uiWidth))) //uiWidth 크기의 ADD 버튼을 클릭시
{
data.AddData("NewData");
selection = data.GetDataCount() - 1; //리스트의 가장 마지막 인덱스
source = null;
}
if (GUILayout.Button("Copy", GUILayout.Width(uiWidth))) //uiWidth 크기의 Copy 버튼을 클릭시
{
data.Copy(selection);
source = null;
selection = data.GetDataCount() - 1;
}
if (data.GetDataCount() > 1) // 내부 if와 위치 바꿔볼것
{
if (GUILayout.Button("Remove", GUILayout.Width(uiWidth)))
{
source = null;
data.RemoveData(selection);
}
}
if (selection > data.GetDataCount() - 1)
{
selection = data.GetDataCount() - 1;
}
}
EditorGUILayout.EndHorizontal();
}