Exemplo n.º 1
0
        public static int GetLevelAchievements(PillarConfig config, int difficulty)
        {
            switch (config.Game)
            {
            // 1 = win, 2 = hits under 15, 3 = hits under 10
            case Game.Assault:
                return(GetAssaultApi().RatingForStage(config, difficulty));

            case Game.Duel:
                return(DuelRating.RatingForStage(config, difficulty));

            // 1 = primary, 2 = secondary
            case Game.TowerDefense:
                if (GetTDAPI().DidEarnEmblem(config.Battle, TDAPI.Emblems.Secondary))
                {
                    return(2);
                }

                if (GetTDAPI().DidEarnEmblem(config.Battle, TDAPI.Emblems.Victory))
                {
                    return(1);
                }
                break;

            case Game.HoloChess:
                return(GetChessApi().RatingForStage(config));
            }

            return(0);
        }
        private void SetAchievementText(PillarMenuNode menuNode, string configString)
        {
            switch (menuNode.Config.Game)
            {
            case Game.Duel:
                AchievementTwo.SetActive(true);
                AchievementThree.SetActive(true);

                int par2 = DuelRating.DuelistPar(menuNode.Config.Duelist, CurrentDifficulty, 2);
                int par3 = DuelRating.DuelistPar(menuNode.Config.Duelist, CurrentDifficulty, 3);

                AchievementOneDescription.text = Localizer.Get("PedestalView.Label.Performance.One." + menuNode.Config.Game);
                AchievementTwoDescription.text = Localizer.Get("PedestalView.Label.Performance.Two." + menuNode.Config.Game)
                                                 .Replace("$par", par2.ToString());
                AchievementThreeDescription.text = Localizer.Get("PedestalView.Label.Performance.Three." + menuNode.Config.Game)
                                                   .Replace("$par", par3.ToString());

                break;

            case Game.Assault:
                AchievementTwo.SetActive(true);
                AchievementThree.SetActive(true);

                AchievementOneDescription.text   = Localizer.Get("PedestalView.Label.Performance.One." + menuNode.Config.Game);
                AchievementTwoDescription.text   = Localizer.Get("PedestalView.Label.Performance.Two." + configString);
                AchievementThreeDescription.text = Localizer.Get("PedestalView.Label.Performance.Three." + configString);

                break;

            case Game.HoloChess:
                AchievementTwo.SetActive(true);

                AchievementOneDescription.text = Localizer.Get("PedestalView.Label.Performance.One.HoloChess");
                AchievementTwoDescription.text = Localizer.Get("PedestalView.Label.Performance.Two." + configString);

                if ((menuNode.Config.Planet == PlanetType.Lothal && menuNode.Config.PillarNumber == 3) ||
                    menuNode.Config.Planet == PlanetType.Hoth ||
                    menuNode.Config.Planet == PlanetType.Takodana ||
                    menuNode.Config.Planet == PlanetType.Core)
                {
                    AchievementThree.SetActive(false);
                }
                else
                {
                    AchievementThree.SetActive(true);
                    AchievementThreeDescription.text = Localizer.Get("PedestalView.Label.Performance.Three." + configString);
                }

                break;

            case Game.TowerDefense:
                AchievementOneDescription.text = Localizer.Get("PedestalView.Label.Performance.One.TowerDefense");

                // If the planet is Naboo or Core, there's only one achievement
                if (menuNode.Config.Planet == PlanetType.Naboo || menuNode.Config.Planet == PlanetType.Core)
                {
                    AchievementTwo.SetActive(false);
                }
                else
                {
                    AchievementTwo.SetActive(true);
                    AchievementTwoDescription.text = BSG.SWARTD.TDAPI.GetInstance().GetTextFor2ndObjective(menuNode.Config.Battle);
                }

                AchievementThree.SetActive(false);

                break;
            }
        }