public FriendsList() { this.InitializeComponent(); var friendManager = FriendManager.GetInstance(); OnlineFriendsListUI.ItemsSource = friendManager.OnlineFriendList; OfflineFriendsListUI.ItemsSource = friendManager.OfflineFriendList; FriendsSearchUI.ItemsSource = friendManager.FriendSearchResultsList; SearchBar.KeyUp += SearchBar_KeyUp; }
public override void DoActions(PacketType packetType, object data, string senderEmailAddress) { var separators = new string[] { "," }; var friendManager = FriendManager.GetInstance(); Friend friend; FriendList friendList; switch (packetType) { case PacketType.s_UserLoggedIn: friend = data as Friend; if (null != friend) { friendManager.OnBuddySignIn(friend); } break; case PacketType.s_UserLoggedOut: friend = data as Friend; if (null != friend) { friendManager.OnBuddySignOut(friend); } break; case PacketType.s_OnlineFriendList: friendList = data as FriendList; if (friendList != null) { friendManager.InitializeOnlineBuddyList(friendList.Friends); } break; // This packet type contains all of the clients friends (both online and offline). case PacketType.s_FriendList: friendList = data as FriendList; if (friendList != null) { friendManager.InitializeCompleteBuddyList(friendList.Friends); } break; case PacketType.s_FriendRequests: friendList = data as FriendList; if (friendList != null) { foreach (Friend f in friendList.Friends) { var requestManager = RequestManager.GetInstance(); requestManager.NewFriendRequest(f); } } break; case PacketType.s_FriendRequestAccepted: friend = data as Friend; if (friend != null) { friendManager.AddNewBuddy(friend); } break; case PacketType.s_FriendSearchResults: friendManager.FriendSearchResultsList.Clear(); friendList = data as FriendList; if (friendList != null) { foreach (Friend f in friendList.Friends) { friendManager.FriendSearchResultsList.Add(f); } } break; case PacketType.s_UserStats: var tempFriend = data as Friend; // ToDo: Don't just ovewrite this blindly. We need to make sure that if the user has // gained experience in offline mode, that that isn't overwritten here. It needs to // be uploaded first. if (tempFriend != null) { Settings.Alias = tempFriend.Alias; Settings.CreationTime = tempFriend.CreationTime; Settings.Level = tempFriend.Ranking; Settings.Experience = tempFriend.Experience; Settings.Level = tempFriend.Level; Settings.Ranking = tempFriend.Ranking; } break; case PacketType.s_IsAliasAvailable: OnMessageReceived(data as String); break; default: throw new ArgumentException( "Passed PacketType is not meant to be handled by this MessageProcessor"); } }