public bool Remove(Visual visual) { bool found = false; if (OpaqueVisuals.TryGetValue(visual.Material, out List <Visual> list)) { found = list.Remove(visual); } if (!found) { found = TransparentVisuals.Remove(visual); } return(found); }
public void Add(Visual visual) { if (visual.Color.A > 0.1f && visual.Color.A < 0.99f) { TransparentVisuals.Add(visual); } else if (OpaqueVisuals.TryGetValue(visual.Material, out List <Visual> list)) { list.Add(visual); } else { OpaqueVisuals.Add(visual.Material, new List <Visual> { visual }); } }