void OnGameOver(object arg0)
    {
        PlayerSave         player      = SaveLoadController.GetInstance().GetPlayer();
        EndlessSessionSave gameSession = SaveLoadController.GetInstance().GetEndlessSession();
        GooglePlayHelper   gph         = GooglePlayHelper.GetInstance();

        player.AddTotalGamesPlayed(1);

        // report events
        gph.ReportEvent(GPGSConstant.event_amount_of_endless_games_started, 1);
        gph.ReportEvent(GPGSConstant.event_score_endless_mode, gameSession.GetTotalScore());
        gph.ReportEvent(GPGSConstant.event_health_potions_picked_up, gameSession.GetResourcesGathered());

        // save current stats
        gph.SaveGame(); // TODO: keep track of timeplayed

        // check for achievements
        AchievementChecker.CheckForEndlessScoreAchievement(gameSession.GetTotalScore());
        AchievementChecker.CheckForWelcomeAchievement();

        // highscore post
        if (gameSession.GetTotalScore() > player.GetHighscore())
        {
            EventManager.TriggerEvent(EventTypes.NEW_HIGHSCORE);
            player.SetHighscore(gameSession.GetTotalScore());
            gph.PostHighscore(player.GetHighscore(), GPGSConstant.leaderboard_endless_mode);
        }

        // start game over screen
        LoadingController.LoadScene(LoadingController.Scenes.GAME_OVER);
    }
Пример #2
0
    public static void CheckForEndlessScoreAchievement(float score)
    {
        GooglePlayHelper gph = GooglePlayHelper.GetInstance();

        if (!gph.IsPlayerAuthenticated())
        {
            return;
        }

        if (score >= 5000)
        {
            gph.UnlockAchievement(GPGSConstant.achievement_chicken_wings_100_points);
        }
        if (score >= 10000)
        {
            gph.UnlockAchievement(GPGSConstant.achievement_buffalo_wings_120_points);
        }
        if (score >= 20000)
        {
            gph.UnlockAchievement(GPGSConstant.achievement_wingin_it_160_points);
        }
        if (score >= 50000)
        {
            gph.UnlockAchievement(GPGSConstant.achievement_ride_the_wings_of_pestilance_200_points);
        }
    }
    public void PurchaseConfirmed()
    {
        //Confirm purchase and adjust coin amount accordigly
        currentCoinAmount -= itemInCart.goldPrice;
        coins.text         = "Coins: " + currentCoinAmount.ToString();
        confirmPopUp.SetActive(false);
        EventManager.TriggerEvent(EventTypes.PURCHASE_CONFIRMED);
        SaveLoadController.GetInstance().GetPlayer().AddTotalCoins(-itemInCart.goldPrice); //substract coins from player
        SaveLoadController.GetInstance().GetPlayer().AddUnlockedItem(itemInCart.itemID);   //unlock skin for player
        SetSkinActive(itemInCart.itemID);                                                  // Set skin active. This also saves the game

        // Send event data
        // This is very ugly but ok for now
        switch (itemInCart.skinName)
        {
        case "Vladimir":
            GooglePlayHelper.GetInstance().ReportEvent(GPGSConstant.event_store_default_skin_bought, 1);
            break;

        default:
            break;
        }

        itemInCart = null;
    }
Пример #4
0
 public static GooglePlayHelper GetInstance()
 {
     if (instance == null)
     {
         instance = new GooglePlayHelper();
     }
     return(instance);
 }
 void Start()
 {
     if (!Application.isEditor)
     {
         GooglePlayHelper gph = GooglePlayHelper.GetInstance();
         GooglePlayHelper.GetInstance().ReportEvent(GPGSConstant.event_game_opened, 1);
     }
 }
 public void ConfirmMessage()
 {
     errorMessagePanel.SetActive(false);
     if (!GooglePlayHelper.GetInstance().IsPlayerAuthenticated())
     {
         SetMessageForLogin();
     }
 }
Пример #7
0
        private void btnRefreshDetails_Click(object sender, EventArgs e)
        {
            btnRefreshDetails.Enabled = false;
            var wc = new WebClient {
                Encoding = Encoding.UTF8
            };

            wc.DownloadStringCompleted += Wc_DownloadStringCompleted;
            wc.DownloadStringAsync(new Uri(GooglePlayHelper.GetUrlForPackageName(lblPackageNameValue.Text, true)), lblPackageNameValue.Text);
        }
Пример #8
0
    public static void CheckForWelcomeAchievement()
    {
        GooglePlayHelper gph = GooglePlayHelper.GetInstance();

        if (!gph.IsPlayerAuthenticated())
        {
            return;
        }

        GooglePlayHelper.GetInstance().UnlockAchievement(GPGSConstant.achievement_bun_venit_20_points);
    }
 public void ShowLeaderboardUI()
 {
     if (!Social.localUser.authenticated && !Application.isEditor)
     {
         GooglePlayHelper.GetInstance().Login();
     }
     else
     {
         GooglePlayHelper.GetInstance().ShowLeaderboardUI();
     }
 }
Пример #10
0
 void Update()
 {
     if (GooglePlayHelper.GetInstance().isLoading)
     {
         OnStartLoadingSaveData(null);
     }
     if (GooglePlayHelper.GetInstance().isSaving)
     {
         OnStartSavingGame(null);
     }
 }
Пример #11
0
    private void OnOpponentDied(object arg0)
    {
        DebugMP.Log("You won!");
        SaveLoadController slc = SaveLoadController.GetInstance();

        slc.GetMultiplayerSession().SetPlayerWon();
        slc.GetPlayer().AddTotalMultiplayerMatchesWon(1);
        AchievementChecker.CheckForMultiplayerAchievement(slc.GetPlayer().GetTotalMultiplayerMatchesWon());
        GooglePlayHelper.GetInstance().PostHighscore(slc.GetPlayer().GetTotalMultiplayerMatchesWon(), GPGSConstant.leaderboard_multiplayer_mode);
        StartCoroutine("TriggerGameOverScreen");
        GooglePlayHelper.GetInstance().SaveGame();
    }
Пример #12
0
    public static void CheckForMultiplayerAchievement(int wins)
    {
        GooglePlayHelper gph = GooglePlayHelper.GetInstance();

        if (!gph.IsPlayerAuthenticated())
        {
            return;
        }

        if (wins >= 10)
        {
            GooglePlayHelper.GetInstance().UnlockAchievement(GPGSConstant.achievement_next);
        }
    }
    void Start()
    {
        EventManager.StartListening(InternetConnectionStatus.CONNECTION_STATUS_UPDATE, OnConnectionStatusUpdated);

        Debug.Log("PlayerRefusedGooglePLay: " + PlayerPrefs.GetInt("PlayerRefusedGooglePLay"));
        if (!PlayerPrefs.HasKey("PlayerRefusedGooglePLay"))
        {
            PlayerPrefs.SetInt("PlayerRefusedGooglePLay", 0);
        }

        if (!Social.localUser.authenticated && !Application.isEditor && PlayerPrefs.GetInt("PlayerRefusedGooglePLay") == 0)
        {
            GooglePlayHelper.GetInstance().Login();
        }
    }
Пример #14
0
    private void OnGameStarted(object arg0)
    {
        // start polling opponent to check if he is still in the game
        InvokeRepeating("PollOpponentForActive", 0, 1f);
        matchStarted = true;

        // Send event
        GooglePlayHelper.GetInstance().ReportEvent(GPGSConstant.event_multiplayer_match_started, 1);

        // Send player skin ID to opponent
        List <byte> m = new List <byte>();

        m.AddRange(BitConverter.GetBytes(SaveLoadController.GetInstance().GetPlayer().GetActiveSkinID()));
        SendMessage(GPMPEvents.Types.GPMP_OPPONENT_SKIN_RECIEVED, m);

        DebugMP.Log("Sending skin ID to opponent: " + SaveLoadController.GetInstance().GetPlayer().GetActiveSkinID());
    }
    // Update is called once per frame
    void Update()
    {
        // Android Backbutton is down
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            if (!isExiting)
            {
                isExiting = true;
                // get values
                float value = movementSensitivitySlider.value * 10;
                SaveLoadController.GetInstance().GetOptions().SetControlSensitivity(value);

                // save game
                GooglePlayHelper.GetInstance().SaveGame();

                LoadingController.LoadScene(LoadingController.Scenes.MAIN_MENU);
            }
        }
    }
Пример #16
0
    public static void CheckForTimingAchievement(int excellentEchosSequence, int goodEchosSequence)
    {
        GooglePlayHelper gph = GooglePlayHelper.GetInstance();

        if (!gph.IsPlayerAuthenticated())
        {
            return;
        }

        if (excellentEchosSequence >= 5)
        {
            GooglePlayHelper.GetInstance().UnlockAchievement(GPGSConstant.achievement_excellent_100_points);
        }

        if (goodEchosSequence >= 50)
        {
            GooglePlayHelper.GetInstance().UnlockAchievement(GPGSConstant.achievement_good_50_points);
        }
    }
    //GPMP_INVITATION_RECIEVED
    void Start()
    {
        EventManager.StartListening(GPMPEvents.Types.GPMP_SHOW_ERROR_MESSAGE.ToString(), OnErrorMessageRecieved);
        EventManager.StartListening(InternetConnectionStatus.CONNECTION_STATUS_UPDATE, OnConnectionStatusUpdated);

        try {
            if (PlayGamesPlatform.Instance.RealTime.IsRoomConnected())
            {
                PlayGamesPlatform.Instance.RealTime.LeaveRoom();
            }
            if (!GooglePlayHelper.GetInstance().IsPlayerAuthenticated())
            {
                SetMessageForLogin();
            }
        } catch (Exception e) {
            SetMessageForLogin();
        }

        InvokeRepeating("OnDisplayInvites", 0f, 1f);
    }
Пример #18
0
 private void RefreshPackage(string packageName)
 {
     var wc = new WebClient { Encoding = Encoding.UTF8 };
     wc.DownloadStringCompleted += wc_DownloadStringCompleted;
     wc.DownloadStringAsync(new Uri(GooglePlayHelper.GetUrlForPackageName(packageName, true)), packageName);
 }
Пример #19
0
        private void btnOpenGooglePlayPage_Click(object sender, EventArgs e)
        {
            var url = GooglePlayHelper.GetUrlForPackageName(lblPackageNameValue.Text, false);

            Process.Start(url);
        }
Пример #20
0
        private void ShowInfo()
        {
            var apkFile = new ApkFile {
                LongFileName = _fileName
            };

            //Filename
            lblFilenameValue.Text = apkFile.ShortFileName;

            Text = string.Format("Properties of {0}", apkFile.ShortFileName);

            //Read APK File
            apkFile = SqliteConnector.ReadApkFile(apkFile);

            //Package
            lblPackageNameValue.Text = apkFile.PackageName;

            //Internal name
            lblInternalNameValue.Text = apkFile.InternalName;

            //Google Play name
            lblGooglePlayNameValue.Text = apkFile.GooglePlayName;

            //Local Version
            lblLocalVersionValue.Text = apkFile.LocalVersion;

            //Latest Version
            lblLatestVersionValue.Text = apkFile.LatestVersion;

            //Category
            lblCategoryValue.Text = apkFile.Category;

            //Price
            lblPriceValue.Text = apkFile.Price;

            //Version code
            lblVersionCodeValue.Text = apkFile.VersionCode;

            //Minium SDK Version
            lblMinSDKVersionValue.Text = clsUtils.TranslateSdkVersion(apkFile.MinimumSdkVersion);

            //Target SDK Version
            lblTargetSDKVersionValue.Text = clsUtils.TranslateSdkVersion(apkFile.TargetSdkVersion);

            //Permissions
            if (apkFile.Permissions.Count > 0)
            {
                txtPermissionsValue.Text = string.Empty;
                foreach (var permission in apkFile.Permissions)
                {
                    txtPermissionsValue.Text += string.Format("{0}\r\n", permission);
                }
                txtPermissionsValue.Text = txtPermissionsValue.Text.Remove(txtPermissionsValue.Text.Length - 2, 2);
            }

            //Features
            if (apkFile.Features.Count > 0)
            {
                txtFeaturesValue.Text = string.Empty;
                foreach (var feature in apkFile.Features)
                {
                    txtFeaturesValue.Text += string.Format("{0}\r\n", feature);
                }
                txtFeaturesValue.Text = txtFeaturesValue.Text.Remove(txtFeaturesValue.Text.Length - 2, 2);
            }

            //Screen sizes
            if (apkFile.ScreenSizes.Count > 0)
            {
                lblScreenSizesValue.Text = string.Empty;
                foreach (var screenSize in apkFile.ScreenSizes)
                {
                    lblScreenSizesValue.Text += string.Format("{0}, ", screenSize);
                }
                lblScreenSizesValue.Text = lblScreenSizesValue.Text.Remove(lblScreenSizesValue.Text.Length - 2, 2);
            }

            //Screen densities
            if (apkFile.ScreenDensities.Count > 0)
            {
                lblScreenDensitiesValue.Text = string.Empty;
                foreach (var screenDensity in apkFile.ScreenDensities)
                {
                    lblScreenDensitiesValue.Text += string.Format("{0}, ", screenDensity);
                }
                lblScreenDensitiesValue.Text = lblScreenDensitiesValue.Text.Remove(lblScreenDensitiesValue.Text.Length - 2, 2);
            }

            //Icon
            Task.Factory.StartNew(() => SqliteConnector.ReadIcon(apkFile)).ContinueWith(t => SetApkIcon(t.Result));

            //Fetch details
            if (!apkFile.LastGooglePlayFetch.HasValue && (!apkFile.GooglePlayFetchFail.HasValue || !apkFile.GooglePlayFetchFail.Value) && Convert.ToBoolean(SqliteConnector.GetSettingValue(SettingEnum.AutoFetchGooglePlay)))
            {
                btnRefreshDetails.Enabled = false;
                var wc = new WebClient {
                    Encoding = Encoding.UTF8
                };
                wc.DownloadStringCompleted += Wc_DownloadStringCompleted;
                wc.DownloadStringAsync(new Uri(GooglePlayHelper.GetUrlForPackageName(apkFile.PackageName, true)), apkFile.PackageName);
            }
            else
            {
                btnRefreshDetails.Enabled = true;
            }
        }
 public void Login()
 {
     OnErrorMessageRecieved("Click OK if you are logged in");
     GooglePlayHelper.GetInstance().Login();
 }
 private void SetSkinActive(int id)
 {
     SaveLoadController.GetInstance().GetPlayer().SetActiveSkinID(id);
     EventManager.TriggerEvent(EventTypes.NEW_SKIN_ACTIVE);
     GooglePlayHelper.GetInstance().SaveGame();
 }