예제 #1
0
파일: MainForm.cs 프로젝트: burchix/Trams
        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;
            }
        }