AchievementHandler.cs 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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.achievement
  13. {
  14. public class AchievementHandler
  15. {
  16. private PomeloClient _socket;
  17. public GetAchievementsResponse lastGetAchievementsResponse { get { return _socket.GetLastResponse<GetAchievementsResponse>(); } }
  18. public AchievementGetAwardResponse lastAchievementGetAwardResponse { get { return _socket.GetLastResponse<AchievementGetAwardResponse>(); } }
  19. static AchievementHandler()
  20. {
  21. EventTypes.RegistPushType("achievement.achievementPush.updateAchievementPush", typeof(UpdateAchievementPush));
  22. EventTypes.RegistRequestType("achievement.achievementHandler.getAchievementsRequest", typeof(GetAchievementsRequest), typeof(GetAchievementsResponse));
  23. EventTypes.RegistRequestType("achievement.achievementHandler.achievementGetAwardRequest", typeof(AchievementGetAwardRequest), typeof(AchievementGetAwardResponse));
  24. }
  25. public AchievementHandler(PomeloClient socket)
  26. {
  27. this._socket = socket;
  28. }
  29. public void getAchievementsRequest(Action<PomeloException,GetAchievementsResponse> cb,object option = null)
  30. {
  31. var request = new GetAchievementsRequest();
  32. _socket.request<GetAchievementsResponse>(request, (object msg, out int s2c_code, out string s2c_msg) => {
  33. var rsp = msg as GetAchievementsResponse;
  34. s2c_code = rsp.s2c_code;
  35. s2c_msg = rsp.s2c_msg;
  36. return s2c_code == 200;
  37. }, cb, option);
  38. }
  39. public void achievementGetAwardRequest(int c2s_id,Action<PomeloException,AchievementGetAwardResponse> cb,object option = null)
  40. {
  41. var request = new AchievementGetAwardRequest();
  42. request.c2s_id= c2s_id;
  43. _socket.request<AchievementGetAwardResponse>(request, (object msg, out int s2c_code, out string s2c_msg) => {
  44. var rsp = msg as AchievementGetAwardResponse;
  45. s2c_code = rsp.s2c_code;
  46. s2c_msg = rsp.s2c_msg;
  47. return s2c_code == 200;
  48. }, cb, option);
  49. }
  50. public void onUpdateAchievementPush(Action<UpdateAchievementPush> cb)
  51. {
  52. _socket.listen_once<UpdateAchievementPush>(cb);
  53. }
  54. }
  55. }