using LitJson; using System; using System.Collections.Generic; namespace GFGGame { public class GameProxy { private const string API_GAME = "game"; public static void ReqRoleInfo(long id) { Dictionary data = JsonUtil.createJsonDic("id", id); Post(GameProtoId.GET_ROLE_INFO, "roleInfo", data, (GameResult result) => { if (result == null || result.code == 0) { if (result != null && result.roleInfo != null) { //GameController.PreEnterGame(result); } else { GameController.ShowCreateRole(); } } }); } public static void ReqCreateRole(long id, string name) { Dictionary data = JsonUtil.createJsonDic("id", id, "name", name); Post(GameProtoId.CREATE_ROLE, "roleInfo", data, (GameResult result) => { if (result == null || result.code == 0) { ViewManager.Hide(ViewName.CREATE_ROLE_VIEW); GameGlobal.isFirstEntry = true; //GameController.PreEnterGame(result); if (GameGlobal.skipGuide) { ReqUpdateStoryProgress(10, 100, 100010, 10100); //RoleDataManager.lvl = 100; } } }); } public static void ReqUpdateTreasure() { Dictionary data = JsonUtil.createJsonDic("id", RoleDataManager.roleId //"power", RoleDataManager.power, //"gold", RoleDataManager.gold, //"exp", RoleDataManager.exp, //"lvl", RoleDataManager.lvl, //"diaP", RoleDataManager.diaP, //"diaR", RoleDataManager.diaR //"powerTime", RoleDataManager.powerTime ); Post(GameProtoId.UPDATE_TREASURE, "roleInfo", data, (GameResult result) => { }); } public static void ReqUpdateStoryProgress(int chapter, int chapterLvl, int chapterJY, int chapterLvlJY) { Dictionary data = JsonUtil.createJsonDic("chapter", chapter, "chapterLvl", chapterLvl, "chapterJY", chapterJY, "chapterLvlJY", chapterLvlJY, "id", RoleDataManager.roleId); Post(GameProtoId.UPDATE_STORY_PROGRESS, "roleInfo", data, (GameResult result) => { StoryDataManager.SetPassData(chapter, chapterLvl); StoryDataManager.SetPassData(chapterJY, chapterLvlJY); }); } public static void ReqGetStoryScoreList() { Dictionary data = JsonUtil.createJsonDic("id", RoleDataManager.roleId); Post(GameProtoId.GET_STORY_SCORE_LIST, "roleInfo", data, (GameResult result) => { if (result != null && result.storyScoreList != null) { StoryDataManager.InitScoreList(result.storyScoreList); } else { StoryDataManager.InitScoreList(null); } }); } public static void ReqUpdateStoryScore(string lvlId, int score) { Dictionary data = JsonUtil.createJsonDic("lvlId", lvlId, "score", score, "roleId", RoleDataManager.roleId); Post(GameProtoId.UPDATE_STORY_SCORE, "storyScore", data, (GameResult result) => { }); } public static void ReqGetStoryStarList() { Dictionary data = JsonUtil.createJsonDic("id", RoleDataManager.roleId); Post(GameProtoId.GET_STORY_STAR_LIST, "roleInfo", data, (GameResult result) => { if (result != null && result.storyStarList != null) { StoryDataManager.InitStarList(result.storyStarList); } else { StoryDataManager.InitStarList(null); } }); } public static void ReqUpdateStoryStar(int chapterId, int star, string boxStatus) { Dictionary data = JsonUtil.createJsonDic("chapterId", chapterId, "star", star, "roleId", RoleDataManager.roleId, "boxStatus", boxStatus); Post(GameProtoId.UPDATE_STORY_STAR, "storyStar", data, (GameResult result) => { }); } public static void ReqUpdateRoleSuit(CustomSuitData suitSavedData) { Dictionary data = JsonUtil.createJsonDic("pos", suitSavedData.pos, "roleId", RoleDataManager.roleId, "equipIds", ArrayUtil.JoinArrayToString(suitSavedData.equipDatas), "bg", suitSavedData.bg, "pic", suitSavedData.pic, "suitId", suitSavedData.suitId ); Post(GameProtoId.UPDATE_ROLE_SUIT, "roleSuit", data, (GameResult result) => { }); } public static void ReqUpdateRoleSuitIndex(int suitIndex) { Dictionary data = JsonUtil.createJsonDic("suitIndex", suitIndex, "id", RoleDataManager.roleId); Post(GameProtoId.UPDATE_ROLE_SUIT_INDEX, "roleInfo", data, (GameResult result) => { }); } public static void ReqUpdateRoleItems(List itemList) { Dictionary data = JsonUtil.createJsonDic("roleId", RoleDataManager.roleId, "itemList", itemList); Post(GameProtoId.UPDATE_ROLE_ITEMS, "roleItemList", data, (GameResult result) => { }); } public static void ReqUpdateRoleGuide(GuideData guideData) { Dictionary data = JsonUtil.createJsonDic("guideId", guideData.guideId, "roleId", RoleDataManager.roleId, "count", guideData.count ); Post(GameProtoId.UPDATE_ROLE_GUIDE, "roleGuide", data, (GameResult result) => { }); } public static void ReqUpdateTime() { Dictionary data = JsonUtil.createJsonDic("id", RoleDataManager.roleId); Post(GameProtoId.GET_TIME, "roleInfo", data, (GameResult result) => { if (result != null && result.roleInfo != null) { ServerDataManager.SetServerTime(result.roleInfo.serverTime); AntiAddictionController.CheckOnlineTime(result.roleInfo.onlineTimeSecs, result.roleInfo.onlineDurationSecs, result.roleInfo.onlineDurationSecsDay); RoleDataManager.rechargeTotalMon = result.roleInfo.rechargeTotalMon; } }); } public static void ReqUpdateRecommendCount(int recommendCount) { int day = StoryDataManager.recommendDay; Dictionary data = JsonUtil.createJsonDic("id", RoleDataManager.roleId, "recommendCount", recommendCount, "recommendDay", day); Post(GameProtoId.UPDATE_RECOMMEND_COUNT, "roleInfo", data, (GameResult result) => { }); } public static void ReqUpdateRecharge(int money) { Dictionary data = JsonUtil.createJsonDic("roleId", RoleDataManager.roleId, "money", money); Post(GameProtoId.UPDATE_RECHARGE_TIME, "roleRecharge", data, (GameResult result) => { if (result != null && result.roleInfo != null) { RoleDataManager.rechargeTotal = result.roleInfo.rechargeTotal; RoleDataManager.rechargeTotalMon = result.roleInfo.rechargeTotalMon; } }); } public static void ReqUpdateSystemSuitBoxStatus(int suitId, int boxStatus, int boxStatusSyn) { Dictionary data = JsonUtil.createJsonDic("suitId", suitId, "roleId", RoleDataManager.roleId, "boxStatus", boxStatus, "boxStatusSyn", boxStatusSyn); Post(GameProtoId.UPDATE_SYSTEM_SUIT_BOX_STATUS, "systemSuit", data, (GameResult result) => { }); } //============================================================ public static void ReqUpdateCardStatus(CardData cardData) { int score1 = cardData.scores[ConstDressUpScoreType.SCORE_FENG]; int score2 = cardData.scores[ConstDressUpScoreType.SCORE_HUA]; int score3 = cardData.scores[ConstDressUpScoreType.SCORE_XUE]; int score4 = cardData.scores[ConstDressUpScoreType.SCORE_YUE]; Dictionary 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); Post(GameProtoId.UPDATE_ROLE_CARD, "roleCard", data, (GameResult result) => { EventAgent.DispatchEvent(ConstMessage.CARD_REFRESH); }); } //============================================================ private static void Get(string methodName, Action callback) { HttpTool.Instance.Get(GameGlobal.gameApiUrl, methodName, (string data) => { ResultHandler(data, callback); }); } private static void Post(int protoId, string dataName, object data, Action callback) { string postJsonStr = JsonUtil.createJsonStr("typeid", "" + protoId, dataName, data); HttpTool.Instance.Post(GameGlobal.gameApiUrl, API_GAME, postJsonStr, (string param) => { ResultHandler(param, callback); }); } private static void ResultHandler(string data, Action callback) { GameResult resultObj = null; resultObj = null; if (data != null) { resultObj = JsonMapper.ToObject(data); } if (resultObj != null && resultObj.code != 0) { PromptController.Instance.ShowFloatTextPrompt(resultObj.message); } if (callback != null) { callback(resultObj); } } } }