<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: XNA Game Engine Tutorial Series #6.5 &#8211; Engine Update</title>
	<atom:link href="http://www.innovativegames.net/blog/blog/2008/12/07/xna-game-engine-tutorial-series-65-engine-update/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.innovativegames.net/blog/blog/2008/12/07/xna-game-engine-tutorial-series-65-engine-update/</link>
	<description>Independent game development blog by Sean James</description>
	<lastBuildDate>Mon, 06 Feb 2012 16:14:41 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.3</generator>
	<item>
		<title>By: fused</title>
		<link>http://www.innovativegames.net/blog/blog/2008/12/07/xna-game-engine-tutorial-series-65-engine-update/comment-page-1/#comment-13331</link>
		<dc:creator>fused</dc:creator>
		<pubDate>Sun, 28 Nov 2010 06:46:30 +0000</pubDate>
		<guid isPermaLink="false">http://innovativegames.net/blog/?p=210#comment-13331</guid>
		<description>It ate all the sharp brackets :&#124;</description>
		<content:encoded><![CDATA[<p>It ate all the sharp brackets <img src='http://www.innovativegames.net/blog/wp-includes/images/smilies/icon_neutral.gif' alt=':|' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: fused</title>
		<link>http://www.innovativegames.net/blog/blog/2008/12/07/xna-game-engine-tutorial-series-65-engine-update/comment-page-1/#comment-13330</link>
		<dc:creator>fused</dc:creator>
		<pubDate>Sun, 28 Nov 2010 06:45:07 +0000</pubDate>
		<guid isPermaLink="false">http://innovativegames.net/blog/?p=210#comment-13330</guid>
		<description>Hey man,

very good tutorials you have here! They taught me a lot.

Just a little optimization i would like to point out (contributing back and so forth :) )

in GameScreen.cs


        public virtual void Update()
        {
            // Create a temporary list so we don&#039;t crash if
            // a component is added to the collection while
            // updating
            List updating = new List();

            // Populate the temporary list
            foreach (Component c in Components)
                updating.Add(c);

            // Update all components that have been initialized
            foreach (Component Component in updating)
                if (Component.Initialized)
                    Component.Update();
        }


Could be changed to do this:


        public virtual void Update()
        {
            // Create a temporary list so we don&#039;t crash if
            // a component is added to the collection while
            // updating
            List updating = Components.ToList();

            // Update all components that have been initialized
            foreach (Component Component in updating)
                if (Component.Initialized)
                    Component.Update();
        }

Not sure if it would actually faster(should hopefully be), but in terms of simplicity, its a win!

Thanks again!
fused</description>
		<content:encoded><![CDATA[<p>Hey man,</p>
<p>very good tutorials you have here! They taught me a lot.</p>
<p>Just a little optimization i would like to point out (contributing back and so forth <img src='http://www.innovativegames.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</p>
<p>in GameScreen.cs</p>
<p>        public virtual void Update()<br />
        {<br />
            // Create a temporary list so we don&#8217;t crash if<br />
            // a component is added to the collection while<br />
            // updating<br />
            List updating = new List();</p>
<p>            // Populate the temporary list<br />
            foreach (Component c in Components)<br />
                updating.Add(c);</p>
<p>            // Update all components that have been initialized<br />
            foreach (Component Component in updating)<br />
                if (Component.Initialized)<br />
                    Component.Update();<br />
        }</p>
<p>Could be changed to do this:</p>
<p>        public virtual void Update()<br />
        {<br />
            // Create a temporary list so we don&#8217;t crash if<br />
            // a component is added to the collection while<br />
            // updating<br />
            List updating = Components.ToList();</p>
<p>            // Update all components that have been initialized<br />
            foreach (Component Component in updating)<br />
                if (Component.Initialized)<br />
                    Component.Update();<br />
        }</p>
<p>Not sure if it would actually faster(should hopefully be), but in terms of simplicity, its a win!</p>
<p>Thanks again!<br />
fused</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Markus Ewald</title>
		<link>http://www.innovativegames.net/blog/blog/2008/12/07/xna-game-engine-tutorial-series-65-engine-update/comment-page-1/#comment-5436</link>
		<dc:creator>Markus Ewald</dc:creator>
		<pubDate>Sun, 20 Sep 2009 20:31:36 +0000</pubDate>
		<guid isPermaLink="false">http://innovativegames.net/blog/?p=210#comment-5436</guid>
		<description>I haven&#039;t followed your series and only came across this article, but it seems you had the engine set up as dynamic classes and are now switching over to static classes.

Especially the idea of keeping the GraphicsDevice in a static field. Is there a particular reason for your decision?

I&#039;m just interested in hearing your motivation :)

I started out with some static classes, but ultimately went the other way. Mainly because I wanted to use an inversion of control container and because, well, a class which takes a graphics device in its constructor is more easily isolated from the other classes than one depending a static class named X in namespace Y with property Z to exist somewhere in order to compile.

On the other hand, an all-static design might be easier to understand for people new to the topic, so maybe that&#039;s the motivation?</description>
		<content:encoded><![CDATA[<p>I haven&#8217;t followed your series and only came across this article, but it seems you had the engine set up as dynamic classes and are now switching over to static classes.</p>
<p>Especially the idea of keeping the GraphicsDevice in a static field. Is there a particular reason for your decision?</p>
<p>I&#8217;m just interested in hearing your motivation <img src='http://www.innovativegames.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I started out with some static classes, but ultimately went the other way. Mainly because I wanted to use an inversion of control container and because, well, a class which takes a graphics device in its constructor is more easily isolated from the other classes than one depending a static class named X in namespace Y with property Z to exist somewhere in order to compile.</p>
<p>On the other hand, an all-static design might be easier to understand for people new to the topic, so maybe that&#8217;s the motivation?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: [Updated] XNA Game Engine Tutorial Series #7 - First Person Camera &#124; Innovative Games</title>
		<link>http://www.innovativegames.net/blog/blog/2008/12/07/xna-game-engine-tutorial-series-65-engine-update/comment-page-1/#comment-437</link>
		<dc:creator>[Updated] XNA Game Engine Tutorial Series #7 - First Person Camera &#124; Innovative Games</dc:creator>
		<pubDate>Fri, 12 Dec 2008 00:57:48 +0000</pubDate>
		<guid isPermaLink="false">http://innovativegames.net/blog/?p=210#comment-437</guid>
		<description>[...] XNA Game Engine Tutorial Series #6.5 - Engine Update  [...]</description>
		<content:encoded><![CDATA[<p>[...] XNA Game Engine Tutorial Series #6.5 &#8211; Engine Update  [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: XNA Game Engine Tutorial Series #7 - First Person Camera &#124; Innovative Games</title>
		<link>http://www.innovativegames.net/blog/blog/2008/12/07/xna-game-engine-tutorial-series-65-engine-update/comment-page-1/#comment-436</link>
		<dc:creator>XNA Game Engine Tutorial Series #7 - First Person Camera &#124; Innovative Games</dc:creator>
		<pubDate>Fri, 12 Dec 2008 00:51:28 +0000</pubDate>
		<guid isPermaLink="false">http://innovativegames.net/blog/?p=210#comment-436</guid>
		<description>[...] XNA Game Engine Tutorial Series #6.5 - Engine Update  [...]</description>
		<content:encoded><![CDATA[<p>[...] XNA Game Engine Tutorial Series #6.5 &#8211; Engine Update  [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

