using System.Linq; Log("=== Room Scan Starter ==="); if (!IsInRoom || Room == null) { Log("Not in a room. Enter a room and run again."); } else { Log($"Room: {Room.Name} (ID: {Room.Id})"); Log($"Owner: {Room.OwnerName} ({Room.OwnerId})"); Log($"Users: {Users.Count()} | FloorItems: {FloorItems.Count()} | WallItems: {WallItems.Count()}"); var topFloorKinds = FloorItems .GroupBy(i => i.Kind) .OrderByDescending(g => g.Count()) .ThenBy(g => g.Key) .Take(5) .ToList(); Log("Top 5 floor kinds:"); if (topFloorKinds.Count == 0) { Log("- none"); } else { foreach (var g in topFloorKinds) Log($"- kind {g.Key}: {g.Count()}x"); } var topWallKinds = WallItems .GroupBy(i => i.Kind) .OrderByDescending(g => g.Count()) .ThenBy(g => g.Key) .Take(5) .ToList(); Log("Top 5 wall kinds:"); if (topWallKinds.Count == 0) { Log("- none"); } else { foreach (var g in topWallKinds) Log($"- kind {g.Key}: {g.Count()}x"); } }