M2C_StopHandler.cs 677 B

123456789101112131415161718192021222324
  1. using Unity.Mathematics;
  2. namespace ET.Client
  3. {
  4. [MessageHandler(SceneType.Client)]
  5. public class M2C_StopHandler : AMHandler<M2C_Stop>
  6. {
  7. protected override async ETTask Run(Session session, M2C_Stop message)
  8. {
  9. Unit unit = session.DomainScene().CurrentScene().GetComponent<UnitComponent>().Get(message.Id);
  10. if (unit == null)
  11. {
  12. return;
  13. }
  14. MoveComponent moveComponent = unit.GetComponent<MoveComponent>();
  15. moveComponent.Stop(message.Error == 0);
  16. unit.Position = message.Position;
  17. unit.Rotation = message.Rotation;
  18. unit.GetComponent<ObjectWait>()?.Notify(new Wait_UnitStop() {Error = message.Error});
  19. await ETTask.CompletedTask;
  20. }
  21. }
  22. }