Axiom.Overlays.OverlayElementContainer.AddChild C# (CSharp) Method

AddChild() public method

Adds another OverlayElement to this container.
public AddChild ( OverlayElement element ) : void
element OverlayElement
return void
		public virtual void AddChild( OverlayElement element )
		{
			if ( element.IsContainer )
			{
				AddChildContainer( (OverlayElementContainer)element );
			}
			else
			{
				AddChildElement( element );
			}
		}

Usage Example

Example #1
0
        /// <summary>
        ///    Parses a new element
        /// </summary>
        /// <param name="script"></param>
        /// <param name="type"></param>
        /// <param name="name"></param>
        /// <param name="isContainer"></param>
        /// <param name="overlay"></param>
        /// <param name="isTemplate"></param>
        /// <param name="templateName"></param>
        /// <param name="parent"></param>
        private void ParseNewElement(TextReader script, string type, string name, bool isContainer, Overlay overlay,
                                     bool isTemplate, string templateName, OverlayElementContainer parent)
        {
            string line;
            var    element = OverlayElementManager.Instance.CreateElementFromTemplate(templateName, type, name, isTemplate);

            if (parent != null)
            {
                // add this element to the parent container
                parent.AddChild(element);
            }
            else if (overlay != null)
            {
                overlay.AddElement((OverlayElementContainer)element);
            }

            while ((line = ParseHelper.ReadLine(script)) != null)
            {
                // inore blank lines and comments
                if (line.Length > 0 && (!line.StartsWith("//") && !line.StartsWith("# ")))
                {
                    if (line == "}")
                    {
                        // finished element
                        break;
                    }
                    else
                    {
                        OverlayElementContainer container = null;
                        if (element is OverlayElementContainer)
                        {
                            container = (OverlayElementContainer)element;
                        }
                        if (isContainer && ParseChildren(script, line, overlay, isTemplate, container))
                        {
                            // nested children, so don't reparse it
                        }
                        else
                        {
                            // element attribute
                            ParseElementAttrib(line, overlay, element);
                        }
                    }
                }
            }
        }
All Usage Examples Of Axiom.Overlays.OverlayElementContainer::AddChild