public bool ProcessRequest(IGameDataRequest <IGameData> request, out IResponse response) { ErrorMessage error; if (!_gameDataRequestValidator.IsValid(request, out error)) { response = new GameDataResponse().SetErrorResponse(error); return(false); } if (!_processor.TryProcess(request, out response) && response != null) { return(false); } if (request.RequestType == RequestType.Read) { response = ReadFromState(request.Payload); return(true); } response = ApplyToState(request, response); return(true); }
private void EventGetMessageBoxCallback() { GameDataResponse gameDataResponse = new GameDataResponse(); gameDataResponse.setData(buffer, 4); EventGetMessageBoxAct(gameDataResponse); }
public bool TryProcess(IGameDataRequest <IGameData> request, out IResponse response) { switch (request.RequestType) { case RequestType.Create: return(TryPersistRecord(request, out response)); case RequestType.Update: return(TryUpdateRecord(request, out response)); case RequestType.Delete: return(TryDeleteRecord(request, out response)); case RequestType.Read: { //There's no real processing to do here response = null; return(true); } default: { var errorMessage = new ErrorMessage(ErrorCode.RequestTypeNotSupported); response = new GameDataResponse().SetErrorResponse(errorMessage); return(false); } } }
private void EventGetDeviceAndSocialCoreDataCallback() { GameDataResponse gameDataResponse = new GameDataResponse(); gameDataResponse.setData(buffer, 4); EventGetDeviceAndSocialCoreDataAct(gameDataResponse); }
private void EventGetGamecenterDataCallback() { GameDataResponse gameDataResponse = new GameDataResponse(); gameDataResponse.setData(buffer, 4); EventGetGamecenterDataAct(gameDataResponse); }
//登录回调接口 private void LoginDataCallback() { GameDataResponse gameDataResponse = new GameDataResponse(); gameDataResponse.setData(buffer, 4); GameDataResponse loginDataResponse = new GameDataResponse(); if (gameDataResponse.code != 0) { loginDataResponse.code = gameDataResponse.code; loginDataResponse.data = ""; loginDataResponse.message = "Login Failed!"; Debug.Log("login exception : " + gameDataResponse.data); Debug.Log("login exception : " + gameDataResponse.message); } else { byte[] ys = new byte[2048]; getGameConstData(ys, 2048); GameConstData gameConstData = new GameConstData(); gameConstData.setData(ys, 0); loginDataResponse.code = gameDataResponse.code; loginDataResponse.data = CombineJsonMethod(gameConstData.userId, gameConstData.sceneId, gameConstData.token); loginDataResponse.message = "Login Successful!"; loginDataResponse.gameData = gameDataResponse.data; //loginDataResponse.notify = gameDataResponse.notify; } loginDataAct(loginDataResponse); }
private void EventRemoveAccountCallback() { GameDataResponse gameDataResponse = new GameDataResponse(); gameDataResponse.setData(buffer, 4); EventRemoveAccountAct(gameDataResponse); }
//调用操作id public GameDataResponse DoStoreOperation(string jsonData) { byte[] byteArray = System.Text.Encoding.Default.GetBytes(jsonData); //int len = 1024 * 2048; //byte[] ys = new byte[len]; if (buffer == null) { buffer = new byte[len]; } for (int i = 0; i < len; i++) { buffer[i] = 0; } Array.Copy(byteArray, buffer, byteArray.Length); buffer[byteArray.Length] = 0; doOfflineOperation(32760, buffer, len); GameDataResponse gameDataResponse = new GameDataResponse(); gameDataResponse.setData(buffer, 0); return(gameDataResponse); }
//-999冲突回调接口 private void ConflictDataCallback() { GameDataResponse conflictDataResponse = new GameDataResponse(); conflictDataResponse.setData(buffer, 4); //notify game to handle response. conflictDataAct(conflictDataResponse); }
//数据刷新函数,回调接口 private void GameDataCallback() { GameDataResponse gameDataResponse = new GameDataResponse(); gameDataResponse.setData(buffer, 4); //notify game to handle response. gameDataAct(gameDataResponse); }
//调用操作id public GameDataResponse DoOfflineOperation(int operationCode) { byte[] ys = new byte[2048]; doOfflineOperation(operationCode, ys, 2048); GameDataResponse gameDataResponse = new GameDataResponse(); gameDataResponse.setData(ys, 0); return(gameDataResponse); }
public static List <GameData> GetAllSteamGames() { string steamGamesUrl = SteamBaseUrl + $"ISteamApps/GetAppList/v0002/?&format=json"; GameDataResponse gameResponse = WebApiHelper.GetModelFromRepsonce <GameDataResponse>(steamGamesUrl, WebApiHelper.EnumAcceptHeaders.Json); List <GameData> gameList = new List <GameData>(); if (gameResponse.GameResponseInfo.ListGames.Count > 0) { gameList = gameResponse.GameResponseInfo.ListGames; } return(gameList); }
public GameDataResponse DoOfflineOperationByKey(string key, string val) { Encoding e = Encoding.GetEncoding("UTF-8"); e.Clone(); byte[] pKey = e.GetBytes(key); byte[] pTempKey = new byte[pKey.Length + 10]; int jj = 0; for (jj = 0; jj < pKey.Length; jj++) { pTempKey[jj] = pKey[jj]; } pTempKey[jj] = 0; Encoding ee = Encoding.GetEncoding("UTF-8"); ee.Clone(); byte[] pVal = ee.GetBytes(val); byte[] pTempVal = new byte[pVal.Length + 10]; int ii = 0; for (ii = 0; ii < pVal.Length; ii++) { pTempVal[ii] = pVal[ii]; } pTempVal[ii] = 0; if (buffer == null) { buffer = new byte[len]; } //byte[] ys = new byte[2048 * 1024]; for (int i = 0; i < len; i++) { buffer[i] = 0; } GameDataResponse gameDataResponse = new GameDataResponse(); doOfflineOperationByKey(pTempKey, pTempVal, buffer); gameDataResponse.setData(buffer, 0); return(gameDataResponse); }
//加载游戏数据,id默认为-1 public GameDataResponse LoadGameData() { if (buffer == null) { buffer = new byte[len]; } for (int i = 0; i < len; i++) { buffer[i] = 0; } //byte[] ys = new byte[1024 * 2048]; doOfflineOperation(-1, buffer, 1024 * 2048); GameDataResponse gameDataResponse = new GameDataResponse(); gameDataResponse.setData(buffer, 0); return(gameDataResponse); }
private void HandleLoginDataAct(GameDataResponse data) { if (data.code == 0) { var jsonData = JsonMapper.ToObject(data.data.Trim()); UserID = jsonData["userId"].ToString(); Token = jsonData["token"].ToString(); SceneID = jsonData["sceneId"].ToString(); logged = true; Debug.Log("login complete json:" + data.data); //同步存档数据 data.gameData PlayerDataMgr.singleton.SyncServerData(data.gameData); loginCallback?.Invoke(true); } else { loginCallback?.Invoke(false); } }
public static void Build(JSONObject response) { ResponseEvent responseEvent = Spil.MonoInstance.gameObject.AddComponent <ResponseEvent>(); responseEvent.eventName = response.GetField("name").str; if (response.HasField("type")) { responseEvent.type = response.GetField("type").str; } if (response.HasField("action")) { responseEvent.action = response.GetField("action").str; } if (response.HasField("data")) { responseEvent.data = response.GetField("data"); } if (responseEvent.type != null) { switch (responseEvent.type.ToLower().Trim()) { case "advertisement": AdvertisementResponse.ProcessAdvertisementResponse(responseEvent); break; case "overlay": OverlayResponse.ProcessOverlayResponse(responseEvent); break; case "gameconfig": ConfigResponse.ProcessConfigResponse(responseEvent); break; case "packages": PackagesResponse.ProcessPackagesResponse(responseEvent); break; case "notification": break; case "gamedata": GameDataResponse.ProcessGameDataResponse(responseEvent); break; case "promotions": PromotionsResponse.ProcessPromotionResponse(responseEvent); break; case "userdata": UserDataResponse.ProcessUserDataResponse(responseEvent); break; case "playerdata": PlayerDataResponse.ProcessPlayerDataResponse(responseEvent); break; case "gamestate": GameStateResponse.ProcessGameStateResponse(responseEvent); break; case "reward": RewardResponse.ProcessRewardResponse(responseEvent); break; case "liveevent": LiveEventResponse.ProcessLiveEventResponse(responseEvent); break; case "authentication": SocialLoginResponse.ProcessSocialLoginResponse(responseEvent); break; } } GameObject.Destroy(responseEvent); }