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));
|
|
}
|
|
}
|
|
} |