Exemplo n.º 1
0
        /**
         * Cuando se recibe el usuario (sin informacion solo sus identificaciones)
         **/
        protected override void OnUserReceived(RemoteUser remoteUser)
        {
            base.OnUserReceived(remoteUser);

            //Exsitia un usuario creado con id de facebook temporal?
            KuberaUser kUser = localData.getCurrentData().getUserById(currentUser.facebookId);

            if (kUser != null)
            {
                //Le asignamos su id de verdad
                kUser._id = currentUser.id;
            }

            localData.changeCurrentuser(currentUser.id);

            //En caso de que se creo un nuevo usuario se le asigna su facebookId
            if (localData.currentUser.facebookId != currentUser.facebookId)
            {
                localData.currentUser.facebookId = currentUser.facebookId;
                localData.saveLocalData(false);
            }

            if (remoteUser.newlyCreated)
            {
                if (_mustShowDebugInfo)
                {
                    Debug.Log("Creating remote user.");
                }

                KuberaAnalytics.GetInstance().registerFaceBookLogin();
                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;
                }

                //Hacemos un update normal del usuario
                //updateData(localData.getUserDirtyData());

                isGettingData = true;
                server.getUserData(currentUser.id, localData.currentUser.remoteDataVersion, true);
            }
            else
            {
                if (_mustShowDebugInfo)
                {
                    Debug.Log("Getting data from remote user.");
                }

                isGettingData = true;
                //Nos traemos los datos de este usuario
                server.getUserData(currentUser.id, localData.currentUser.remoteDataVersion, true);
            }
        }