public void UpdateForm() { if ((DateTime.Now - lastUpdateTime).TotalSeconds > CalculationConsts.INTERFACE_REFRESH_TIME_INTERVAL) { lastUpdateTime = DateTime.Now; int selectedRowIndex = -1; vehicles.Clear(); vehiclesGridView.Rows.Clear(); controller.Vehicles.ForEach(vehicle => { vehicles.Add(vehicle); vehiclesGridView.Rows.Add(vehicle.Id); if (vehicle.Equals(selectedVehicle)) { selectedRowIndex = vehiclesGridView.Rows.Count - 1; } }); if (selectedRowIndex >= 0) { vehiclesGridView.Rows[selectedRowIndex].Selected = true; } } if (selectedVehicle != null) { cameraPosition = new Vector3( directxController.CalculateXPosition(selectedVehicle.Position.Coordinates.X), directxController.CalculateYPosition(selectedVehicle.Position.Coordinates.Y), ViewConsts.SELECTED_VEHICLE_ZOOM_OFFSET); cameraTarget.X = cameraPosition.X; cameraTarget.Y = cameraPosition.Y; } }