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! :)"); }
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()); } }
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(); } }
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))); }
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 -------------"); } }; }
public Login(PykeAPI leagueAPI) { this.leagueAPI = leagueAPI; }
public WindowHandler(PykeAPI pykeAPI) { pyke = pykeAPI; }
public MatchMaker(PykeAPI leagueAPI) { this.leagueAPI = leagueAPI; }
public ChampSelect(PykeAPI leagueAPI) { this.leagueAPI = leagueAPI; }
/// <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); }
public ClientInformation(PykeAPI leagueAPI) { this.leagueAPI = leagueAPI; }
public Summoners(PykeAPI API) { leagueAPI = API; }
public ClientGameflow(PykeAPI pykeAPI) { this.pykeAPI = pykeAPI; }
public ClientLobby(PykeAPI pykeAPI) { this.pykeAPI = pykeAPI; }