private void HandleInitialStatus(UInt32 BuddyCount) { HoNInitialStatusArgs hbl = new HoNInitialStatusArgs(BuddyCount); HoNBuddy b; for (int i = 0; i < BuddyCount; i++) { b.UserID = HoNRecv.ExtractDWORD(); b.Status = HoNRecv.ExtractByte(); b.Flags = HoNRecv.ExtractByte(); if (b.Status == USER_STATUS_LOBBY || b.Status == USER_STATUS_GAME) { b.Server = HoNRecv.ExtractString(); } else { b.Server = String.Empty; } if (b.Status == USER_STATUS_GAME || b.Status == USER_STATUS_LOBBY) { b.GameName = HoNRecv.ExtractString(); } else { b.GameName = String.Empty; } hbl.AddBuddy(i, b.UserID, b.Status, b.Flags, b.Server, b.GameName); Debug.WriteLine(String.Format("Buddy #{0}: ID #{1} - Status: 0x{2:X2} - Flags: 0x{3:X2} - Server: {4} - Game: {5}", i + 1, b.UserID, b.Status, b.Flags, b.Server, b.GameName)); } if (onInitialStatus != null) { onInitialStatus(this, hbl); } }
void hon_onInitialStatus(object sender, HoNInitialStatusArgs e) { HoNBuddy[] Buddies = e.GetBuddies(); foreach (HoNBuddy buddy in Buddies) { UpdateFlags(buddy.UserID, buddy.Flags); } if (onInitialStatus != null) onInitialStatus(this, new InitialStatusEventArgs(Buddies)); }