using Godot; using System; namespace BITKit; public partial class UXPanel : Control, IUXPanel { [Export] private bool isAnimate; [Export] private bool allowCursor; [Export] private bool allowInput; [Export] private bool isStartPanel; public bool IsAnimate => isAnimate; public string Index => _index; public bool AllowCursor => allowCursor; public bool AllowInput => allowInput; private string _index; public virtual void OnEntry(){} public virtual void Entry() { Show(); OnEntry(); } public virtual void Exit() { Hide(); OnExit(); } public virtual void OnExit(){} public override void _Ready() { _index = GetType().FullName == typeof(UXPanel).FullName ? Name : GetType().FullName; UXService.Register(this); if (isStartPanel) { UXService.Open(this as IUXPanel); } } private void Open() { UXService.Open(this as IUXPanel); } public override void _ExitTree() { UXService.UnRegister(this); } // protected override void Dispose(bool disposing) // { // UXService.UnRegister(this); // } }