1
This commit is contained in:
@@ -40,7 +40,6 @@ namespace BITKit.UX
|
||||
uxService.Register(this);
|
||||
InitializeAsync().Forget();
|
||||
}
|
||||
|
||||
private async UniTask InitializeAsync()
|
||||
{
|
||||
await _isBusy;
|
||||
@@ -89,20 +88,20 @@ namespace BITKit.UX
|
||||
|
||||
UXUtils.Inject(this,RootVisualElement);
|
||||
|
||||
OnInitiated?.Invoke();
|
||||
|
||||
RootVisualElement.SetActive(false);
|
||||
|
||||
await OnInitiatedAsync.UniTaskFunc();
|
||||
|
||||
WaitUtilInitialized.TrySetResult();
|
||||
|
||||
RootVisualElement.RegisterCallback<TransitionRunEvent>(OnTransitionRun);
|
||||
RootVisualElement.RegisterCallback<TransitionStartEvent>(OnTransitionStart);
|
||||
RootVisualElement.RegisterCallback<TransitionStartEvent>(OnTransitionStart);
|
||||
RootVisualElement.RegisterCallback<TransitionEndEvent>(OnTransitionEnd);
|
||||
RootVisualElement.RegisterCallback<TransitionCancelEvent>(OnTransitionEnd);
|
||||
|
||||
WaitUtilTransitionCompleted.TrySetResult();
|
||||
|
||||
WaitUtilInitialized.TrySetResult();
|
||||
|
||||
OnInitiated?.Invoke();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -127,6 +126,7 @@ namespace BITKit.UX
|
||||
public virtual bool AllowReload { get; }
|
||||
public virtual bool AllowCursor { get; }
|
||||
public virtual bool AllowInput { get; }
|
||||
public object Root => RootVisualElement;
|
||||
public virtual string[] InitialUssClasses { get; } = Array.Empty<string>();
|
||||
public bool IsDisposed { get; private set; }
|
||||
|
||||
@@ -152,6 +152,11 @@ namespace BITKit.UX
|
||||
RootVisualElement.SetActive(true);
|
||||
|
||||
//await UniTask.NextFrame();
|
||||
|
||||
if (IsWindow)
|
||||
{
|
||||
RootVisualElement.BringToFront();
|
||||
}
|
||||
|
||||
RootVisualElement.AddToClassList(USSEntry);
|
||||
|
||||
@@ -174,9 +179,19 @@ namespace BITKit.UX
|
||||
{
|
||||
BIT4Log.LogException(e);
|
||||
}
|
||||
|
||||
await WaitUtilTransitionCompleted.Task;
|
||||
|
||||
try
|
||||
{
|
||||
var cts = new CancellationTokenSource();
|
||||
cts.CancelAfter(1000);
|
||||
await WaitUtilTransitionCompleted.Task.AttachExternalCancellation(cts.Token);
|
||||
}
|
||||
catch (OperationCanceledException)
|
||||
{
|
||||
}
|
||||
|
||||
await UniTask.SwitchToMainThread();
|
||||
|
||||
RootVisualElement.AddToClassList(USSEntered);
|
||||
}
|
||||
private void OnTransitionEnd<TChangeEvent>(TChangeEvent evt)
|
||||
@@ -218,8 +233,17 @@ namespace BITKit.UX
|
||||
await UniTask.NextFrame();
|
||||
|
||||
await OnExitAsync.UniTaskFunc();
|
||||
|
||||
try
|
||||
{
|
||||
var cts = new CancellationTokenSource();
|
||||
cts.CancelAfter(1000);
|
||||
await WaitUtilTransitionCompleted.Task.AttachExternalCancellation(cts.Token);
|
||||
}
|
||||
catch (OperationCanceledException)
|
||||
{
|
||||
}
|
||||
|
||||
await WaitUtilTransitionCompleted.Task;
|
||||
}
|
||||
void IEntryElement.Exited()
|
||||
{
|
||||
@@ -249,7 +273,7 @@ namespace BITKit.UX
|
||||
{
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
public virtual void Dispose()
|
||||
{
|
||||
RootVisualElement?.RemoveFromHierarchy();
|
||||
IsDisposed = true;
|
||||
|
Reference in New Issue
Block a user