private ClassroomSpot popSpotByLocation(List <ClassroomSpot> classroomSpots, Point targetLocation) { if (classroomSpots is null) { return(null); } int index = 0; foreach (ClassroomSpot classroomSpot in classroomSpots) { if (classroomSpot.Location.Equals(targetLocation)) { break; } index++; } if (index >= classroomSpots.Count) { return(null); } // Somewhat unclear, this occurs if we didn't find target spot ClassroomSpot targetSpot = classroomSpots[index]; classroomSpots.RemoveAt(index); return(targetSpot); }
private void addClassroomSpot(int x, int y, ClassroomSpot data = null) { ClassroomSpotControl newSpot = new ClassroomSpotControl(); newSpot.subscribeToDeskChange(updateDeskState); newSpot.Location = getClassroomSpotLocation(x, y); newSpot.UpdateSpot(new Point(x, y), data?.Occupant, (data != null)); StudentListbox.removeStudentList(new List <Student>() { data?.Occupant }); ClassroomSpotsPanel.Controls.Add(newSpot); }