Exemplo n.º 1
0
        /**
         * Recibiendo la data del usuario
         **/
        protected override void OnDataReceived(string fullData)
        {
            base.OnDataReceived(fullData);

            if (_mustShowDebugInfo)
            {
                Debug.Log("BeforeDiff:\n" + fullData);
            }

            KuberaUser toDiff = JsonUtility.FromJson <KuberaUser>(fullData);

            //Solo se hace diff si no llego vacio del server
            if (toDiff.remoteDataVersion != -1)
            {
                localData.diffUser(toDiff, true);
            }

            isGettingData = false;

            if (_mustShowDebugInfo)
            {
                Debug.Log("Usuario sincronizado.");
            }

            if (!localData.currentUser.remoteLifesGranted)
            {
                if (_mustShowDebugInfo)
                {
                    Debug.Log("Granted Lifes: " + freeLifesAfterSignIn.ToString());
                }

                localData.giveUserLifes(freeLifesAfterSignIn);
                localData.currentUser.isDirty = localData.currentUser.updateremoteLifesGranted(true) || localData.currentUser.isDirty;
            }

            //Necesita subirse?
            if (localData.currentUser.isDirty)
            {
                if (_mustShowDebugInfo)
                {
                    Debug.Log("Subiendo datos sucios del usuario.");
                }
                updateData(localData.getUserDirtyData());
            }

            if (OnDataRetrieved != null)
            {
                OnDataRetrieved();
            }
        }