private void DestroyCellUnderDestroyerWithCondition(Entity cellEntity, Cell cell, Func <bool> canDestroy) { if (canDestroy() && !cellEntity.Has <Dying>()) { CellUtil.Kill(cellEntity); _cellDictionary.Remove(cell.PositionInGrid); } }