доработка базы

This commit is contained in:
Мельников Игорь 2022-12-07 15:07:45 +04:00
parent 607e9493c9
commit 4da3dba800
2 changed files with 29 additions and 58 deletions

View File

@ -34,6 +34,7 @@
this.listBoxMaps = new System.Windows.Forms.ListBox();
this.buttonAddMap = new System.Windows.Forms.Button();
this.textBoxNewMapName = new System.Windows.Forms.TextBox();
this.comboBoxSelectorMap = new System.Windows.Forms.ComboBox();
this.buttonUp = new System.Windows.Forms.Button();
this.buttonDown = new System.Windows.Forms.Button();
this.buttonLeft = new System.Windows.Forms.Button();
@ -43,7 +44,6 @@
this.buttonRemoveLocomotive = new System.Windows.Forms.Button();
this.maskedTextBoxPosition = new System.Windows.Forms.MaskedTextBox();
this.buttonAddCar = new System.Windows.Forms.Button();
this.comboBoxSelectorMap = new System.Windows.Forms.ComboBox();
this.pictureBoxLocomotives = new System.Windows.Forms.PictureBox();
this.groupBoxTools.SuspendLayout();
this.groupBoxMaps.SuspendLayout();
@ -122,6 +122,19 @@
this.textBoxNewMapName.Size = new System.Drawing.Size(164, 23);
this.textBoxNewMapName.TabIndex = 0;
//
// comboBoxSelectorMap
//
this.comboBoxSelectorMap.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBoxSelectorMap.FormattingEnabled = true;
this.comboBoxSelectorMap.Items.AddRange(new object[] {
"Простая карта",
"Карта с крестом",
"Карта с дорожками"});
this.comboBoxSelectorMap.Location = new System.Drawing.Point(25, 51);
this.comboBoxSelectorMap.Name = "comboBoxSelectorMap";
this.comboBoxSelectorMap.Size = new System.Drawing.Size(164, 23);
this.comboBoxSelectorMap.TabIndex = 0;
//
// buttonUp
//
this.buttonUp.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
@ -218,20 +231,6 @@
this.buttonAddCar.UseVisualStyleBackColor = true;
this.buttonAddCar.Click += new System.EventHandler(this.ButtonAddLocomotive_Click);
//
// comboBoxSelectorMap
//
this.comboBoxSelectorMap.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBoxSelectorMap.FormattingEnabled = true;
this.comboBoxSelectorMap.Items.AddRange(new object[] {
"Простая карта",
"Карта с крестом",
"Карта с дорожками"});
this.comboBoxSelectorMap.Location = new System.Drawing.Point(25, 51);
this.comboBoxSelectorMap.Name = "comboBoxSelectorMap";
this.comboBoxSelectorMap.Size = new System.Drawing.Size(164, 23);
this.comboBoxSelectorMap.TabIndex = 0;
this.comboBoxSelectorMap.SelectedIndexChanged += new System.EventHandler(this.ComboBoxSelectorMap_SelectedIndexChanged);
//
// pictureBoxLocomotives
//
this.pictureBoxLocomotives.Dock = System.Windows.Forms.DockStyle.Fill;

View File

@ -107,45 +107,13 @@
MessageBox.Show("Карта удалена");
}
/// <summary>
/// Выбор карты
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ComboBoxSelectorMap_SelectedIndexChanged(object sender, EventArgs e)
{
AbstractMap map = null;
switch (comboBoxSelectorMap.Text)
{
case "Простая карта":
map = new SimpleMap();
break;
case "Карта с крестом":
map = new CrossMap();
break;
case "Карта с дорожками":
map = new RoadsMap();
break;
default:
break;
}
if (map != null)
{
_mapCarsCollectionGeneric = new
MapWithSetLocomotivesGeneric<DrawningObjectLocomotive, AbstractMap>(pictureBoxLocomotives.Width, pictureBoxLocomotives.Height, map);
}
else
{
_mapCarsCollectionGeneric = null;
}
}
/// <summary>
/// Добавление объекта
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ButtonAddLocomotive_Click(object sender, EventArgs e)
{
if (_mapCarsCollectionGeneric == null)
if (listBoxMaps.SelectedIndex == -1)
{
return;
}
@ -153,10 +121,10 @@
if (form.ShowDialog() == DialogResult.OK)
{
DrawningObjectLocomotive locomotive = new(form.SelectedLocomotive);
if ((_mapCarsCollectionGeneric + locomotive) > -1)
if ((_mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty] + locomotive) > -1)
{
MessageBox.Show("Объект добавлен");
pictureBoxLocomotives.Image = _mapCarsCollectionGeneric.ShowSet();
pictureBoxLocomotives.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet();
}
else
{
@ -171,6 +139,10 @@
/// <param name="e"></param>
private void ButtonRemoveLocomotive_Click(object sender, EventArgs e)
{
if (listBoxMaps.SelectedIndex == -1)
{
return;
}
if (string.IsNullOrEmpty(maskedTextBoxPosition.Text))
{
return;
@ -180,10 +152,10 @@
return;
}
int pos = Convert.ToInt32(maskedTextBoxPosition.Text);
if ((_mapCarsCollectionGeneric - pos) != null)
if ((_mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty] - pos) != null)
{
MessageBox.Show("Объект удален");
pictureBoxLocomotives.Image = _mapCarsCollectionGeneric.ShowSet();
pictureBoxLocomotives.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet();
}
else
{
@ -197,11 +169,11 @@
/// <param name="e"></param>
private void ButtonShowStorage_Click(object sender, EventArgs e)
{
if (_mapCarsCollectionGeneric == null)
if (listBoxMaps.SelectedIndex == -1)
{
return;
}
pictureBoxLocomotives.Image = _mapCarsCollectionGeneric.ShowSet();
pictureBoxLocomotives.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet();
}
/// <summary>
/// Вывод карты
@ -210,11 +182,11 @@
/// <param name="e"></param>
private void ButtonShowOnMap_Click(object sender, EventArgs e)
{
if (_mapCarsCollectionGeneric == null)
if (listBoxMaps.SelectedIndex == -1)
{
return;
}
pictureBoxLocomotives.Image = _mapCarsCollectionGeneric.ShowOnMap();
pictureBoxLocomotives.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowOnMap();
}
/// <summary>
/// Перемещение
@ -223,7 +195,7 @@
/// <param name="e"></param>
private void ButtonMove_Click(object sender, EventArgs e)
{
if (_mapCarsCollectionGeneric == null)
if (listBoxMaps.SelectedIndex == -1)
{
return;
}
@ -245,7 +217,7 @@
dir = Direction.Right;
break;
}
pictureBoxLocomotives.Image = _mapCarsCollectionGeneric.MoveObject(dir);
pictureBoxLocomotives.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].MoveObject(dir);
}
}
}