using System.Threading; using Cysharp.Threading.Tasks; using Game.Room; namespace Game; [Procedure(ProcedureType.EnterGameSceneProcedure)] class EnterGameSceneProcedure : ProcedureBase { public override void OnEnter() { base.OnEnter(); var room = Game.roomManager.CreateRoom(RoomType.出生点); Game.roomManager.CreateRoom(RoomType.伏龙阁); Game.roomManager.CreateRoom(RoomType.杂物室); Game.roomManager.CreateRoom(RoomType.训练堂); Game.roomManager.CreateRoom(RoomType.先祖大厅); Game.roomManager.CreateRoom(RoomType.圣龙残骸); Game.roomManager.CreateRoom(RoomType.天池遗址); Game.roomManager.CreateRoom(RoomType.沙慕龙阁); Game.roomManager.CreateRoom(RoomType.英雄圣殿); var player = Game.playerManager.currentPlayer; var joinPosition = room.roomInfo.GetJoinPosition(); // var wayPoints = Game.bfsManager.FindPath(joinPosition); UniTask.Create(async () => { await player.WaitMoveRoomAsync(room, new CancellationToken()); // await player.MoveAsync(wayPoints, new CancellationToken()); Game.procedureManager.ChangeProcedure(ProcedureType.GameSceneLogicProcedure); }); } public override void OnLeave() { base.OnLeave(); } }