GameProxy.cs 12 KB

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