예제 #1
0
 protected void webClosed(WebView webview)
 {
     if (ShopikaManager.GetCastedInstance <ShopikaManager> ().currentUserId == ShopikaManager.GetCastedInstance <ShopikaManager> ().ANONYMOUS_USER)
     {
         failure();
     }
 }
예제 #2
0
 public void activateShopika()
 {
     if (ShopikaManager.GetCastedInstance <ShopikaManager> ().currentUserId == ShopikaManager.GetCastedInstance <ShopikaManager> ().ANONYMOUS_USER)
     {
         activatePopUp("shopikaConnect");
     }
 }
예제 #3
0
    public void buyASecondChance()
    {
        if (pressed)
        {
            return;
        }

        pressed = true;

        if (ShopikaManager.GetCastedInstance <ShopikaManager>().isPossibleToConsumeGems(price))
        {
            ShopikaManager.GetCastedInstance <ShopikaManager>().tryToConsumeGems(price);
            secondChanceTimes++;

            thisObject.DOAnchorPos(-v3, speed).SetEase(Ease.InBack).OnComplete(() =>
            {
                //TODO: salirnos del nivel
                //print("gano");
                if (OnSecondChanceAquired != null)
                {
                    OnSecondChanceAquired();
                }
                popUp.SetActive(false);
                OnComplete();
                pressed = false;
            });
        }
        else
        {
            pressed = false;
            OnComplete("NoGemsPopUp", false);
        }

        Debug.Log("Fondos insuficientes");
    }
예제 #4
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;
        }
    }
예제 #5
0
    public void showShopikaAndRegisterForEvents()
    {
                #if UNITY_EDITOR
        //en editor no hay webview
        return;
                #endif

        videoModal.SetActive(true);
        if (ShopikaManager.GetCastedInstance <ShopikaManager> ().currentUserId == ShopikaManager.GetCastedInstance <ShopikaManager> ().ANONYMOUS_USER)
        {
            if (((DataManagerKubera)DataManagerKubera.GetInstance()).currentUser.firstTimeShopping)
            {
                ((DataManagerKubera)DataManagerKubera.GetInstance()).currentUser.firstTimeShopping = false;
            }
            showShopikaLogin();
        }
        else
        {
            loginToShopika(ShopikaManager.GetCastedInstance <ShopikaManager> ().currentUserId,
                           ShopikaManager.GetCastedInstance <ShopikaManager> ().currentUser.accesToken);
        }

        isWaiting = true;
        WebViewManager.GetInstance().OnFinishLoading += showToolBar;
        registerForMessages();
    }
예제 #6
0
    public void goToShopika()
    {
        OnComplete();


        //HARDCODING para ue este cambio este en android e iOS

        /*#if UNITY_IOS || UNITY_EDITOR
         * if(ShopikaManager.GetCastedInstance<ShopikaManager>().canGiveLocalGems())
         * {
         *      ShopikaManager.GetCastedInstance<ShopikaManager>().giveLocalAnonymousGems();
         * }
         #endif*/
        if (ShopikaManager.GetCastedInstance <ShopikaManager>().canGiveLocalGems())
        {
            ShopikaManager.GetCastedInstance <ShopikaManager>().giveLocalAnonymousGems();
        }


                #if UNITY_EDITOR
        //Evitamos el webview en editor porque no funciona
        return;
                #endif

        //HARDCODING para ue este cambio este en android e iOS

        /*#if UNITY_IOS
         * shopikaWebView.showShopikaLanding();
         #else
         * shopikaWebView.showShopikaAndRegisterForEvents();
         #endif*/
        shopikaWebView.showShopikaLanding();
    }
예제 #7
0
 public void activateShopika()
 {
             #if !UNITY_EDITOR
     if (ShopikaManager.GetCastedInstance <ShopikaManager> ().currentUserId == ShopikaManager.GetCastedInstance <ShopikaManager> ().ANONYMOUS_USER)
     {
         openPopUp("shopikaConnect");
     }
             #endif
 }
예제 #8
0
    public void activateShopika()
    {
                #if UNITY_EDITOR
        //En editor no hay webview
        return;
                #endif

        if (ShopikaManager.GetCastedInstance <ShopikaManager> ().currentUserId == ShopikaManager.GetCastedInstance <ShopikaManager> ().ANONYMOUS_USER)
        {
            activatePopUp("shopikaConnect");
        }
    }
예제 #9
0
 public void gemsCharge()
 {
     if (ShopikaManager.GetCastedInstance <ShopikaManager>().isPossibleToConsumeGems(gemsNeeded))
     {
         ShopikaManager.GetCastedInstance <ShopikaManager>().tryToConsumeGems(gemsNeeded);
         OnComplete();
         mapManager.unlockBoss(fullLvlName);
     }
     else
     {
         OnComplete("notMoney", false);
     }
 }
예제 #10
0
    void Update()
    {
        //TODO optimizar que esto no sea caad frame
        if (!canGrantGems)
        {
            txtTime.text = ShopikaManager.GetCastedInstance <ShopikaManager>().remainingTimeToGiveGemsString();
        }

        if (canGrantGems != ShopikaManager.GetCastedInstance <ShopikaManager>().canGiveLocalGems())
        {
            canGrantGems = ShopikaManager.GetCastedInstance <ShopikaManager>().canGiveLocalGems();
            OnCanGrantGemsChange();
        }
    }
예제 #11
0
    public void shareShopikaURL()
    {
        // Create share sheet
        ShareSheet _shareSheet = new ShareSheet();

        _shareSheet.Text = MultiLanguageTextManager.instance.getTextByID(MultiLanguageTextManager.SHARE_DEFAULT_TEXT);
        _shareSheet.URL  = "http://shopika-store.cuatromedios.net/i/" + ShopikaManager.GetCastedInstance <ShopikaManager> ().currentUser.shareCode;
        _shareSheet.ExcludedShareOptions = m_excludedOptions;

        // Show composer
        NPBinding.UI.SetPopoverPointAtLastTouchPosition();
                #if USES_SHARING
        NPBinding.Sharing.ShowView(_shareSheet, FinishedSharing);
                #endif
    }
예제 #12
0
    void Start()
    {
                #if UNITY_IOS
        androidObject.SetActive(false);
        iOSObject.SetActive(true);
                #else
        androidObject.SetActive(!useiOSAsDefault);
        iOSObject.SetActive(useiOSAsDefault);
                #endif

        txtGems.text = "+" + ShopikaManager.GetCastedInstance <ShopikaManager>().gemsToGiveLocally.ToString("00");

        canGrantGems = ShopikaManager.GetCastedInstance <ShopikaManager>().canGiveLocalGems();
        OnCanGrantGemsChange();
    }
예제 #13
0
    void Start()
    {
        Title.text = MultiLanguageTextManager.instance.getTextByID(MultiLanguageTextManager.NO_GEMS_POPUP_TITLE);
        if (ShopikaManager.GetCastedInstance <ShopikaManager> ().currentUserId == ShopikaManager.GetCastedInstance <ShopikaManager> ().ANONYMOUS_USER)
        {
            Info.text = MultiLanguageTextManager.instance.getTextByID(MultiLanguageTextManager.NO_GEMS_POPUP_INFO_NO_LOGIN);
        }
        else
        {
            Info.text = MultiLanguageTextManager.instance.getTextByID(MultiLanguageTextManager.NO_GEMS_POPUP_INFO);
        }

        buttonText.text          = MultiLanguageTextManager.instance.getTextByID(MultiLanguageTextManager.NO_GEMS_POPUP_BUTTON);
        alternateButtonText.text = buttonText.text;
    }
예제 #14
0
 public void analizeShopikaStatus()
 {
     if (ShopikaManager.GetCastedInstance <ShopikaManager> ().currentUserId == ShopikaManager.GetCastedInstance <ShopikaManager> ().ANONYMOUS_USER)
     {
         shopikaLargeButton.gameObject.SetActive(true);
         shopikaHighLight.gameObject.SetActive(true);
         shopikaButton.gameObject.SetActive(false);
         shopikaAnim = true;
     }
     else
     {
         shopikaButton.gameObject.SetActive(true);
         shopikaLargeButton.gameObject.SetActive(false);
         shopikaHighLight.gameObject.SetActive(false);
     }
 }
예제 #15
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);
        }
    }
예제 #16
0
    public void showShopikaLanding()
    {
        videoModal.SetActive(true);

        string url = shopikaLandingURI;

        if (ShopikaManager.GetCastedInstance <ShopikaManager> ().currentUserId != ShopikaManager.GetCastedInstance <ShopikaManager> ().ANONYMOUS_USER)
        {
            url += "?userId=" + ShopikaManager.GetCastedInstance <ShopikaManager> ().currentUserId;
        }

        isWaiting = true;
        WebViewManager.GetInstance().OnFinishLoading += showToolBar;
        registerForMessages();

        WebViewManager.GetInstance().createWebView(url, webViewSize, webViewRectCanvasCamera, false);
    }
예제 #17
0
 protected void checkDiscount()
 {
     if (ShopikaManager.GetCastedInstance <ShopikaManager> ())
     {
         if (!ShopikaManager.GetCastedInstance <ShopikaManager> ().isPossibleToConsumeGems(price))
         {
             price = (int)(price * 0.5f);
             discountDisplay.SetActive(true);
         }
         priceText.text = price.ToString();
     }
     else
     {
         price = (int)(price * 0.5f);
         discountDisplay.SetActive(true);
         priceText.text = price.ToString();
     }
 }
예제 #18
0
 public void simulateGemsChanged()
 {
     ShopikaManager.GetCastedInstance <ShopikaManager>().OnGemsRemotleyChanged();
 }
예제 #19
0
    void Start()
    {
        ShopikaManager.GetCastedInstance <ShopikaManager>().OnGemsUpdated += actualizeGems;

        actualizeGems(ShopikaManager.GetCastedInstance <ShopikaManager>().currentGems);
    }
예제 #20
0
 protected void saveUserInfo(string userID, string tokenID, string displayName)
 {
     //TODO: Guardar datos de login en lugar seguro
     ShopikaManager.GetCastedInstance <ShopikaManager>().OnUserLoggedIn(userID, tokenID, displayName);
 }
예제 #21
0
 void OnDestroy()
 {
     ShopikaManager.GetCastedInstance <ShopikaManager>().OnGemsUpdated -= actualizeGems;
 }
예제 #22
0
    void Start()
    {
        if (AllLevelsUnlocked)
        {
            Debug.Log("<color=red>Modo test: NIVELES DESBLOQUEADOS</color>");
        }

        PersistentData    persistentInstance = PersistentData.GetInstance();
        DataManagerKubera dataManager        = DataManagerKubera.GetCastedInstance <DataManagerKubera>();

        //Mundo a cargar
        if (persistentInstance.fromLevelsToHome)
        {
            currentWorld = persistentInstance.currentWorld;
        }
        else if (persistentInstance.currentWorld == -1 || !persistentInstance.fromGameToLevels)
        {
            //Al maximo avance
            if (dataManager.currentUser.levels.Count != 0)
            {
                currentWorld = dataManager.currentUser.maxWorldReached();

                int passedLevelsCount = dataManager.currentUser.countPassedLevelsByWorld(currentWorld);
                int levelsInWorld     = persistentInstance.levelsData.getLevelsCountByWorld(currentWorld);

                if (passedLevelsCount == levelsInWorld)
                {
                    if (currentWorld + 1 <= worldsCount)
                    {
                        currentWorld++;
                    }
                }

                if (currentWorld == 0)
                {
                    currentWorld++;
                }
            }
        }
        else
        {
            //Solo detecta el que se paso
            currentWorld = persistentInstance.currentWorld;
            int passedLevelsCount = dataManager.currentUser.countPassedLevelsByWorld(currentWorld);
            int levelsInWorld     = persistentInstance.levelsData.getLevelsByWorld(currentWorld).Length;

            if (passedLevelsCount == levelsInWorld)
            {
                if (currentWorld + 1 <= worldsCount)
                {
                    if (DataManagerKubera.GetCastedInstance <DataManagerKubera>().currentUser.maxWorldReached() == currentWorld)
                    {
                        //nuevo mundo desbloqueado
                        newWorldUnlocked = true;
                    }
                    isLastLevel = true;
                }
            }
        }

        //Flujo entre game y levels
        if (persistentInstance.fromGameToLevels)
        {
            fromGame  = true;
            fromLoose = persistentInstance.fromLoose;
            persistentInstance.fromGameToLevels = false;
            nameOfLastLevelPlayed = persistentInstance.lastLevelPlayedName;

            if (persistentInstance.fromLoose)
            {
                toNextLevel = false;
            }
            else
            {
                toNextLevel = !persistentInstance.nextLevelIsReached;
            }
        }

        persistentInstance.fromLevelsToHome = false;

        popUpManager.OnPopUpCompleted   = OnPopupCompleted;
        paralaxManager.OnFinish        += showNextLevelGoalPopUp;
        invitationToReview.OnFinish    += afterInvitation;
        settingButtons.OnActivateMusic += activateMusic;

        //Menu de acceso rapido
        initializeWorldsQuickMenuInfo();

        //Cambiando al mundo adecuado
        changeWorld();

        KuberaSyncManger.GetCastedInstance <KuberaSyncManger> ().OnDataRetrieved += reloadDataProgress;


        if (ShopikaManager.GetCastedInstance <ShopikaManager> ().currentUserId == ShopikaManager.GetCastedInstance <ShopikaManager> ().ANONYMOUS_USER)
        {
            hudWithOutShareButton.SetActive(true);
            hudWithShareButton.SetActive(false);
        }
        else
        {
            hudWithOutShareButton.SetActive(false);
            hudWithShareButton.SetActive(true);
        }
    }
예제 #23
0
 public void simulateUserLoggedIn()
 {
     ShopikaManager.GetCastedInstance <ShopikaManager>().OnUserLoggedIn("db42ee60-2427-11e6-a38f-6b42b8609e79", "yHPCOfglVnAfjOqTJTTrwTj3QIOskkAom97HFw72Vz7mJFDMjO92t0vs78BfjvrB", "shareCode");
 }