private void ParseRoomInfo(Player player) { player.Interface.DebugText("Room Parsed: " + roomName + ", Last Command: " + player.LastConfirmedCommand); SeenRoom room = new SeenRoom(); room.Name = roomName.Trim(); if (description != null) { room.Description = description.Trim(); } if (items != null) { var itemMatches = player.Model.RoomItemRegex.Matches(items); room.PopulateInventory(itemMatches, null, player.Model); } if (people != null) { var playerMatches = player.Model.RoomPeopleRegex.Matches(people); room.People.AddRange(playerMatches.Cast <Match>().Select(x => x.Groups["name"].Value)); } var exitMatches = player.Model.RoomExitRegex.Matches(exits); room.Exits.AddRange(exitMatches.Cast <Match>().Select(x => x.Groups["name"].Value)); UpdateRoomState(player, room); player.UpdateGameStatus(Commands.GameStatusUpdate.RoomParsed); }