/// <summary> /// Richtungswechsel /// </summary> public void switchDirection() { switch (current_direction) { case Defaults.Direction.Upward: current_direction = Defaults.Direction.Downward; break; case Defaults.Direction.Downward: current_direction = Defaults.Direction.Upward; break; } }
/// <summary> /// Ändert die Fahrtrichtung. /// </summary> public void SwitchDirection() { switch( _direction ) { case Defaults.Direction.Downward: { if ( _currentFloor != ( Defaults.Floors - Defaults.Basements - 1)) _direction = Defaults.Direction.Upward; } break; case Defaults.Direction.Upward: { if (_currentFloor != (0 - Defaults.Basements)) _direction = Defaults.Direction.Downward; } break; } Syncronize.SwitchDirection(); Log.AddEntry("Richtungswechsel, neue Richtung: " + _direction.ToString()); }
/// <summary> /// Konstruktor /// </summary> public UserInterface() { InitializeComponent(); //Intialisierung der statisch erzeugten Formularelemente GroupBox_floors = new GroupBox[Defaults.Floors]; label_floor_numbers = new Label[Defaults.Floors]; label_current_position = new Label[Defaults.Floors]; PictureBox_doorstates = new PictureBox[Defaults.Floors]; button_intern = new Button[Defaults.Floors]; button_upward = new Button[Defaults.Floors]; button_downward = new Button[Defaults.Floors]; image_upward = Image.FromFile(Defaults.GetProjectPath() + @"\Pictures\Aufwaerts.gif"); image_downward = Image.FromFile(Defaults.GetProjectPath() + @"\Pictures\Aufwaerts.gif"); image_downward.RotateFlip(RotateFlipType.Rotate180FlipX); pictureBox_direction.Image = image_upward; image_door_open = Image.FromFile(Defaults.GetProjectPath() + @"\Pictures\Aufzugtueren_auf.gif"); image_door_close = Image.FromFile(Defaults.GetProjectPath() + @"\Pictures\Aufzugtueren_zu.gif"); current_direction = Defaults.Direction.Upward; floor = 0; passengers = 0; busy = false; intern_requireds = new List<bool>(); upwards_requireds = new List<bool>(); downwards_requireds = new List<bool>(); pictureBox_direction.Image = image_upward; for (int i = Defaults.Floors - 1; i >= 0; i--) { GroupBox_floors[i] = new GroupBox(); GroupBox_floors[i].Text = ""; GroupBox_floors[i].Location = new Point(30, Defaults.Floors * 100 - 110 * i); GroupBox_floors[i].Height = 110; GroupBox_floors[i].Width = 350; GroupBox_floors[i].Name = "groupBox_floor" + i; groupBox_outsite.Controls.Add(GroupBox_floors[i]); label_floor_numbers[i] = new Label(); switch (i) { case 0: label_floor_numbers[i].Text = "UG"; break; case 1: label_floor_numbers[i].Text = "EG"; break; default: label_floor_numbers[i].Text = (i - 1) + ". OG"; break; } label_floor_numbers[i].Width = 70; label_floor_numbers[i].Location = new Point(10, 10); label_floor_numbers[i].Name = "label_floor" + i; GroupBox_floors[i].Controls.Add(label_floor_numbers[i]); label_floor_numbers[i].Font = new System.Drawing.Font("Microsoft Sans Serif", 14F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); PictureBox_doorstates[i] = new PictureBox(); PictureBox_doorstates[i].Width = 30; PictureBox_doorstates[i].Height = 30; PictureBox_doorstates[i].Location = new Point(100, 50); PictureBox_doorstates[i].Name = "pictureBox_doorstate" + i; PictureBox_doorstates[i].Image = image_door_close; GroupBox_floors[i].Controls.Add(PictureBox_doorstates[i]); label_current_position[i] = new Label(); label_current_position[i].Text = "#Position"; label_current_position[i].Name = "label_position" + i; label_current_position[i].Width = 60; label_current_position[i].Location = new Point(100, 12); GroupBox_floors[i].Controls.Add(label_current_position[i]); button_intern[i] = new Button(); button_intern[i].Location = new Point(20, Defaults.Floors * 45 - 45 * i); button_intern[i].Height = 40; button_intern[i].Width = 100; button_intern[i].Name = "Button_int" + i; switch (i) { case 0: button_intern[i].Text = "1. UG"; break; case 1: button_intern[i].Text = "EG"; break; default: button_intern[i].Text = (i - 1) + ". OG"; break; } groupBox_floor_selection.Controls.Add(button_intern[i]); button_intern[i].Click += new System.EventHandler(ClickInnerButton); if (i != Defaults.Floors - 1) { button_upward[i] = new Button(); button_upward[i].Location = new Point(250, 25); button_upward[i].Height = 30; button_upward[i].Width = 70; button_upward[i].Text = "Aufwärts"; button_upward[i].Name = "Button_up_" + i; GroupBox_floors[i].Controls.Add(button_upward[i]); button_upward[i].Click += new System.EventHandler(ClickOutsideButton); } if (i != 0) { button_downward[i] = new Button(); button_downward[i].Location = new Point(250, 65); button_downward[i].Height = 30; button_downward[i].Width = 70; button_downward[i].Text = "Abwärts"; button_downward[i].Name = "Button_down_" + i; GroupBox_floors[i].Controls.Add(button_downward[i]); button_downward[i].Click += new System.EventHandler(ClickOutsideButton); } intern_requireds.Add(false); upwards_requireds.Add(false); downwards_requireds.Add(false); }// Ende der for-Schleife CurrentPosition = floor; }
/// <summary> /// ändert Fahrtrichtung ins entgegengesetzte /// </summary> public void SwitchDirection() { switch( _direction ) { case Defaults.Direction.Downward: { _direction = Defaults.Direction.Upward; } break; case Defaults.Direction.Upward: { _direction = Defaults.Direction.Downward; } break; } }