private void ChatListView_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (e.AddedItems.Count > 0) { ChatPlayer player = (ChatPlayer)e.AddedItems[0]; ChatListView.SelectedIndex = -1; ChatPlayerItem playerItem = (ChatPlayerItem)player.Tag; LastPlayerItem = playerItem; foreach (NotificationChatPlayer x in Client.ChatListView.Items) { if ((string)x.PlayerLabelName.Content == playerItem.Username) return; } NotificationChatPlayer ChatPlayer = new NotificationChatPlayer(); ChatPlayer.Tag = playerItem; ChatPlayer.PlayerName = playerItem.Username; ChatPlayer.Margin = new Thickness(1, 0, 1, 0); ChatPlayer.PlayerLabelName.Content = playerItem.Username; Client.ChatListView.Items.Add(ChatPlayer); } }
internal static ChatPlayerItem ParsePresence(string Presence) { ChatPlayerItem Player = new ChatPlayerItem(); Player.RawPresence = Presence; //For debugging using (XmlReader reader = XmlReader.Create(new StringReader(Presence))) { while (reader.Read()) { if (reader.IsStartElement()) { #region Parse Presence switch (reader.Name) { case "profileIcon": reader.Read(); Player.ProfileIcon = Convert.ToInt32(reader.Value); break; case "level": reader.Read(); Player.Level = Convert.ToInt32(reader.Value); break; case "wins": reader.Read(); Player.Wins = Convert.ToInt32(reader.Value); break; case "leaves": reader.Read(); Player.Leaves = Convert.ToInt32(reader.Value); break; case "rankedWins": reader.Read(); Player.RankedWins = Convert.ToInt32(reader.Value); break; case "timeStamp": reader.Read(); Player.Timestamp = Convert.ToInt64(reader.Value); break; case "statusMsg": reader.Read(); Player.Status = reader.Value; if (Player.Status.EndsWith("∟")) { Player.UsingLegendary = true; } break; case "gameStatus": reader.Read(); Player.GameStatus = reader.Value; break; case "skinname": reader.Read(); Player.Champion = reader.Value; break; case "rankedLeagueName": reader.Read(); Player.LeagueName = reader.Value; break; case "rankedLeagueTier": reader.Read(); Player.LeagueTier = reader.Value; break; case "rankedLeagueDivision": reader.Read(); Player.LeagueDivision = reader.Value; break; } #endregion Parse Presence } } } return Player; }
internal static void RostManager_OnRosterItem(object sender, jabber.protocol.iq.Item ri) { UpdatePlayers = true; if (!AllPlayers.ContainsKey(ri.JID.User)) { ChatPlayerItem player = new ChatPlayerItem(); player.Id = ri.JID.User; player.Group = "Online"; using (XmlReader reader = XmlReader.Create(new StringReader(ri.OuterXml))) { while (reader.Read()) { if (reader.IsStartElement()) { switch (reader.Name) { case "group": reader.Read(); string TempGroup = reader.Value; if (TempGroup != "**Default") player.Group = TempGroup; break; } } } } player.Username = ri.Nickname; bool PlayerPresence = PresManager.IsAvailable(ri.JID); AllPlayers.Add(ri.JID.User, player); } }
internal static void RostManager_OnRosterItem(object sender, jabber.protocol.iq.Item ri) { UpdatePlayers = true; if (!AllPlayers.ContainsKey(ri.JID.User)) { ChatPlayerItem player = new ChatPlayerItem(); player.Id = ri.JID.User; player.Username = ri.Nickname; bool PlayerPresence = PresManager.IsAvailable(ri.JID); AllPlayers.Add(ri.JID.User, player); } }
internal static void RostManager_OnRosterItem(object sender, RosterItem ri) { UpdatePlayers = true; if (AllPlayers.ContainsKey(ri.Jid.User)) return; var player = new ChatPlayerItem { Id = ri.Jid.User, Group = "Online" }; //using (XmlReader reader = XmlReader.Create(new StringReader(ri.OuterXml))) using (XmlReader reader = XmlReader.Create(new StringReader(ri.ToString()))) { while (reader.Read()) { if (!reader.IsStartElement()) continue; switch (reader.Name) { case "group": reader.Read(); string TempGroup = reader.Value; if (TempGroup != "**Default") player.Group = TempGroup; break; } } } player.Username = ri.Name; AllPlayers.Add(ri.Jid.User, player); }
private void player_MouseRightButtonDown(object sender, MouseButtonEventArgs e) { var item = (ChatPlayer)sender; var playerItem = (ChatPlayerItem)item.Tag; LastPlayerItem = playerItem; }
internal static ChatPlayerItem ParsePresence(string Presence) { ChatPlayerItem Player = new ChatPlayerItem(); Player.RawPresence = Presence; //For debugging using (XmlReader reader = XmlReader.Create(new StringReader(Presence))) { while (reader.Read()) { if (reader.IsStartElement()) { #region Parse Presence switch (reader.Name) { case "profileIcon": reader.Read(); Player.ProfileIcon = Convert.ToInt32(reader.Value); break; case "level": reader.Read(); Player.Level = Convert.ToInt32(reader.Value); break; case "wins": reader.Read(); Player.Wins = Convert.ToInt32(reader.Value); break; case "leaves": reader.Read(); Player.Leaves = Convert.ToInt32(reader.Value); break; case "rankedWins": reader.Read(); Player.RankedWins = Convert.ToInt32(reader.Value); break; case "timeStamp": reader.Read(); Player.Timestamp = Convert.ToInt64(reader.Value); break; case "statusMsg": reader.Read(); Player.Status = reader.Value; if (Player.Status.EndsWith("∟")) { Player.UsingLegendary = true; } break; case "gameStatus": reader.Read(); Player.GameStatus = reader.Value; break; case "skinname": reader.Read(); Player.Champion = reader.Value; break; case "rankedLeagueName": reader.Read(); Player.LeagueName = reader.Value; break; case "rankedLeagueTier": reader.Read(); Player.LeagueTier = reader.Value; break; case "rankedLeagueDivision": reader.Read(); Player.LeagueDivision = reader.Value; break; } #endregion Parse Presence } } } return(Player); }