60 lines
2.2 KiB
C#
60 lines
2.2 KiB
C#
using System.Collections.Generic;
|
|
using Game.Pathfinding;
|
|
using JetBrains.Annotations;
|
|
using UnityEngine;
|
|
using System.Linq;
|
|
using System.Threading;
|
|
using Cysharp.Threading.Tasks;
|
|
using Game.RayCast;
|
|
using Game.Room;
|
|
|
|
namespace Game
|
|
{
|
|
[Procedure(ProcedureType.GameSceneLogicProcedure)]
|
|
class GameSceneLogicProcedure : ProcedureBase
|
|
{
|
|
public override void OnEnter()
|
|
{
|
|
base.OnEnter();
|
|
|
|
EventManager.Instance.Subscribe(InputObjectFinishEventArgs.EventId, InputObjectFinishEvent);
|
|
// EventManager.Instance.Subscribe(PlayerMoveToRoomEventArgs.EventId, PlayerMoveToRoomEvent);
|
|
|
|
// UniTask.Create(async () =>
|
|
// {
|
|
// await ResourceManager.Instance.LoadSceneAsync(SceneType.Game.ToString());
|
|
// EventManager.Instance.FireNow(this,new LoadingGameSceneFinishEventArgs(true));
|
|
// });
|
|
|
|
// player.MoveAsync()
|
|
|
|
// var findPath = Game.bfsManager.FindPath(new Vector2(-29f, -16.5f), new Vector3(-15.8f, 44.3f));
|
|
// var wayPoints = new List<WayPoint>();
|
|
// findPath.GetDatas(wayPoints);
|
|
// Debug.Log($"Indices:{string.Join(',',findPath.GetNodes().Select(x=> x.index))}");
|
|
// Debug.Log($"Positions:{string.Join(',',findPath.GetNodes().Select(x=> x.data.position))}");
|
|
}
|
|
|
|
// private void PlayerMoveToRoomEvent(object sender, GameEventArgs e)
|
|
// {
|
|
// var args = e as PlayerMoveToRoomEventArgs;
|
|
// }
|
|
|
|
private void InputObjectFinishEvent(object sender, GameEventArgs e)
|
|
{
|
|
var args = e as InputObjectFinishEventArgs;
|
|
var inputData = args.data as MouseInputData;
|
|
var roomInfo = inputData.go.GetComponent<RoomInfo>();
|
|
|
|
UniTask.Create(async () => { await Game.roomManager.JoinRoomAsync(roomInfo.roomType, Game.playerManager.currentPlayer, new CancellationToken()); });
|
|
}
|
|
|
|
|
|
public override void OnLeave()
|
|
{
|
|
base.OnLeave();
|
|
// UIManager.Instance.ShowUI(UIType.GameSceneMainUI);
|
|
// ProcedureManager.Instance.ChangeProcedure(ProcedureType.GameSceneLogicProcedure);
|
|
}
|
|
}
|
|
} |