public override void updateUserData <T> (string id, T serializableData) { GSUpdateUserRequest request = queue.getComponentAttachedToGameObject <GSUpdateUserRequest>("GS_UpdateUserData"); request.id = "update_" + id + "_" + UnityEngine.Random.Range(0, 99999).ToString("0000"); request.showDebugInfo = _mustShowDebugInfo; request.persistAfterFailed = true; request.playerId = id; request.jsonToUpdate = convertUserToJSON(serializableData as KuberaUser); request.initialize(getPath()); request.OnComplete += OnUserDataUpdated; addDependantRequest(request, false); }
private void OnUserDataUpdated(string request_id) { if (OnDataUpdated != null) { GSUpdateUserRequest request = (GSUpdateUserRequest)getRequestById(request_id); //Para que se desmarquen como sucios los datos locales hacemos un diff KuberaUser remoteUser = new KuberaUser(request.playerId); remoteUser.remoteDataVersion = request.data.version; remoteUser.levels = request.data.levels; remoteUser.maxLevelReached = request.data.maxLevelReached; remoteUser.gemsUse = request.data.gemsUse; remoteUser.gemsPurchase = request.data.gemsPurchase; remoteUser.gemsUseAfterPurchase = request.data.gemsUseAfterPurchase; remoteUser.lifesAsked = request.data.lifesAsked; remoteUser.remoteLifesGranted = request.data.remoteLifesGranted; OnDataUpdated(JsonUtility.ToJson(remoteUser)); } }