Пример #1
0
    public void Win()
    {
        pauseButton.interactable = false;
        soundEffector.PlayWinSound();
        Time.timeScale = 0f;
        player.enabled = false;
        winScreen.SetActive(true);

        if (!PlayerPrefs.HasKey(Level) || PlayerPrefs.GetInt(Level) < levelNumber)
        {
            if (levelNumber == 1)
            {
                PlayGamesScript.UnlockAchievement(GPGSIds.achievement_first_step);
            }
            if (levelNumber == 10)
            {
                PlayGamesScript.UnlockAchievement(GPGSIds.achievement_runner);
            }
            PlayerPrefs.SetInt(Level, SceneManager.GetActiveScene().buildIndex);
        }

        if (GetComponent <Inventory>().AreAllGemsCollected())
        {
            bonusPanel.SetActive(true);
            bonusReward = 500;
            PlayGamesScript.UnlockAchievement(GPGSIds.achievement_collector);
        }
        if (PlayerPrefs.HasKey(Coins))
        {
            PlayerPrefs.SetInt(Coins, PlayerPrefs.GetInt(Coins) + player.GetCoins() + bonusReward);
        }
        else
        {
            PlayerPrefs.SetInt(Coins, player.GetCoins() + bonusReward);
        }
        GetComponent <Inventory>().RecountItems();

        if (AchievementHelper.AreAllGemsCollected())
        {
            PlayGamesScript.UnlockAchievement(GPGSIds.achievement_explorer);
        }

        if (PlayerPrefs.HasKey(Constants.Timer + levelNumber))
        {
            var bestTime = PlayerPrefs.GetFloat(Constants.Timer + levelNumber);
            if (bestTime > timer)
            {
                SetRecordAndCheckAchievements();
            }
        }
        else
        {
            SetRecordAndCheckAchievements();
        }
    }
Пример #2
0
    private void SetRecordAndCheckAchievements()
    {
        PlayerPrefs.SetFloat(Constants.Timer + levelNumber, timer);
        PlayGamesScript.AddScoreToLeaderboard(levelLeaderboards[levelNumber],
                                              (long)(timer * 1000));
        if (AchievementHelper.IsGoldenMedal(timer, levelNumber))
        {
            PlayGamesScript.UnlockAchievement(GPGSIds.achievement_champion);
        }
        if (AchievementHelper.AreAllGoldenMedals())
        {
            PlayGamesScript.UnlockAchievement(GPGSIds.achievement_speed_runner);
        }
        long score = AchievementHelper.RecountScore();

        PlayGamesScript.AddScoreToLeaderboard(GPGSIds.leaderboard_overall, score);
        newRecordPanel.SetActive(true);
    }
Пример #3
0
        public TestOfTeamwork() : base("Test of Teamwork")
        {
            Instance = this;

            LangStrings = new Consts.LanguageStrings();
            SpriteDict  = new TextureStrings();

            AchievementHelper.AddAchievement(AchievementStrings.DefeatedWeaverPrincess_Key, TestOfTeamwork.GetSprite(TextureStrings.AchievementWeaverPrincessKey), Consts.LanguageStrings.AchievementDefeatedWeaverPrincessTitleKey, Consts.LanguageStrings.AchievementDefeatedWeaverPrincessTextKey, true);

            InitInventory();

#if DEBUG_CHARMS
            charmHelper = new CharmHelper();
            charmHelper.customCharms  = 4;
            charmHelper.customSprites = new Sprite[] { GetSprite(TextureStrings.YKey), GetSprite(TextureStrings.EKey), GetSprite(TextureStrings.EKey), GetSprite(TextureStrings.TKey) };
#endif

            InitCallbacks();
        }
Пример #4
0
 // Use this for initialization
 void Awake()
 {
     m_Instance = this;
 }
Пример #5
0
        /// <summary>
        ///     Executed hourly to check if server reset has been reached (occurs at 00:00 UTC)
        ///     to run additional tasks
        /// </summary>
        private async Task OnServerReset()
        {
            ulong channelId = 0;

            if (ReleaseMode.Mode == "ProdSettings")
            {
                channelId = await ChannelHelper.GetChannelId(_mongoClient, "broadcast", "bot-channel");
            }
            else
            {
                channelId = 720690834638372949;
            }

            var broadcastChannel = _discordClient.GetChannel(channelId) as SocketTextChannel;
            var utcNow           = DateTime.UtcNow;

            if (utcNow.Hour == 0)
            {
                // Different collections to filter results from
                var tomorrowPveDailiesId = await HttpService.GetTomorrowsPveDailiesId();

                var dailyPveAchievements = await DatabaseService.GetDailyPveAchievements(_mongoClient);

                var dailyPveWatchlist = await DatabaseService.GetDailyPveWatchlist(_mongoClient);

                List <string> dailyPveNames      = new();
                List <string> upcomingPveDailies = new();

                dailyPveNames      = AchievementHelper.AchievementNamesFromIds(tomorrowPveDailiesId, dailyPveAchievements);
                upcomingPveDailies = AchievementHelper.AchievementsSetToAppear(dailyPveNames, dailyPveWatchlist);

                // List is non-empty; proceed to build an embedded message
                if (upcomingPveDailies.Count > 0)
                {
                    var embed = new EmbedBuilder
                    {
                        Title       = "Daily Alert",
                        Description = "Attention! A daily achievement that is being monitored will appear tomorrow!",
                        Color       = 0xffee05
                    };

                    foreach (string achieveName in upcomingPveDailies)
                    {
                        var achieveId = AchievementHelper.AchievementGetIdFromName(achieveName, dailyPveAchievements);

                        // Valid ID check
                        if (achieveId != 0)
                        {
                            var desc = await HttpService.ObtainAchievementDescription(achieveId);

                            embed.AddField(achieveName, desc);
                        }
                        else
                        {
                            continue;
                        }
                    }

                    // Broadcast the embedded message
                    await broadcastChannel.SendMessageAsync(embed : embed.Build());
                }
                else
                {
                    await broadcastChannel.SendMessageAsync("Nothing to report...");
                }
            }
        }
Пример #6
0
 public static void DisplayPopup(BasicAchievement a)
 {
     AchievementHelper.DisplayPopup(a);
 }
Пример #7
0
 void OnDestroy()
 {
     AchievementHelper.DeadPopup();
 }