internal ChatEnterCallback(MsgClientChatEnter msg) { ChatID = msg.SteamIdChat; FriendID = msg.SteamIdFriend; ChatRoomType = msg.ChatRoomType; OwnerID = msg.SteamIdOwner; ClanID = msg.SteamIdClan; ChatFlags = msg.ChatFlags; EnterResponse = msg.EnterResponse; }
internal ChatEnterCallback(MsgClientChatEnter msg, byte[] payload) { ChatID = msg.SteamIdChat; FriendID = msg.SteamIdFriend; ChatRoomType = msg.ChatRoomType; OwnerID = msg.SteamIdOwner; ClanID = msg.SteamIdClan; ChatFlags = msg.ChatFlags; EnterResponse = msg.EnterResponse; NumChatMembers = msg.NumMembers; using (var ms = new MemoryStream(payload)) { // steamclient always attempts to read the chat room name, regardless of the enter response ChatRoomName = ms.ReadNullTermString(Encoding.UTF8); if (EnterResponse != EChatRoomEnterResponse.Success) { // the rest of the payload depends on a successful chat enter return; } var memberList = new List <ChatMemberInfo>(); for (int x = 0; x < NumChatMembers; ++x) { var memberInfo = new ChatMemberInfo(); memberInfo.ReadFromStream(ms); memberList.Add(memberInfo); } ChatMembers = new ReadOnlyCollection <ChatMemberInfo>(memberList); } }
internal ChatEnterCallback(SteamClient client, MsgClientChatEnter msg) : base(client)