예제 #1
0
        public Maestro(ChatService chat, PatcherService patcher)
        {
            this.patcher = patcher;
            this.chat    = chat;

            this.server = new TcpListener(IPAddress.Any, MaestroPort);

            new Thread(ConnectLoop)
            {
                IsBackground = true,
                Name         = "Maestro"
            }.Start();
        }
예제 #2
0
        public AssetsService(PatcherService patcher) : base("/assets")
        {
            loginVideo = GetStorage("login.webm");
            loginImage = GetStorage("login.png");
            settings   = GetSettings <Settings>();

            lolGameData = patcher.PatchWAD("rcp-be-lol-game-data");
            Session.Init.ContinueWith(t => OnInitialized());

            data = lolGameData.ContinueWith(t => {
                Masteries = ExtractJSON <MasteriesInfo>(t.Result, GameDataAssets.Masteries);
                Runes     = ExtractJSON <Dictionary <string, RuneDetails> >(t.Result, GameDataAssets.Runes).Values.ToList();
                Items     = ExtractJSON <List <ItemDetails> >(t.Result, GameDataAssets.Items);

                Maps           = ExtractJSON <List <MapSummary> >(t.Result, GameDataAssets.Maps);
                WardSkins      = ExtractJSON <List <WardSkinSummary> >(t.Result, GameDataAssets.WardSkins);
                Champions      = ExtractJSON <List <ChampionSummary> >(t.Result, GameDataAssets.ChampionSummary);
                SummonerSpells = ExtractJSON <List <SummonerSpellDetails> >(t.Result, GameDataAssets.SummonerSpells);

                RunesInfo = ExtractJSON <RuneSlots>(t.Result, GameDataAssets.RuneSlot);
            });
        }
예제 #3
0
        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);
        }
예제 #4
0
 public InfoService(Session session, PatcherService patcher) : base("/info")
 {
     this.session = session;
     this.patcher = patcher;
 }