
There is an asset in the store I grabbed. the coding is WAY above my head, I got about half of it and integrated and adapted what I can to it. im going as far as I can with it and ill come back in a few month when I understand t better.
63 lines
1.9 KiB
C#
63 lines
1.9 KiB
C#
using System;
|
|
using UnityEditor.IMGUI.Controls;
|
|
using UnityEngine;
|
|
|
|
namespace UnityEditor.AddressableAssets.GUI
|
|
{
|
|
[Serializable]
|
|
class AnalyzeRuleGUI
|
|
{
|
|
[SerializeField]
|
|
private TreeViewState m_TreeState;
|
|
|
|
private AssetSettingsAnalyzeTreeView m_Tree;
|
|
|
|
private const float k_ButtonHeight = 24f;
|
|
|
|
internal void OnGUI(Rect rect)
|
|
{
|
|
if (m_Tree == null)
|
|
{
|
|
if (m_TreeState == null)
|
|
m_TreeState = new TreeViewState();
|
|
|
|
m_Tree = new AssetSettingsAnalyzeTreeView(m_TreeState);
|
|
m_Tree.Reload();
|
|
}
|
|
|
|
var treeRect = new Rect(rect.xMin, rect.yMin + k_ButtonHeight, rect.width, rect.height - k_ButtonHeight);
|
|
m_Tree.OnGUI(treeRect);
|
|
|
|
var buttonRect = new Rect(rect.xMin, rect.yMin, rect.width, rect.height);
|
|
|
|
GUILayout.BeginArea(buttonRect);
|
|
GUILayout.BeginHorizontal();
|
|
EditorGUI.BeginDisabledGroup(!m_Tree.SelectionContainsRuleContainer);
|
|
if (GUILayout.Button("Analyze Selected Rules"))
|
|
{
|
|
EditorApplication.delayCall += () => m_Tree.RunAllSelectedRules();
|
|
}
|
|
|
|
if (GUILayout.Button("Clear Selected Rules"))
|
|
{
|
|
EditorApplication.delayCall += () => m_Tree.ClearAllSelectedRules();
|
|
}
|
|
|
|
EditorGUI.BeginDisabledGroup(!m_Tree.SelectionContainsFixableRule || !m_Tree.SelectionContainsErrors);
|
|
if (GUILayout.Button("Fix Selected Rules"))
|
|
{
|
|
EditorApplication.delayCall += () => m_Tree.FixAllSelectedRules();
|
|
}
|
|
EditorGUI.EndDisabledGroup();
|
|
GUILayout.EndHorizontal();
|
|
GUILayout.EndArea();
|
|
|
|
//TODO
|
|
//if (GUILayout.Button("Revert Selected"))
|
|
//{
|
|
// m_Tree.RevertAllActiveRules();
|
|
//}
|
|
}
|
|
}
|
|
}
|