Esempio n. 1
0
 private int?TravelTreeAndReturnIndex(int objectId, CompositeComponent compositeModifier)
 {
     foreach (var c in compositeModifier.GetComponents())
     {
         if (c.IsObjectIdEquals(objectId))
         {
             return(compositeModifier.GetComponents().IndexOf(c));
         }
         if (c.IsComposite())
         {
             c.Get(objectId);
         }
     }
     return(null);
 }
Esempio n. 2
0
        public override void DoRemove(Component c, int objectId, Component modifier)
        {
            CompositeComponent compositeModifier = (CompositeComponent)DoFindRoot(modifier);

            if (compositeModifier.IsObjectIdEquals(objectId))
            {
                compositeModifier.RemoveComponent(c);
                c.SetAncestor(null);
            }
            else
            {
                foreach (var item in compositeModifier.GetComponents())
                {
                    item.Remove(c, objectId);
                }
            }
        }
Esempio n. 3
0
 public override object First()
 {
     return(_compositeComponent.GetComponents()[0]);
 }