public void CreateMinion(Tower tower)
        {
            if (ActiveMinions[tower.Side].Count(m => !m.IsDisposed) >= MaxMinions) return;

            var minion = new Minion(tower.Side, tower.Position +
                new Vector2(ConvertUnits.ToSimUnits(SpawnOffsetX*(tower.Side == Side.Heart?-1:1)),
                    ConvertUnits.ToSimUnits(SpawnOffsetY)), this);

            minion.Died += (s, e) => RemoveMinion(minion);
            ActiveMinions[tower.Side].Add(minion);
        }
 public void RemoveMinion(Minion minion)
 {
     ActiveMinions[minion.Side].Remove(minion);
     _deadMinions.Enqueue(minion);
 }