GameProxy.cs 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276
  1. using LitJson;
  2. using System;
  3. using System.Collections.Generic;
  4. namespace GFGGame
  5. {
  6. public class GameProxy
  7. {
  8. private const string API_GAME = "game";
  9. public static void ReqRoleInfo(long id)
  10. {
  11. Dictionary<string, object> data = JsonUtil.createJsonDic("id", id);
  12. Post(GameProtoId.GET_ROLE_INFO, "roleInfo", data, (GameResult result) =>
  13. {
  14. if (result == null || result.code == 0)
  15. {
  16. if (result != null && result.roleInfo != null)
  17. {
  18. GameController.PreEnterGame(result);
  19. }
  20. else
  21. {
  22. GameController.ShowCreateRole();
  23. }
  24. }
  25. });
  26. }
  27. public static void ReqCreateRole(long id, string name)
  28. {
  29. Dictionary<string, object> data = JsonUtil.createJsonDic("id", id, "name", name);
  30. Post(GameProtoId.CREATE_ROLE, "roleInfo", data, (GameResult result) =>
  31. {
  32. if (result == null || result.code == 0)
  33. {
  34. ViewManager.Hide(ViewName.CREATE_ROLE_VIEW);
  35. GameController.PreEnterGame(result);
  36. if (GameGlobal.isOfflineVisitor)
  37. {
  38. RoleDataManager.roleName = name;
  39. }
  40. if (GameGlobal.skipGuide)
  41. {
  42. ReqUpdateStoryProgress(10, 100, 100010, 10100);
  43. RoleDataManager.lvl = 100;
  44. }
  45. }
  46. });
  47. }
  48. public static void ReqUpdateTreasure()
  49. {
  50. Dictionary<string, object> data = JsonUtil.createJsonDic("id", RoleDataManager.roleId,
  51. "power", RoleDataManager.power,
  52. "gold", RoleDataManager.gold,
  53. "exp", RoleDataManager.exp,
  54. "lvl", RoleDataManager.lvl,
  55. "diaP", RoleDataManager.diaP,
  56. "diaR", RoleDataManager.diaR,
  57. "powerTime", RoleDataManager.powerTime
  58. );
  59. Post(GameProtoId.UPDATE_TREASURE, "roleInfo", data, (GameResult result) =>
  60. {
  61. });
  62. }
  63. public static void ReqUpdateStoryProgress(int chapter, int chapterLvl, int chapterJY, int chapterLvlJY)
  64. {
  65. Dictionary<string, object> data = JsonUtil.createJsonDic("chapter", chapter, "chapterLvl", chapterLvl, "chapterJY", chapterJY, "chapterLvlJY", chapterLvlJY, "id", RoleDataManager.roleId);
  66. Post(GameProtoId.UPDATE_STORY_PROGRESS, "roleInfo", data, (GameResult result) =>
  67. {
  68. StoryDataManager.SetPassData(chapter, chapterLvl);
  69. StoryDataManager.SetPassData(chapterJY, chapterLvlJY);
  70. });
  71. }
  72. public static void ReqGetStoryScoreList()
  73. {
  74. Dictionary<string, object> data = JsonUtil.createJsonDic("id", RoleDataManager.roleId);
  75. Post(GameProtoId.GET_STORY_SCORE_LIST, "roleInfo", data, (GameResult result) =>
  76. {
  77. if (result != null && result.storyScoreList != null)
  78. {
  79. StoryDataManager.InitScoreList(result.storyScoreList);
  80. }
  81. else
  82. {
  83. StoryDataManager.InitScoreList(null);
  84. }
  85. });
  86. }
  87. public static void ReqUpdateStoryScore(string lvlId, int score)
  88. {
  89. Dictionary<string, object> data = JsonUtil.createJsonDic("lvlId", lvlId, "score", score, "roleId", RoleDataManager.roleId);
  90. Post(GameProtoId.UPDATE_STORY_SCORE, "storyScore", data, (GameResult result) =>
  91. {
  92. });
  93. }
  94. public static void ReqGetStoryStarList()
  95. {
  96. Dictionary<string, object> data = JsonUtil.createJsonDic("id", RoleDataManager.roleId);
  97. Post(GameProtoId.GET_STORY_STAR_LIST, "roleInfo", data, (GameResult result) =>
  98. {
  99. if (result != null && result.storyStarList != null)
  100. {
  101. StoryDataManager.InitStarList(result.storyStarList);
  102. }
  103. else
  104. {
  105. StoryDataManager.InitStarList(null);
  106. }
  107. });
  108. }
  109. public static void ReqUpdateStoryStar(int chapterId, int star, string boxStatus)
  110. {
  111. Dictionary<string, object> data = JsonUtil.createJsonDic("chapterId", chapterId, "star", star, "roleId", RoleDataManager.roleId, "boxStatus", boxStatus);
  112. Post(GameProtoId.UPDATE_STORY_STAR, "storyStar", data, (GameResult result) =>
  113. {
  114. });
  115. }
  116. public static void ReqUpdateRoleSuit(CustomSuitData suitSavedData)
  117. {
  118. Dictionary<string, object> data = JsonUtil.createJsonDic("pos", suitSavedData.pos,
  119. "roleId", RoleDataManager.roleId,
  120. "equipIds", ArrayUtil<int>.JoinArrayToString(suitSavedData.equipDatas),
  121. "bg", suitSavedData.bg,
  122. "pic", suitSavedData.pic,
  123. "suitId", suitSavedData.suitId
  124. );
  125. Post(GameProtoId.UPDATE_ROLE_SUIT, "roleSuit", data, (GameResult result) =>
  126. {
  127. });
  128. }
  129. public static void ReqUpdateRoleSuitIndex(int suitIndex)
  130. {
  131. Dictionary<string, object> data = JsonUtil.createJsonDic("suitIndex", suitIndex, "id", RoleDataManager.roleId);
  132. Post(GameProtoId.UPDATE_ROLE_SUIT_INDEX, "roleInfo", data, (GameResult result) =>
  133. {
  134. });
  135. }
  136. public static void ReqUpdateRoleItems(List<RoleItem> itemList)
  137. {
  138. Dictionary<string, object> data = JsonUtil.createJsonDic("roleId", RoleDataManager.roleId, "itemList", itemList);
  139. Post(GameProtoId.UPDATE_ROLE_ITEMS, "roleItemList", data, (GameResult result) =>
  140. {
  141. });
  142. }
  143. public static void ReqUpdateRoleGuide(GuideData guideData)
  144. {
  145. Dictionary<string, object> data = JsonUtil.createJsonDic("guideId", guideData.guideId,
  146. "roleId", RoleDataManager.roleId,
  147. "count", guideData.count
  148. );
  149. Post(GameProtoId.UPDATE_ROLE_GUIDE, "roleGuide", data, (GameResult result) =>
  150. {
  151. });
  152. }
  153. public static void ReqUpdateTime()
  154. {
  155. Dictionary<string, object> data = JsonUtil.createJsonDic("id", RoleDataManager.roleId);
  156. Post(GameProtoId.GET_TIME, "roleInfo", data, (GameResult result) =>
  157. {
  158. if (result != null && result.roleInfo != null)
  159. {
  160. ServerDataManager.SetServerTime(result.roleInfo.serverTime);
  161. AntiAddictionController.CheckOnlineTime(result.roleInfo.onlineTimeSecs, result.roleInfo.onlineDurationSecs, result.roleInfo.onlineDurationSecsDay);
  162. RoleDataManager.rechargeTotalMon = result.roleInfo.rechargeTotalMon;
  163. }
  164. });
  165. }
  166. public static void ReqUpdateRecommendCount(int recommendCount)
  167. {
  168. int day = StoryDataManager.recommendDay;
  169. Dictionary<string, object> data = JsonUtil.createJsonDic("id", RoleDataManager.roleId, "recommendCount", recommendCount, "recommendDay", day);
  170. Post(GameProtoId.UPDATE_RECOMMEND_COUNT, "roleInfo", data, (GameResult result) =>
  171. {
  172. });
  173. }
  174. public static void ReqUpdateRecharge(int money)
  175. {
  176. Dictionary<string, object> data = JsonUtil.createJsonDic("roleId", RoleDataManager.roleId, "money", money);
  177. Post(GameProtoId.UPDATE_RECHARGE_TIME, "roleRecharge", data, (GameResult result) =>
  178. {
  179. if (result != null && result.roleInfo != null)
  180. {
  181. RoleDataManager.rechargeTotal = result.roleInfo.rechargeTotal;
  182. RoleDataManager.rechargeTotalMon = result.roleInfo.rechargeTotalMon;
  183. }
  184. });
  185. }
  186. public static void ReqUpdateSystemSuitBoxStatus(int suitId, int boxStatus, int boxStatusSyn)
  187. {
  188. Dictionary<string, object> data = JsonUtil.createJsonDic("suitId", suitId, "roleId", RoleDataManager.roleId, "boxStatus", boxStatus, "boxStatusSyn", boxStatusSyn);
  189. Post(GameProtoId.UPDATE_SYSTEM_SUIT_BOX_STATUS, "systemSuit", data, (GameResult result) =>
  190. {
  191. });
  192. }
  193. //============================================================
  194. public static void ReqUpdateCardStatus(CardData cardData)
  195. {
  196. int score1 = cardData.scores[ConstDressUpScoreType.SCORE_FENG];
  197. int score2 = cardData.scores[ConstDressUpScoreType.SCORE_HUA];
  198. int score3 = cardData.scores[ConstDressUpScoreType.SCORE_XUE];
  199. int score4 = cardData.scores[ConstDressUpScoreType.SCORE_YUE];
  200. Dictionary<string, object> data = JsonUtil.createJsonDic("roleId", RoleDataManager.roleId, "cardId", cardData.id, "lv", cardData.lv, "exp", cardData.exp, "star", cardData.star, "res", cardData.res, "score1", score1, "score2", score2, "score3", score3, "score4", score4);
  201. Post(GameProtoId.UPDATE_ROLE_CARD, "roleCard", data, (GameResult result) =>
  202. {
  203. EventAgent.DispatchEvent(ConstMessage.CARD_REFRESH);
  204. });
  205. }
  206. //============================================================
  207. private static void Get(string methodName, Action<GameResult> callback)
  208. {
  209. HttpTool.Instance.Get(GameGlobal.gameApiUrl, methodName, (string data) =>
  210. {
  211. ResultHandler(data, callback);
  212. });
  213. }
  214. private static void Post(int protoId, string dataName, object data, Action<GameResult> callback)
  215. {
  216. string postJsonStr = JsonUtil.createJsonStr("typeid", "" + protoId, dataName, data);
  217. HttpTool.Instance.Post(GameGlobal.gameApiUrl, API_GAME, postJsonStr, (string param) =>
  218. {
  219. ResultHandler(param, callback);
  220. });
  221. }
  222. private static void ResultHandler(string data, Action<GameResult> callback)
  223. {
  224. GameResult resultObj = null;
  225. if (!GameGlobal.isOfflineVisitor)
  226. {
  227. resultObj = null;
  228. if (data != null)
  229. {
  230. resultObj = JsonMapper.ToObject<GameResult>(data);
  231. }
  232. if (resultObj != null && resultObj.code != 0)
  233. {
  234. PromptController.Instance.ShowFloatTextPrompt(resultObj.message);
  235. }
  236. }
  237. if (callback != null)
  238. {
  239. callback(resultObj);
  240. }
  241. }
  242. }
  243. }