M2C_PathfindingResultHandler.cs 667 B

123456789101112131415161718192021222324
  1. using UnityEngine;
  2. namespace ET
  3. {
  4. [MessageHandler]
  5. public class M2C_PathfindingResultHandler : AMHandler<M2C_PathfindingResult>
  6. {
  7. protected override async ETVoid Run(Session session, M2C_PathfindingResult message)
  8. {
  9. Unit unit = session.Domain.GetComponent<UnitComponent>().Get(message.Id);
  10. float speed = unit.GetComponent<NumericComponent>().GetAsFloat(NumericType.Speed);
  11. using var list = ListComponent<Vector3>.Create();
  12. for (int i = 0; i < message.Xs.Count; ++i)
  13. {
  14. list.List.Add(new Vector3(message.Xs[i], message.Ys[i], message.Zs[i]));
  15. }
  16. await unit.GetComponent<MoveComponent>().MoveToAsync(list.List, speed);
  17. }
  18. }
  19. }