Example #1
0
        public SceneGraph(GraphicsDevice graphicsDevice)
        {
            GraphicsDevice = graphicsDevice;

            //init RootNode
            RootNode = new SceneNode { Position = new Vector2(0, 0), Rotation = 0.0f, Scale = new Vector2(0, 0) };
        }
Example #2
0
        /// <summary>
        /// Draws the specified recursive.
        /// </summary>
        /// <param name="node">The node.</param>
        /// <author>Roy "Kato" Carlitscheck (RC) </author>
        /// <copyright>ek-Dev</copyright>
        /// <creationDate>05.02.2012 15:21</creationDate>
        private void Draw(SceneNode node)
        {
            if (node.IsVisible && node.HasEntities)
            {
                foreach (var entity in node.Entities)
                {
                    entity.Draw(this);
                }
            }

            if (node.IsVisible && node.HasChildNodes)
            {
                foreach (var child in node.ChildNodes)
                {
                    Draw(child);
                }
            }
        }
Example #3
0
        /// <summary>
        /// Updates the specified node recursive
        /// </summary>
        /// <param name="node">The node.</param>
        /// <author>Roy "Kato" Carlitscheck (RC) </author>
        /// <copyright>ek-Dev</copyright>
        /// <creationDate>05.02.2012 15:20</creationDate>
        private void Update(SceneNode node)
        {
            if (node.HasChildNodes)
                foreach (var child in node.ChildNodes)
                {
                    Update(child);
                }

            foreach (var entity in node.Entities)
            {
                entity.Update(this);
            }
        }
Example #4
0
 /// <summary>
 /// Adds a node to the child node collection and sets the parent
 /// </summary>
 /// <param name="childNode">The child node.</param>
 /// <author>Roy "Kato" Carlitscheck (RC) </author>
 /// <copyright>ek-Dev</copyright>
 /// <creationDate>06.02.2012 17:34</creationDate>
 public void AddChildNode(SceneNode childNode)
 {
     childNode.Parent = this;
     ChildNodes.Add(childNode);
 }