예제 #1
0
        public IRenderableProduction Clone()
        {
            var clone = new RegistrarProduction(Name, Scope)
            {
                Name             = Name,
                Scope            = Scope.Clone(),
                IsOccluder       = IsOccluder,
                ParentProduction = ParentProduction,
                _finalFlag       = _finalFlag
            };

            foreach (var prod in ChildProductions)
            {
                var childClone = prod.Clone();
                childClone.ParentProduction = clone;
                clone.ChildProductions.Add(childClone);
            }

            return(clone);
        }
예제 #2
0
 public RepeatProduction(RegistrarProduction parentProduction)
 {
     ParentProduction = parentProduction;
 }
예제 #3
0
 public SwitchProduction(RegistrarProduction parentProduction)
 {
     ParentProduction = parentProduction;
 }
예제 #4
0
 public IList <IRenderableProduction> Expand(RegistrarProduction parent)
 {
     return(Body(parent).Expand());
 }
예제 #5
0
 public RegistrarProduction BoxSplit(RegistrarProduction box)
 {
     ChildProductions.Add(box);
     return(this);
 }
예제 #6
0
 public DivideProduction(RegistrarProduction parentProduction)
 {
     ParentProduction = parentProduction;
 }
예제 #7
0
 public SelectProduction(RegistrarProduction parentProduction)
 {
     ParentProduction = parentProduction;
 }