Exemplo n.º 1
0
        private static void API_PykeReady(object sender, PykeAPI e)
        {
            API.Events.SubscribeAllEvents();
            API.Events.GameflowStateChanged += (s, e) => {
                Console.WriteLine(e.ToString());
            };

            API.Events.OnChampSelectTurnToPick += Events_OnChampSelectTurnToPick;

            Console.WriteLine("Pyke is ready! :)");
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            API            = new PykeAPI(Serilog.Events.LogEventLevel.Information);
            API.PykeReady += API_PykeReady;
            API.ConnectAsync().ConfigureAwait(false);

            while (true)
            {
                Console.ReadLine();
                Console.WriteLine(API.RequestHandler.GetJsonResponseAsync(HttpMethod.Get, "/lol-champ-select/v1/session", null).GetAwaiter().GetResult());
            }
        }
Exemplo n.º 3
0
        static void Main(string[] args)
        {
            API = new PykeAPI(Serilog.Events.LogEventLevel.Information).ConnectAsync().GetAwaiter().GetResult();

            API.Events.SubscribeAllEvents();
            API.Events.GameflowStateChanged += (s, e) => {
                Console.WriteLine(e.ToString());
            };

            while (true)
            {
                var url = Console.ReadLine();
            }
        }
Exemplo n.º 4
0
        public void CheckConnection()
        {
            if (!Process.GetProcesses().Any(_ => _.MainWindowTitle == "League of Legends"))
            {
                throw new Exception("League of Legends Client not Open");
            }

            API = new PykeAPI(Serilog.Events.LogEventLevel.Information);

            AutoResetEvent wait = new AutoResetEvent(false);

            API.PykeReady += (o, e) => wait.Set(); // Need to wait for PykeReady to be fired before testing CheckDDragonData()
            API.ConnectAsync().ConfigureAwait(true);

            Assert.IsTrue(wait.WaitOne(TimeSpan.FromSeconds(20)));
        }
Exemplo n.º 5
0
 public LeagueEvents(PykeAPI leagueAPI)
 {
     this.leagueAPI         = leagueAPI;
     _GameflowStateChanged += (s, e) =>
     {
         try
         {
             var state = StateChanged.ParseState(e.Data.ToString());
             leagueAPI.logger.Verbose("Invoked GameflowStateChanged: " + state.ToString());
             GameflowStateChanged?.Invoke(s, state);
         }
         catch (Exception ex)
         {
             leagueAPI.logger.Error("An exception occured while invoking GameflowStateChanged Event.\n" + ex.ToString());
         }
     };
     _MatchFoundStatusChanged += (s, e) =>
     {
         try
         {
             leagueAPI.logger.Verbose("Invoked OnMatchFound");
             ReadyState state = JsonConvert.DeserializeObject <ReadyState>(e.Data.ToString());
             if (state != null)
             {
                 OnReadyStateChanged?.Invoke(s, state);
             }
         }
         catch (Exception ex)
         {
             leagueAPI.logger.Error("An exception occured while invoking MatchFoundStatusChanged Event.\n" + ex.ToString());
         }
     };
     _SelectedChampionChanged += (s, e) =>
     {
         try
         {
             var champ = leagueAPI.Champions.FirstOrDefault(t => t.Key == long.Parse(e.Data.ToString()));
             if (champ == null)
             {
                 return;
             }
             leagueAPI.logger.Verbose("Invoked SelectedChampionChanged with Champion: " + champ.Name);
             SelectedChampionChanged?.Invoke(s, champ);
         }
         catch (Exception ex)
         {
             leagueAPI.logger.Error("An exception occured while invoking SelectedChampionChanged Event.\n" + ex.ToString());
         }
     };
     _ChampionTradeRecieved += (s, e) =>
     {
         try
         {
             leagueAPI.logger.Verbose("Invoked ChampionTradesUpdated");
             ChampionTradesUpdated?.Invoke(s, JsonConvert.DeserializeObject <List <Trade> >(e.Data.ToString()));
         }
         catch (Exception ex)
         {
             leagueAPI.logger.Error("An exception occured while invoking ChampionTradeRecieved Event.\n" + ex.ToString());
         }
     };
     _OnSessionUpdated += (s, e) =>
     {
         try
         {
             var session = JsonConvert.DeserializeObject <Session>(e.Data.ToString());
             leagueAPI.logger.Verbose("Invoked OnSessionUpdated");
             OnSessionUpdated?.Invoke(s, session);
             CheckOnChampSelect(s, session);
             CheckOtherUpdatedChamp(s, session);
             oldSession = session;
         }
         catch (Exception ex)
         {
             leagueAPI.logger.Error("An exception occured while invoking OnSessionUpdated Event.\n" + ex.ToString());
             leagueAPI.logger.Debug("  ----------------- DEBUG DATA -------------");
             leagueAPI.logger.Debug(e.Data.ToString());
             leagueAPI.logger.Debug("----------------- END DEBUG DATA -------------");
         }
     };
 }
Exemplo n.º 6
0
 public Login(PykeAPI leagueAPI)
 {
     this.leagueAPI = leagueAPI;
 }
Exemplo n.º 7
0
 public WindowHandler(PykeAPI pykeAPI)
 {
     pyke = pykeAPI;
 }
Exemplo n.º 8
0
 public MatchMaker(PykeAPI leagueAPI)
 {
     this.leagueAPI = leagueAPI;
 }
Exemplo n.º 9
0
 public ChampSelect(PykeAPI leagueAPI)
 {
     this.leagueAPI = leagueAPI;
 }
Exemplo n.º 10
0
 /// <summary>
 /// Creates a new instance of the <see cref="LeagueRequestHandler"/> class.
 /// </summary>
 /// <param name="port">The league client's port.</param>
 /// <param name="token">The user's Basic authentication token.</param>
 public LeagueRequestHandler(int port, string token, PykeAPI api)
 {
     leagueAPI = api;
     ChangeSettings(port, token);
 }
Exemplo n.º 11
0
 public ClientInformation(PykeAPI leagueAPI)
 {
     this.leagueAPI = leagueAPI;
 }
Exemplo n.º 12
0
 public Summoners(PykeAPI API)
 {
     leagueAPI = API;
 }
Exemplo n.º 13
0
 public ClientGameflow(PykeAPI pykeAPI)
 {
     this.pykeAPI = pykeAPI;
 }
Exemplo n.º 14
0
Arquivo: Lobby.cs Projeto: muk-as/Pyke
 public ClientLobby(PykeAPI pykeAPI)
 {
     this.pykeAPI = pykeAPI;
 }