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); }