GameManager.Remove

This commit is contained in:
Ivan Filipenkov 2023-08-18 01:52:31 +03:00
parent 925b03fd3a
commit d4b29d7203

View file

@ -83,6 +83,36 @@ namespace DangerousD.GameCore
otherObjects.Add(gameObject); otherObjects.Add(gameObject);
} }
} }
public void Remove(GameObject gameObject)
{
GetAllGameObjects.Remove(gameObject);
if (gameObject is Player objPl)
{
livingEntities.Remove(gameObject as LivingEntity);
players.Remove(objPl);
}
else if (gameObject is LivingEntity objLE)
{
livingEntities.Remove(objLE);
}
else if (gameObject is Entity objE)
{
entities.Remove(objE);
}
else if (gameObject is MapObject obj)
{
if (obj.IsColliderOn)
mapObjects.Remove(obj);
else
BackgroundObjects.Remove(obj);
}
else
{
otherObjects.Remove(gameObject);
}
}
public void Draw(SpriteBatch _spriteBatch) public void Draw(SpriteBatch _spriteBatch)
{ {
foreach (var item in BackgroundObjects) foreach (var item in BackgroundObjects)