Пример #1
0
        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);
        }
Пример #2
0
        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));
            }
        }