ArenaHandler.cs 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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.area
  13. {
  14. public class ArenaHandler
  15. {
  16. private PomeloClient _socket;
  17. public ArenaInfoResponse lastArenaInfoResponse { get { return _socket.GetLastResponse<ArenaInfoResponse>(); } }
  18. public EnterArenaAreaResponse lastEnterArenaAreaResponse { get { return _socket.GetLastResponse<EnterArenaAreaResponse>(); } }
  19. public LeaveArenaAreaResponse lastLeaveArenaAreaResponse { get { return _socket.GetLastResponse<LeaveArenaAreaResponse>(); } }
  20. public ArenaRewardResponse lastArenaRewardResponse { get { return _socket.GetLastResponse<ArenaRewardResponse>(); } }
  21. static ArenaHandler()
  22. {
  23. EventTypes.RegistPushType("area.arenaPush.onArenaBattleInfoPush", typeof(OnArenaBattleInfoPush));
  24. EventTypes.RegistPushType("area.arenaPush.onArenaBattleEndPush", typeof(OnArenaBattleEndPush));
  25. EventTypes.RegistRequestType("area.arenaHandler.arenaInfoRequest", typeof(ArenaInfoRequest), typeof(ArenaInfoResponse));
  26. EventTypes.RegistRequestType("area.arenaHandler.enterArenaAreaRequest", typeof(EnterArenaAreaRequest), typeof(EnterArenaAreaResponse));
  27. EventTypes.RegistRequestType("area.arenaHandler.leaveArenaAreaRequest", typeof(LeaveArenaAreaRequest), typeof(LeaveArenaAreaResponse));
  28. EventTypes.RegistRequestType("area.arenaHandler.arenaRewardRequest", typeof(ArenaRewardRequest), typeof(ArenaRewardResponse));
  29. }
  30. public ArenaHandler(PomeloClient socket)
  31. {
  32. this._socket = socket;
  33. }
  34. public void arenaInfoRequest(Action<PomeloException,ArenaInfoResponse> cb,object option = null)
  35. {
  36. var request = new ArenaInfoRequest();
  37. _socket.request<ArenaInfoResponse>(request, (object msg, out int s2c_code, out string s2c_msg) => {
  38. var rsp = msg as ArenaInfoResponse;
  39. s2c_code = rsp.s2c_code;
  40. s2c_msg = rsp.s2c_msg;
  41. return s2c_code == 200;
  42. }, cb, option);
  43. }
  44. public void enterArenaAreaRequest(Action<PomeloException,EnterArenaAreaResponse> cb,object option = null)
  45. {
  46. var request = new EnterArenaAreaRequest();
  47. _socket.request<EnterArenaAreaResponse>(request, (object msg, out int s2c_code, out string s2c_msg) => {
  48. var rsp = msg as EnterArenaAreaResponse;
  49. s2c_code = rsp.s2c_code;
  50. s2c_msg = rsp.s2c_msg;
  51. return s2c_code == 200;
  52. }, cb, option);
  53. }
  54. public void leaveArenaAreaRequest(Action<PomeloException,LeaveArenaAreaResponse> cb,object option = null)
  55. {
  56. var request = new LeaveArenaAreaRequest();
  57. _socket.request<LeaveArenaAreaResponse>(request, (object msg, out int s2c_code, out string s2c_msg) => {
  58. var rsp = msg as LeaveArenaAreaResponse;
  59. s2c_code = rsp.s2c_code;
  60. s2c_msg = rsp.s2c_msg;
  61. return s2c_code == 200;
  62. }, cb, option);
  63. }
  64. public void arenaRewardRequest(int c2s_type,Action<PomeloException,ArenaRewardResponse> cb,object option = null)
  65. {
  66. var request = new ArenaRewardRequest();
  67. request.c2s_type= c2s_type;
  68. _socket.request<ArenaRewardResponse>(request, (object msg, out int s2c_code, out string s2c_msg) => {
  69. var rsp = msg as ArenaRewardResponse;
  70. s2c_code = rsp.s2c_code;
  71. s2c_msg = rsp.s2c_msg;
  72. return s2c_code == 200;
  73. }, cb, option);
  74. }
  75. public void onArenaBattleInfoPush(Action<OnArenaBattleInfoPush> cb)
  76. {
  77. _socket.listen_once<OnArenaBattleInfoPush>(cb);
  78. }
  79. public void onArenaBattleEndPush(Action<OnArenaBattleEndPush> cb)
  80. {
  81. _socket.listen_once<OnArenaBattleEndPush>(cb);
  82. }
  83. }
  84. }