CaveHandler.cs 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. /*-----------------------------------------------
  2. *本文件由代码生成器自动生成,
  3. *千万不要修改本文件的任何代码,
  4. *修改的的任何代码都会被覆盖掉!
  5. --------------------------------------------------*/
  6. using System.IO;
  7. using System;
  8. using System.Collections.Generic;
  9. using System.Linq;
  10. using System.Text;
  11. using Pomelo.DotNetClient;
  12. namespace pomelo.cave
  13. {
  14. public class CaveHandler
  15. {
  16. private PomeloClient _socket;
  17. public GetCaveInfoResponse lastGetCaveInfoResponse { get { return _socket.GetLastResponse<GetCaveInfoResponse>(); } }
  18. public JoinCaveResponse lastJoinCaveResponse { get { return _socket.GetLastResponse<JoinCaveResponse>(); } }
  19. public ExitCaveResponse lastExitCaveResponse { get { return _socket.GetLastResponse<ExitCaveResponse>(); } }
  20. static CaveHandler()
  21. {
  22. EventTypes.RegistPushType("cave.cavePush.settlementCavePush", typeof(SettlementCavePush));
  23. EventTypes.RegistRequestType("cave.caveHandler.getCaveInfoRequest", typeof(GetCaveInfoRequest), typeof(GetCaveInfoResponse));
  24. EventTypes.RegistRequestType("cave.caveHandler.joinCaveRequest", typeof(JoinCaveRequest), typeof(JoinCaveResponse));
  25. EventTypes.RegistRequestType("cave.caveHandler.exitCaveRequest", typeof(ExitCaveRequest), typeof(ExitCaveResponse));
  26. }
  27. public CaveHandler(PomeloClient socket)
  28. {
  29. this._socket = socket;
  30. }
  31. public void getCaveInfoRequest(Action<PomeloException,GetCaveInfoResponse> cb,object option = null)
  32. {
  33. var request = new GetCaveInfoRequest();
  34. _socket.request<GetCaveInfoResponse>(request, (object msg, out int s2c_code, out string s2c_msg) => {
  35. var rsp = msg as GetCaveInfoResponse;
  36. s2c_code = rsp.s2c_code;
  37. s2c_msg = rsp.s2c_msg;
  38. return s2c_code == 200;
  39. }, cb, option);
  40. }
  41. public void joinCaveRequest(int caveId,Action<PomeloException,JoinCaveResponse> cb,object option = null)
  42. {
  43. var request = new JoinCaveRequest();
  44. request.caveId= caveId;
  45. _socket.request<JoinCaveResponse>(request, (object msg, out int s2c_code, out string s2c_msg) => {
  46. var rsp = msg as JoinCaveResponse;
  47. s2c_code = rsp.s2c_code;
  48. s2c_msg = rsp.s2c_msg;
  49. return s2c_code == 200;
  50. }, cb, option);
  51. }
  52. public void exitCaveRequest(Action<PomeloException,ExitCaveResponse> cb,object option = null)
  53. {
  54. var request = new ExitCaveRequest();
  55. _socket.request<ExitCaveResponse>(request, (object msg, out int s2c_code, out string s2c_msg) => {
  56. var rsp = msg as ExitCaveResponse;
  57. s2c_code = rsp.s2c_code;
  58. s2c_msg = rsp.s2c_msg;
  59. return s2c_code == 200;
  60. }, cb, option);
  61. }
  62. public void onSettlementCavePush(Action<SettlementCavePush> cb)
  63. {
  64. _socket.listen_once<SettlementCavePush>(cb);
  65. }
  66. }
  67. }