using Fantasy; using Fantasy.Async; using Fantasy.Network.Interface; namespace NB.Map; public class C2Map_LookHandler : Route { protected override async FTask Run(MapUnit entity, C2Map_Look message) { var roomManageComponent = entity.Scene.GetComponent(); var roomId = entity.RoomId; var room = roomManageComponent.Get(roomId); if (room == null) { return; } var notifyMessage = new Map2C_LookeNotify() { Id = entity.Id, Rotation = message.Rotation, Timestamp = message.Timestamp }; entity.Rotation.x = message.Rotation.x; entity.Rotation.y = message.Rotation.y; entity.Rotation.z = message.Rotation.z; foreach (var (_, unit) in room.Units) { entity.Scene.NetworkMessagingComponent.SendInnerRoute(unit.GateRouteId, notifyMessage); } await FTask.CompletedTask; } }