示例#1
0
        private bool OnSimpleDialogMessage(SimpleDialogMessage msg)
        {
            switch (msg.TitleCode)
            {
            case "championMastery":
                var arg        = JSONParser.ParseObject((string)msg.Params[0]);
                var rawMastery = JSONDeserializer.Deserialize <EogChampionMasteryDTO>(arg);

                if (rawMastery.LevelUpList.Any())
                {
                }

                var stats = new PostGameChampionMastery {
                    Champion = rawMastery.ChampionId,
                    Grade    = rawMastery.PlayerGrade,
                    Before   = new ChampionMasteryState {
                        Level            = rawMastery.ChampionLevelUp ? rawMastery.ChampionLevel - 1 : rawMastery.ChampionLevel,
                        PointsInLevel    = rawMastery.ChampionPointsSinceLastLevelBeforeGame + rawMastery.ChampionPointsUntilNextLevelBeforeGame,
                        PointsSinceLevel = rawMastery.ChampionPointsSinceLastLevelBeforeGame,
                        TotalPoints      = rawMastery.ChampionPointsBeforeGame
                    },
                    After = new ChampionMasteryState {
                        Level            = rawMastery.ChampionLevel,
                        PointsInLevel    = rawMastery.ChampionPointsUntilNextLevelAfterGame + (rawMastery.ChampionPointsGained - rawMastery.ChampionPointsUntilNextLevelBeforeGame) + 1,
                        PointsSinceLevel = rawMastery.ChampionPointsGained - rawMastery.ChampionPointsUntilNextLevelBeforeGame + 1,
                        TotalPoints      = rawMastery.ChampionPointsBeforeGame + rawMastery.ChampionPointsGained
                    }
                };
                if (!rawMastery.ChampionLevelUp)
                {
                    stats.After.PointsInLevel    = stats.Before.PointsInLevel;
                    stats.After.PointsSinceLevel = rawMastery.ChampionPointsSinceLastLevelBeforeGame + rawMastery.ChampionPointsGained;
                }

                state.ChampionMastery = stats;
                OnStateChanged();
                return(true);

            case "championMasteryLootGrant":
                arg = JSONParser.ParseObject((string)msg.Params[0]);
                var rawLoot = JSONDeserializer.Deserialize <ChampionMasteryLootGrant>(arg);

                HextechService.Add(state.Hextech, true, rawLoot.LootName, 1, null);
                OnStateChanged();
                break;
            }

            return(false);
        }
示例#2
0
        private bool OnSimpleDialogMessage(SimpleDialogMessage msg)
        {
            switch (msg.TitleCode)
            {
            case "championMasteryLootGrant":
                var arg     = JSONParser.ParseObject((string)msg.Params[0]);
                var rawLoot = JSONDeserializer.Deserialize <ChampionMasteryLootGrant>(arg);

                if (rawLoot.LootName != null)
                {
                    Add(inventory, true, rawLoot.LootName, 1, null);
                }

                OnUpdate();
                break;
            }

            return(true);
        }
示例#3
0
        public void SimulateSimpleDialogMessage()
        {
            SimpleDialogMessage message = new SimpleDialogMessage()
            {
                TitleCode = "leagues",
                AccountId = 200006292.0,
                Type      = "leagues",
                Params    = new Dictionary <string, object>()
                {
                    { "leagueItem", new Dictionary <string, object>()
                      {
                          { "playerOrTeamId", 222908 },
                          { "playerOrTeamName", "Snowl" },
                          { "leagueName", "Urgot's Patriots" },
                          { "queueType", "RANKED_SOLO_5x5" },
                          { "tier", "SILVER" },
                          { "rank", "III" },
                          { "leaguePoints", 95 },
                          { "previousDayLeaguePosition", 5 },
                          { "wins", 291 },
                          { "losses", 278 },
                          { "lastPlayed", 1385704806989 },
                          { "timeUntilDecay", 8639913599826 },
                          { "timeLastDecayMessageShown", 0 },
                          { "miniSeries", null },
                          { "displayDecayWarning", false },
                          { "demotionWarning", 0 },
                          { "totalPlayed", 569 },
                          { "hotStreak", false },
                          { "veteran", true },
                          { "freshBlood", false },
                          { "inactive", false }
                      } },
                    { "notifyReason", "LEAGUE_POINTS_UPDATE" },
                    { "leaguePointsDelta", 18 },
                    { "gameId", 125707704 }
                }
            };

            MessageReceived(message);
        }