Files
Fishing2/Assets/Scripts/Fishing2~/Message/Map2C_MoveNotifyHandler.cs

36 lines
1.2 KiB
C#

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<Map2C_MoveNotify>
{
protected override async FTask Run(Session session, Map2C_MoveNotify message)
{
Log.Info($"收到移动推送 id={message.Id} stop={message.IsStop}");
// session.Scene
// session.Scene.GetComponent<MapUnitInfo>(message.Id),
var map = App.Main.GetComponent<Map>();
var unit = map.Units[message.Id];
var moveComponent = unit.GetComponent<CharacterControllerComponent>();
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;
}
}
}