public IRenderableProduction Clone() { var clone = new SelectProduction(ParentProduction) { Faces = Faces, FaceBreadth = FaceBreadth, IsAbsolute = IsAbsolute, SelectandProduction = (RegistrarProduction)SelectandProduction.Clone(), Name = Name, IsOccluder = IsOccluder }; return(clone); }
public IList <IRenderableProduction> Expand() { if (ParentProduction == null || ParentProduction.Scope == null) { Debug.Log(string.Format("Found a null parent production while trying to expand select: {0}", Name)); } var expansion = new List <IRenderableProduction>(); var scopes = ParentProduction.Scope.Select(this); foreach (var scope in scopes) { SelectandProduction.Scope = scope; expansion.Add(SelectandProduction.Clone()); } return(expansion); }