49 lines
1.6 KiB
C#
49 lines
1.6 KiB
C#
|
using Cysharp.Threading.Tasks;
|
||
|
|
||
|
namespace Game
|
||
|
{
|
||
|
[Procedure(ProcedureType.LoadingHallSceneProcedure)]
|
||
|
class LoadingHallSceneProcedure : ProcedureBase
|
||
|
{
|
||
|
public override void Init()
|
||
|
{
|
||
|
base.Init();
|
||
|
EventManager.Instance.Subscribe(InputNameFinishEventArgs.EventId, this.InputNameFinishEvent);
|
||
|
}
|
||
|
|
||
|
public override void Dispose()
|
||
|
{
|
||
|
base.Dispose();
|
||
|
EventManager.Instance.Unsubscribe(InputNameFinishEventArgs.EventId, this.InputNameFinishEvent);
|
||
|
}
|
||
|
|
||
|
private void InputNameFinishEvent(object sender, GameEventArgs e)
|
||
|
{
|
||
|
var args = e as InputNameFinishEventArgs;
|
||
|
Game.currentPlayerData = new GlobalPlayerData(args.playerName, 1, 1000);
|
||
|
// var player = Game.playerManager.CreatePlayer(args.playerName, 1000);
|
||
|
// Game.playerManager.SetCurrentPlayer(player);
|
||
|
Game.procedureManager.ChangeProcedure(ProcedureType.HallSceneMainLogicProcedure);
|
||
|
}
|
||
|
|
||
|
public override void OnEnter()
|
||
|
{
|
||
|
base.OnEnter();
|
||
|
UniTask.Create(this.WaitLoadSceneFinish);
|
||
|
}
|
||
|
|
||
|
public override void OnLeave()
|
||
|
{
|
||
|
base.OnLeave();
|
||
|
Game.uiManager.ShowUI(UIType.HallSceneMainUI);
|
||
|
Game.uiManager.HideUI(UIType.InputNameUI);
|
||
|
}
|
||
|
|
||
|
async UniTask WaitLoadSceneFinish()
|
||
|
{
|
||
|
await Game.resourceManager.LoadSceneAsync(AssetConstPath.Assets_GameRes_Scene_Hall);
|
||
|
Game.uiManager.ShowUI(UIType.InputNameUI);
|
||
|
EventManager.Instance.FireNow(this, new LoadingGameSceneFinishEventArgs(true));
|
||
|
}
|
||
|
}
|
||
|
}
|