Реализация добавления объектов в хранилище.

This commit is contained in:
Programmist73 2022-10-11 00:41:27 +04:00
parent 9bba0b1a34
commit 31e27532f2
2 changed files with 26 additions and 37 deletions

View File

@ -63,7 +63,7 @@ namespace Airbus
{ {
DrawningObjectPlane plane = new(form.SelectedPlane); DrawningObjectPlane plane = new(form.SelectedPlane);
if(_mapPlanesCollectionGeneric + plane) if(_mapPlanesCollectionGeneric + plane != -1)
{ {
MessageBox.Show("Объект добавлен"); MessageBox.Show("Объект добавлен");
pictureBox.Image = _mapPlanesCollectionGeneric.ShowSet(); pictureBox.Image = _mapPlanesCollectionGeneric.ShowSet();
@ -91,7 +91,7 @@ namespace Airbus
int pos = Convert.ToInt32(maskedTextBoxPosition.Text); int pos = Convert.ToInt32(maskedTextBoxPosition.Text);
if(_mapPlanesCollectionGeneric - pos) if(_mapPlanesCollectionGeneric - pos != null)
{ {
MessageBox.Show("Объект удалён"); MessageBox.Show("Объект удалён");
pictureBox.Image = _mapPlanesCollectionGeneric.ShowSet(); pictureBox.Image = _mapPlanesCollectionGeneric.ShowSet();

View File

@ -43,32 +43,33 @@ namespace Airbus
} }
//пеергрузка оператора сложения //пеергрузка оператора сложения
public static bool operator +(MapWithSetPlanesGeneric<T, U> map, T plane) public static int operator +(MapWithSetPlanesGeneric<T, U> map, T plane)
{ {
if (map._setPlanes.Insert(plane) != -1) /*if (map._setPlanes.Insert(plane) != -1)
{ {
return true; return true;
} }
else else
{ {
return false; return false;
} }*/
//return map._setPlanes.Insert(plane);
return map._setPlanes.Insert(plane);
} }
//перегрузка оператора вычитания //перегрузка оператора вычитания
public static bool operator -(MapWithSetPlanesGeneric<T, U> map, int position) public static T operator -(MapWithSetPlanesGeneric<T, U> map, int position)
{ {
if (map._setPlanes.Remove(position) != null) /*if (map._setPlanes.Remove(position) != null)
{ {
return true; return true;
} }
else else
{ {
return false; return false;
} }*/
//return map._setPlanes.Remove(position); return map._setPlanes.Remove(position);
} }
//вывод всего набора объектов //вывод всего набора объектов
@ -121,11 +122,11 @@ namespace Airbus
{ {
for (; j > i; j--) for (; j > i; j--)
{ {
var car = _setPlanes.Get(j); var plane = _setPlanes.Get(j);
if (car != null) if (plane != null)
{ {
_setPlanes.Insert(car, i); _setPlanes.Insert(plane, i);
_setPlanes.Remove(j); _setPlanes.Remove(j);
break; break;
} }
@ -202,37 +203,25 @@ namespace Airbus
//метод прорисовки объеков //метод прорисовки объеков
public void DrawPlanes(Graphics g) public void DrawPlanes(Graphics g)
{ {
int width = _pictureWidth / _placeSizeWidth; int position = 0;
int height = _pictureHeight / _placeSizeHeight; int currentWidth = 1;
int currentHeight = 5;
int currentWidth = 0; for (int i = 0; i < _setPlanes.Count; i++)
int currentHeight = 0;
for(int i = 0; i < _setPlanes.Count; i++)
{ {
int bias = 0; //величина смещения _setPlanes.Get(i)?.SetObject(currentWidth * _placeSizeWidth + 20, currentHeight * _placeSizeHeight + 20, _pictureWidth, _pictureHeight);
if (currentWidth > 0 && currentHeight > 0)
{
bias = width;
}
_setPlanes.Get(i)?.SetObject(_pictureWidth - currentWidth, _pictureHeight - height * currentHeight, _pictureWidth, _pictureHeight);
_setPlanes.Get(i)?.DrawningObject(g); _setPlanes.Get(i)?.DrawningObject(g);
if (currentWidth < width - 1) if(position % 2 == 0)
{ {
currentWidth++; position++;
currentWidth--;
} }
else else
{ {
currentWidth = 0; position = 0;
currentHeight++; currentWidth = 1;
} currentHeight--;
if (currentHeight > height)
{
return;
} }
} }
} }