BITFALL/Assets/Artists/Scripts/UX/Loading.cs

40 lines
1.3 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UIElements;
using UnityEngine.InputSystem;
using BITKit;
using BITKit.UX;
using BITKit.Entities;
namespace BITFALL.UX
{
public class Loading : UXPanel
{
[Header(Constant.Header.Providers)]
[SerializeField, SerializeReference, SubclassSelector]
private INetClient netClient;
[SerializeField, SerializeReference, SubclassSelector]
private INetProvider netProvider;
[Header(Constant.Header.Components)]
public UXBar loadBar;
public UXLabel loadText;
public override void OnStart()
{
base.OnStart();
//DI.Get<ClientBase>().AddStateHandler(NetworkState.Connected, OnConnected);
//DI.Get<ClientBase>().AddStateHandler(NetworkState.TryToConnect, OnStartConnect);
netClient.OnStartConnect += OnStartConnect;
Data.AddListener<IProgress>(OnLoadProgress);
}
private void OnStartConnect()
{
loadBar.SetDirect(0,"正在开始加载");
UXFramework.Enter<Loading>();
}
private void OnLoadProgress(IProgress progress)
{
loadBar.Set(progress.Progress);
loadText.Set(progress.Message);
}
}
}