M2C_PathfindingResultHandler.cs 679 B

12345678910111213141516171819202122232425
  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. {
  13. for (int i = 0; i < message.Xs.Count; ++i)
  14. {
  15. list.List.Add(new Vector3(message.Xs[i], message.Ys[i], message.Zs[i]));
  16. }
  17. await unit.GetComponent<MoveComponent>().MoveToAsync(list.List, speed);
  18. }
  19. }
  20. }
  21. }