Files
RebootKit/Runtime/Engine/Code/UI/UIDocumentView.cs
2025-04-14 23:22:38 +02:00

35 lines
961 B
C#

using UnityEngine;
using UnityEngine.Profiling;
using UnityEngine.UIElements;
using Logger = RebootKit.Engine.Foundation.Logger;
namespace RebootKit.Engine.UI {
public abstract class UIDocumentView : MonoBehaviour, IView, IVisualElementBuilder {
static readonly Logger s_logger = new(nameof(UIDocumentView));
[SerializeField] UIDocument m_Document;
void OnEnable() {
Rebuild();
}
protected void Rebuild() {
Profiler.BeginSample("UI Tree Build");
VisualElement child = Build();
Profiler.EndSample();
m_Document.rootVisualElement.Q<VisualElement>("root__container").Clear();
m_Document.rootVisualElement.Q<VisualElement>("root__container").Add(child);
}
public abstract VisualElement Build();
public void Show() {
}
public void Hide() {
}
public void Dispose() {
}
}
}