diff --git a/AirBomber/AirBomber/FormMapWithSetAirplanes.cs b/AirBomber/AirBomber/FormMapWithSetAirplanes.cs
index 32d0bd4..6b4eb6c 100644
--- a/AirBomber/AirBomber/FormMapWithSetAirplanes.cs
+++ b/AirBomber/AirBomber/FormMapWithSetAirplanes.cs
@@ -142,7 +142,7 @@
return;
}
int pos = Convert.ToInt32(maskedTextBoxPosition.Text);
- if (_mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty] - pos)
+ if (_mapAirplanesCollectionGeneric - pos != -1)
{
MessageBox.Show("Объект удален");
pictureBox.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet();
diff --git a/AirBomber/AirBomber/MapWithSetAirplanesGeneric.cs b/AirBomber/AirBomber/MapWithSetAirplanesGeneric.cs
index 444dbfd..baef1ea 100644
--- a/AirBomber/AirBomber/MapWithSetAirplanesGeneric.cs
+++ b/AirBomber/AirBomber/MapWithSetAirplanesGeneric.cs
@@ -54,8 +54,8 @@ namespace AirBomber
///
///
///
- ///
- public static bool operator +(MapWithSetAirplanesGeneric map, T airplane)
+ /// Возвращает позицию вставленого объекта либо -1, если не получилось его добавить
+ public static int operator +(MapWithSetAirplanesGeneric map, T airplane)
{
return map._setAirplanes.Insert(airplane);
}
@@ -64,8 +64,8 @@ namespace AirBomber
///
///
///
- ///
- public static bool operator -(MapWithSetAirplanesGeneric map, int position)
+ /// Возвращает удаленный объект, либо null если его не удалось удалить
+ public static T operator -(MapWithSetAirplanesGeneric map, int position)
{
return map._setAirplanes.Remove(position);
}
diff --git a/AirBomber/AirBomber/SetAirplanesGeneric.cs b/AirBomber/AirBomber/SetAirplanesGeneric.cs
index 8577377..41ddb96 100644
--- a/AirBomber/AirBomber/SetAirplanesGeneric.cs
+++ b/AirBomber/AirBomber/SetAirplanesGeneric.cs
@@ -65,13 +65,14 @@ namespace AirBomber
/// Удаление объекта из набора с конкретной позиции
///
///
- ///
- public bool Remove(int position)
+ /// Возвращает удаленный объект, либо null если его не удалось удалить
+ public T Remove(int position)
{
- if (!isCorrectPosition(position) || position >= Count)
- return false;
- _places.RemoveAt(position);
- return true;
+ if (!isCorrectPosition(position))
+ return null;
+ var result = _places[position];
+ _places[position] = null;
+ return result;
}
///
/// Получение объекта из набора по позиции