using Fantasy; using Fantasy.Async; using Fantasy.Network; using Fantasy.Network.Interface; using NBC; using Log = NBC.Log; namespace NBF.Fishing2 { public class Map2C_MoveNotifyHandler : Message { protected override async FTask Run(Session session, Map2C_MoveNotify message) { Log.Info($"收到移动推送 id={message.Id} stop={message.IsStop}"); // session.Scene // session.Scene.GetComponent(message.Id), var map = App.Main.GetComponent(); var unit = map.Units[message.Id]; var moveComponent = unit.GetComponent(); if (moveComponent != null) { if (message.IsStop) { moveComponent.OnServerStopMove(message.Position.ToVector3(), message.Timestamp); } else { moveComponent.OnServerStartMove(message.Position.ToVector3(), message.Direction.ToVector3(), 3, message.Timestamp); } } await FTask.CompletedTask; } } }