private void OnGUI()
{
ABPackRuleConfig config = AutoABNamePostprocessor.config;
EditorGUILayout.BeginHorizontal(GUI.skin.box);
AutoABNamePostprocessor.autoPack = EditorGUILayout.ToggleLeft("autoPack", AutoABNamePostprocessor.autoPack);
if (GUILayout.Button("Apply"))
{
AutoABNamePostprocessor.PackAll();
}
EditorGUILayout.EndHorizontal();
scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition);
int count = config.rules.Count;
EditorGUI.BeginChangeCheck();
for (int i = 0; i < count; i++)
{
OnGUIRule(config.rules[i], selectIndex == i);
if (Event.current.type == EventType.MouseUp && GUILayoutUtility.GetLastRect().Contains(Event.current.mousePosition))
{
selectIndex = i;
Event.current.Use();
}
}
if (EditorGUI.EndChangeCheck())
{
EditorUtility.SetDirty(config);
}
EditorGUILayout.BeginHorizontal();
if (GUILayout.Button("Add Rule"))
{
config.rules.Add(new ABPackRuleConfig.Rule());
EditorUtility.SetDirty(config);
}
if (count > 0 && selectIndex >= 0 && GUILayout.Button("Remove Rule"))
{
config.rules.RemoveAt(selectIndex);
selectIndex = -1;
EditorUtility.SetDirty(config);
}
EditorGUILayout.EndHorizontal();
EditorGUILayout.EndScrollView();
}