ObjectGetRequestHandler.cs 701 B

12345678910111213141516171819202122232425262728
  1. using System;
  2. using ETModel;
  3. namespace ETHotfix
  4. {
  5. [MessageHandler(AppType.Location)]
  6. public class ObjectGetRequestHandler : AMRpcHandler<ObjectGetRequest, ObjectGetResponse>
  7. {
  8. protected override async void Run(Session session, ObjectGetRequest message, Action<ObjectGetResponse> reply)
  9. {
  10. ObjectGetResponse response = new ObjectGetResponse();
  11. try
  12. {
  13. long instanceId = await Game.Scene.GetComponent<LocationComponent>().GetAsync(message.Key);
  14. if (instanceId == 0)
  15. {
  16. response.Error = ErrorCode.ERR_ActorLocationNotFound;
  17. }
  18. response.InstanceId = instanceId;
  19. reply(response);
  20. }
  21. catch (Exception e)
  22. {
  23. ReplyError(response, e, reply);
  24. }
  25. }
  26. }
  27. }