internal PrefabSelectionCandidate CreateWithoutSet(PrefabSet exclude, PrefabMapping newMapping) { var sets = FreeSets.Except(exclude); var mappings = new List <PrefabMapping>(Mappings) { newMapping }; return(new PrefabSelectionCandidate(sets, mappings)); }
internal PrefabSelectionCandidate CreateWithoutPrefab(Prefab exclude, PrefabMapping newMapping) { var blacklistedPrefabNames = FreeSets .Where(x => x.ContainsPrefab(exclude)) .SelectMany(x => x) .Select(x => x.Name) .ToHashSet(); var sets = FreeSets .Select(x => x.CreateWithoutPrefabNames(blacklistedPrefabNames)) .Where(x => !x.IsEmpty) .ToList(); var mappings = new List <PrefabMapping>(Mappings) { newMapping }; return(new PrefabSelectionCandidate(sets, mappings)); }
public override string ToString() { return($"{nameof(PrefabSelectionCandidate)}[freeSets={FreeSets.JoinAsString()},mappings=[{Mappings.JoinAsString()}]]"); }