public static LayerMask Remove(this LayerMask layerMask, params int[] layers) { layerMask = ~layerMask; layerMask = layerMask.Add(layers); return(~layerMask); }
// Задать проходимые ячейки private void cbWalkable_CheckedChanged(object sender, EventArgs e) { CheckBox cb = (CheckBox)sender; Layers layer = (Layers)Convert.ToInt32(cb.Tag); if (cb.Checked) { walcable.Add(layer); } else { walcable.Remove(layer); } }
// Задать приоритетные ячейки private void cbPriority_CheckedChanged(object sender, EventArgs e) { CheckBox cb = (CheckBox)sender; Layers layer = (Layers)Convert.ToInt32(cb.Tag); if (cb.Checked) { priority.Add(layer); } else { priority.Remove(layer); } }
public static LayerMask Add(this LayerMask layerMask, string layerName) { ValidLayerName(layerName); return(layerMask.Add(LayerMask.NameToLayer(layerName))); }