M2C_PathfindingResultHandler.cs 722 B

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