RedPacketHandler.cs 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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.redpacket
  13. {
  14. public class RedPacketHandler
  15. {
  16. private PomeloClient _socket;
  17. public GetRedPacketListResponse lastGetRedPacketListResponse { get { return _socket.GetLastResponse<GetRedPacketListResponse>(); } }
  18. public DispatchRedPacketResponse lastDispatchRedPacketResponse { get { return _socket.GetLastResponse<DispatchRedPacketResponse>(); } }
  19. public FetchRedPacketResponse lastFetchRedPacketResponse { get { return _socket.GetLastResponse<FetchRedPacketResponse>(); } }
  20. static RedPacketHandler()
  21. {
  22. EventTypes.RegistPushType("redpacket.redPacketPush.onRedPacketDispatchPush", typeof(OnRedPacketDispatchPush));
  23. EventTypes.RegistRequestType("redpacket.redPacketHandler.getRedPacketListRequest", typeof(GetRedPacketListRequest), typeof(GetRedPacketListResponse));
  24. EventTypes.RegistRequestType("redpacket.redPacketHandler.dispatchRedPacketRequest", typeof(DispatchRedPacketRequest), typeof(DispatchRedPacketResponse));
  25. EventTypes.RegistRequestType("redpacket.redPacketHandler.fetchRedPacketRequest", typeof(FetchRedPacketRequest), typeof(FetchRedPacketResponse));
  26. }
  27. public RedPacketHandler(PomeloClient socket)
  28. {
  29. this._socket = socket;
  30. }
  31. public void getRedPacketListRequest(Action<PomeloException,GetRedPacketListResponse> cb,object option = null)
  32. {
  33. var request = new GetRedPacketListRequest();
  34. _socket.request<GetRedPacketListResponse>(request, (object msg, out int s2c_code, out string s2c_msg) => {
  35. var rsp = msg as GetRedPacketListResponse;
  36. s2c_code = rsp.s2c_code;
  37. s2c_msg = rsp.s2c_msg;
  38. return s2c_code == 200;
  39. }, cb, option);
  40. }
  41. public void dispatchRedPacketRequest(int count,int totalNum,int channelType,int fetchType,int benifitType,string message,Action<PomeloException,DispatchRedPacketResponse> cb,object option = null)
  42. {
  43. var request = new DispatchRedPacketRequest();
  44. request.count= count;
  45. request.totalNum= totalNum;
  46. request.channelType= channelType;
  47. request.fetchType= fetchType;
  48. request.benifitType= benifitType;
  49. request.message= message;
  50. _socket.request<DispatchRedPacketResponse>(request, (object msg, out int s2c_code, out string s2c_msg) => {
  51. var rsp = msg as DispatchRedPacketResponse;
  52. s2c_code = rsp.s2c_code;
  53. s2c_msg = rsp.s2c_msg;
  54. return s2c_code == 200;
  55. }, cb, option);
  56. }
  57. public void fetchRedPacketRequest(string id,Action<PomeloException,FetchRedPacketResponse> cb,object option = null)
  58. {
  59. var request = new FetchRedPacketRequest();
  60. request.id= id;
  61. _socket.request<FetchRedPacketResponse>(request, (object msg, out int s2c_code, out string s2c_msg) => {
  62. var rsp = msg as FetchRedPacketResponse;
  63. s2c_code = rsp.s2c_code;
  64. s2c_msg = rsp.s2c_msg;
  65. return s2c_code == 200;
  66. }, cb, option);
  67. }
  68. public void onRedPacketDispatchPush(Action<OnRedPacketDispatchPush> cb)
  69. {
  70. _socket.listen_once<OnRedPacketDispatchPush>(cb);
  71. }
  72. }
  73. }