Firstborn/Library/PackageCache/com.unity.addressables@1.19.19/Editor/GUI/AnalyzeRuleGUI.cs
Schaken-Mods 7502018d20 Adding Mod Support
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.
2023-05-13 22:01:48 -05:00

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();
//}
}
}
}