コード例 #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
ファイル: Session.cs プロジェクト: uvbs/LeagueClient-v2
        public Session()
        {
            AccountService        = new Riot.Services.AccountService(this);
            ChampionTradeService  = new Riot.Services.ChampionTradeService(this);
            ClientFacadeService   = new Riot.Services.ClientFacadeService(this);
            GameInvitationService = new Riot.Services.GameInvitationService(this);
            GameService           = new Riot.Services.GameService(this);
            InventoryService      = new Riot.Services.InventoryService(this);
            LcdsProxyService      = new Riot.Services.LcdsProxyService(this);
            LeaguesService        = new Riot.Services.LeaguesService(this);
            LoginService          = new Riot.Services.LoginService(this);
            MasteryBookService    = new Riot.Services.MasteryBookService(this);
            MatchmakingService    = new Riot.Services.MatchmakingService(this);
            PlayerStatsService    = new Riot.Services.PlayerStatsService(this);
            RerollService         = new Riot.Services.RerollService(this);
            SpellBookService      = new Riot.Services.SpellBookService(this);
            SummonerIconService   = new Riot.Services.SummonerIconService(this);
            SummonerRuneService   = new Riot.Services.SummonerRuneService(this);
            SummonerService       = new Riot.Services.SummonerService(this);
            SummonerTeamService   = new Riot.Services.SummonerTeamService(this);

            LootService             = new LootService(this, LcdsProxyService);
            ChampionMasteryService  = new ChampionMasteryService(this, LcdsProxyService);
            TeambuilderDraftService = new TeambuilderDraftService(this, LcdsProxyService);

            PlayerPreferencesService = new PlayerPreferencesService(this);
            MatchHistoryService      = new MatchHistoryService(this);

            var patcher = new PatcherService(this);

            this.chat = new ChatService(this);

            this.Maestro = new Maestro(chat, patcher);

            var settings = new SettingsService(this);

            var hextech   = new HextechService(this);
            var champions = new ChampionsService(this);
            var masteries = new MasteriesService(this);
            var runes     = new RunesService(this);

            var matches = new Server.Profile.MatchHistoryService(this);

            this.summoner = new SummonerService(this);
            this.Assets   = new AssetsService(patcher);

            var rooms = new ChatRoomService(this, chat);
            var login = new AuthService(this);

            var game   = new PlayLoopService(this, rooms);
            var invite = new InviteService(this, game);

            var meta  = new MetaService(this);
            var debug = new DebugService(this);

            var replay = new ReplayService(this);

            patcher.FinishWAD();

            var info = new InfoService(this, patcher);
        }