Exemplo n.º 1
0
    protected void messageCallBack(WebView webview, WebViewMessage message)
    {
        switch (message.Host)
        {
        case (WEBVIEW_LOGIN):
            saveUserInfo(message.Arguments ["userId"], message.Arguments ["tokenId"], message.Arguments["displayName"]);
            loginToShopika(ShopikaManager.GetCastedInstance <ShopikaManager> ().currentUserId,
                           ShopikaManager.GetCastedInstance <ShopikaManager> ().currentUser.accesToken);

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

            break;

        case (WEBVIEW_GEMS):
            if (!((DataManagerKubera)DataManagerKubera.GetInstance()).alreadyPurchaseGems())
            {
                KuberaAnalytics.GetInstance().registerGemsFirstPurchase(PersistentData.GetInstance().lastLevelReachedName);
                ((DataManagerKubera)DataManagerKubera.GetInstance()).markGemsAsPurchased();
            }

            ShopikaManager.GetCastedInstance <ShopikaManager>().OnGemsRemotleyChanged();
            break;

        case (WEBVIEW_FINISH):
            closeWebView();
            ShopikaManager.GetCastedInstance <ShopikaManager>().OnGemsRemotleyChanged();
            break;
        }
    }
Exemplo n.º 2
0
    public void activateMusic()
    {
        if (AudioManager.GetInstance())
        {
            //AudioManager.GetInstance ().Play ("fxButton");

            if (AudioManager.GetInstance().activateMusic)
            {
                AudioManager.GetInstance().activateMusic = false;
                UserDataManager.instance.isMusicActive = false;

                KuberaAnalytics.GetInstance().registerMusicTurnedOff();

                AudioManager.GetInstance().StopAllAudiosInCategory("MAIN MUSIC");

                if (OnActivateMusic != null)
                {
                    OnActivateMusic(false);
                }
            }
            else
            {
                AudioManager.GetInstance().activateMusic = true;
                UserDataManager.instance.isMusicActive = true;

                if (OnActivateMusic != null)
                {
                    OnActivateMusic(true);
                }
            }
            setStateMusic();
        }
    }
Exemplo n.º 3
0
    protected void OnBossReachedPressed(MapLevel pressed)
    {
        KuberaAnalytics.GetInstance().registerForBossReached(pressed.fullLvlName, (DataManagerKubera.GetInstance() as DataManagerKubera).getAllEarnedStars());
        if ((DataManagerKubera.GetInstance() as DataManagerKubera).getAllEarnedStars() >= pressed.starsNeeded)
        {
            unlockBoss(pressed.fullLvlName);
            if (nextLevel == null)
            {
                nextLevel = pressed;
            }
        }
        else
        {
            bossLockedPopUp.lvlName     = pressed.lvlName;
            bossLockedPopUp.fullLvlName = pressed.fullLvlName;

            bossLockedPopUp.initializeValues(pressed.friendsNeeded, pressed.gemsNeeded, pressed.starsNeeded, pressed.lvlName);

            if (nextLevel == null)
            {
                nextLevel = pressed;
            }

            openPopUp("bossLocked");
        }
    }
Exemplo n.º 4
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);
            }
        }
Exemplo n.º 5
0
        public void savePassedLevel(string levelName, int stars, int points)
        {
            KuberaUser currUser = currentUser;
            LevelData  level    = currUser.getLevelById(levelName);


            if (level != null)
            {
                KuberaAnalytics.GetInstance().registerFirstWinAttempts(levelName, level.attempts);
                level.updateOnlyIncrementalValues(stars, points);
                level.updatePassed(true);
                level.attempts++;
                level.isDirty = true;
            }
            else
            {
                level          = new LevelData(levelName);
                level.points   = points;
                level.stars    = stars;
                level.passed   = true;
                level.world    = levelsList.getLevelByName(levelName).world;
                level.attempts = 1;
                level.isDirty  = true;

                currUser.addLevel(level);

                KuberaAnalytics.GetInstance().registerFirstWinStars(levelName, stars);
                KuberaAnalytics.GetInstance().registerFirstWinAttempts(levelName, level.attempts);
            }

            KuberaAnalytics.GetInstance().registerLevelAttempts(levelName, level.attempts);

            //El maximo avance
            currUser.isDirty = currUser.upgradeMaxLevelReached(int.Parse(level._id)) || currUser.isDirty;

            //Es sucio porque ya estaba sucio o por un cambio aqui
            currUser.isDirty = currUser.isDirty || level.isDirty;

            if (currUser.isDirty)
            {
                saveLocalData(false);

                //Mandamos un usuario solo con este nivel
                KuberaUser user = new KuberaUser(currentUserId);
                user.addLevel(level);

                syncManager.updateData(user);
            }
        }
Exemplo n.º 6
0
    public void rechargeLifes()
    {
        if (ShopikaManager.GetCastedInstance <ShopikaManager>().isPossibleToConsumeGems(price))
        {
            ShopikaManager.GetCastedInstance <ShopikaManager>().tryToConsumeGems(price);
            LifesManager.GetInstance().giveLifesToUser(LifesManager.GetInstance().maximumLifes);

            KuberaAnalytics.GetInstance().registerGemsUsedOnLifes(PersistentData.GetInstance().lastLevelReachedName);

            popUp.SetActive(false);
            OnComplete();
        }
        else
        {
            OnComplete("notMoney", false);
        }
    }
Exemplo n.º 7
0
        public void incrementLevelAttemp(string levelName)
        {
            KuberaUser currUser = currentUser;
            LevelData  level    = currUser.getLevelById(levelName);


            if (level != null)
            {
                level.attempts++;
                level.isDirty = true;
            }
            else
            {
                level          = new LevelData(levelName);
                level.points   = 0;
                level.stars    = 0;
                level.passed   = false;
                level.world    = levelsList.getLevelByName(levelName).world;
                level.attempts = 1;
                level.isDirty  = true;

                currUser.addLevel(level);
            }

            KuberaAnalytics.GetInstance().registerLevelAttempts(levelName, level.attempts);

            currUser.isDirty = true;


            if (currUser.isDirty)
            {
                saveLocalData(false);

                //Mandamos un usuario solo con este nivel
                KuberaUser user = new KuberaUser(currentUserId);
                user.addLevel(level);

                syncManager.updateData(user);
            }
        }
Exemplo n.º 8
0
    public void activateSounds()
    {
        if (AudioManager.GetInstance())
        {
            //AudioManager.GetInstance().Play("fxButton");
            if (AudioManager.GetInstance().activateSounds)
            {
                AudioManager.GetInstance().activateSounds = false;
                UserDataManager.instance.isSoundEffectsActive = false;

                KuberaAnalytics.GetInstance().registerFXTurnedOff();

                AudioManager.GetInstance().StopAllAudiosInCategory("LOOP FX");
                AudioManager.GetInstance().StopAllAudiosInCategory("FX");
            }
            else
            {
                AudioManager.GetInstance().activateSounds = true;
                UserDataManager.instance.isSoundEffectsActive = true;
            }
            setStateSounds();
        }
    }
Exemplo n.º 9
0
    protected void setParalaxManager()
    {
        if (currentLevel == null)
        {
            currentLevel = mapLevels [0];
            PersistentData.GetInstance().lastLevelReachedName = currentLevel.fullLvlName;
        }

        if (first)
        {
            paralaxManager.setPosLastOrFirst(true);
            first = false;
        }
        else if (last)
        {
            paralaxManager.setPosLastOrFirst(false);
            last = false;
        }
        else if (fromGame)
        {
            if (PersistentData.GetInstance().fromLoose)
            {
                popUpManager.activatePopUp("retryPopUp");
                stopInput(true);

                (DataManagerKubera.GetInstance() as DataManagerKubera).incrementLevelAttemp(PersistentData.GetInstance().currentLevel.name);

                if (LifesManager.GetInstance().currentUser.playerLifes == 0)
                {
                    KuberaAnalytics.GetInstance().registerLevelWhereReached0Lifes(PersistentData.GetInstance().currentLevel.name);
                }
            }
            else
            {
                int starsReached = PersistentData.GetInstance().lastPlayedLevelStars;                //;(DataManagerKubera.GetInstance () as DataManagerKubera).getLevelStars (PersistentData.GetInstance ().currentLevel.name);
                int pointsMade   = PersistentData.GetInstance().lastPlayedLevelPoints;               //(DataManagerKubera.GetInstance () as DataManagerKubera).getLevelPoints (PersistentData.GetInstance ().currentLevel.name);

                goalManager.initializeFromString(PersistentData.GetInstance().currentLevel.goal);

                string levelName = PersistentData.GetInstance().currentLevel.name;
                for (int i = 0; i < levelName.Length; i++)
                {
                    if (levelName [i] == '0')
                    {
                        levelName = levelName.Remove(i, 1);
                        i--;
                    }
                    else
                    {
                        break;
                    }
                }


                goalAfterGame.setGoalPopUpInfo(starsReached, levelName, pointsMade.ToString(), PersistentData.GetInstance().currentWorld);
                popUpManager.activatePopUp("goalAfterGame");
                stopInput(true);
            }

            if (toStairs)
            {
                paralaxManager.setPosByCurrentLevel(paralaxManager.getPosByLevel(mapLevels[mapLevels.Count - 1]));
            }
            else
            {
                paralaxManager.setPosByCurrentLevel(paralaxManager.getPosByLevel(lastLevelPlayed));
            }
        }
        else
        {
            //print ("currentLevel " + currentLevel);
            //paralaxManager.setPosByCurrentLevel (paralaxManager.getPosByLevel( mapLevels [0]));
            paralaxManager.setPosByCurrentLevel(paralaxManager.getPosByLevel(currentLevel));
        }
    }
Exemplo n.º 10
0
    public void sendRequest()
    {
        List <string>         friendsIds = new List <string> ();
        List <List <string> > friIDs     = new  List <List <string> >();

        friendsIds = getFriendsActivatedIDByFriendsType(currentFriendType);
        int friendGroups = (int)Mathf.Floor(friendsIds.Count / 30.0f);

        facebookManager.OnSuccesRequest += succesPopUp;

        /*
         * string myId = FacebookPersistentData.GetInstance ().getPlayerId ();
         *
         * if(currentFriendType == EFriendsType.GAME)
         * {
         *      for(int i=0; i<friendsIds.Count; i++)
         *      {
         *              ShopikaSyncManager.GetCastedInstance<ShopikaSyncManager>().registerInvite(friendsIds[i],myId);
         *      }
         * }*/

        if (friendsIds.Count == 0)
        {
            return;
        }

        switch (currentRequestType)
        {
        case ERequestType.ASK_KEYS:

            KuberaAnalytics.GetInstance().registerFacebookKeyRequest(PersistentData.GetInstance().lastLevelReachedName);

            if (friendsIds.Count > 30)
            {
                for (int i = 0, k = 0; i <= friendGroups; i++)
                {
                    friIDs.Add(new List <string>());
                    for (int j = 0; j < 30; j++, k++)
                    {
                        if (friendsIds [k] != null)
                        {
                            friIDs [i].Add(friendsIds [k]);
                        }
                    }
                }

                for (int i = 0; i < friIDs.Count; i++)
                {
                    facebookManager.askKey(friIDs[i]);
                }
            }
            else
            {
                facebookManager.askKey(friendsIds);
                return;
            }
            break;

        case ERequestType.ASK_LIFES:

            if (!((DataManagerKubera)DataManagerKubera.GetInstance()).alreadyAskForLifes())
            {
                KuberaAnalytics.GetInstance().registerFacebookFirstLifeRequest(PersistentData.GetInstance().lastLevelReachedName);
                ((DataManagerKubera)DataManagerKubera.GetInstance()).markLifesAsAsked();
            }

            if (friendsIds.Count > 30)
            {
                for (int i = 0, k = 0; i <= friendGroups; i++)
                {
                    friIDs.Add(new List <string>());
                    for (int j = 0; j < 30; j++, k++)
                    {
                        if (k < friendsIds.Count)
                        {
                            friIDs [i].Add(friendsIds [k]);
                        }
                    }
                }

                for (int i = 0; i < friIDs.Count; i++)
                {
                    facebookManager.askLife(friIDs[i]);
                }
            }
            else
            {
                facebookManager.askLife(friendsIds);
                return;
            }
            break;

        default:
            break;
        }
    }