public static TeamRosterUpdate CreateBody(PacketReader reader) { var result = new TeamRosterUpdate(); result.TeamSizeOrder = reader.ReadUInt32(); result.TeamSizeChaos = reader.ReadUInt32(); var order = new PlayerID[24]; for (int i = 0; i < 24; i++) { order[i] = reader.ReadPlayerID(); } var chaos = new PlayerID[24]; for (int i = 0; i < 24; i++) { chaos[i] = reader.ReadPlayerID(); } var orderCount = reader.ReadInt32(); var chaosCount = reader.ReadInt32(); result.OrderMembers = order.Take(orderCount).ToList(); result.ChaosMembers = chaos.Take(chaosCount).ToList(); return(result); }