Monday, December 15, 2008

DRAWABLEGAMECOMPONENT TEMPLATE

If you have been using XNA GS for a while now, you should know what game components are.

What is more, you should also know that thanks to the integration of XNA GS with Visual Studio, in order to add a new component you just:

  1. Go to the solution Explorer,
  2. Browse the list of projects,
  3. Right click with you mouse over the selected project,
  4. Select Add -> New Item,
  5. Choose "Game Component" from the list of available components,
  6. Click the "Add" button, and
  7. Voilá ... your new game component file is included in the project.

This is great!

Now, and again: if you've been using the XNA Framework you should know that there is a specification of the game component class for those that will be drawed to the screen: "DrawableGameComponents".

Unfortunately, if you want to create one of those components there's no shortcut, meaning either you create it by scratch or use a game component file as your source file and then modify it accordingly. In short, there is no DGC template integrated into VS, yet.

To change this, however, you could just create your own DrawableGameComponent template by going in VS to "File -> Export Tamplate", and then choosing the item you want export as a template.

After following the whole exporting process you can get and also integrate your new template to the list of items that you can pick when using VS "Add New Item" feature.

The problem with this solution is that your new template will be listed by default under the "My Templates" section of the "Add" dialog control, completely unrelated to the "XNA Game Studio 3.0" items section. Maybe you're fine with this solution generated "by default", but if you don't, then you have to tweak a little your recently generated template, change its location and one more thing that I will explain in what follows.

First, I have uploaded a class template for the drawable-game component here:

http://www.megaupload.com/es/?d=74ITZDJX

This template contains all the proper files that will helps us to better integrate it into VS.

Thus, follow whis steps:

  1. Download the above-mentioned template .zip file,
  2. Optional: open the .vstemplate file to find how the trick works,
  3. Search for the "ItemTemplates" folder in the directory where your Visual Studio 2008 version is installed, and
  4. Copy the .zip file into that folder.

Usually, the "ItemTemplates" folder is located in "%vs90comntools%\Common7\IDE", so say if you're using VS08 Standard, Pro or Team edition, you'd probaly find something like "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates".

We are almost done, now. There is just one more little procedure we must follow before reaching our goal:

  1. Go to Start -> Microsoft Visual Studio 2008 -> Tools,
  2. Open "Visual Studio 2008 Command Prompt" as an Administrator,
  3. Execute the following self-explanatory command "devenv /installvstemplates".
  4. When the command finishes, (re)open Visual Studio.

In case you're using the express version you have to browse for the folder in the start menu for that edition and, instead of typing "devenv" as stated in (3.) above you must type "VCSExpress".

If everyhing goes ok, everytime you want to add a new item template you should see something like:

Or better yet:By the way, you can use your own icon design if you don't like the one I provided in within the zip. To replace it, just delete the "old" one and include your own in the zip file, respecting the old name (that is, the name requested by the template XML file).

Well, that's pretty much it. I hope you find this useful. And yes, you can repeat this same procedure for every item template you want to include under the "XNA Game Studio 3.0" items section.

Cheers!
~Pete

4 comments:

  1. Hi, the file is expired

    ReplyDelete
  2. Ooops! Fixed. Please re-try.

    And thanks for letting me know.

    ~Pete

    ReplyDelete
  3. This comment has been removed by the author.

    ReplyDelete
  4. Pete, thanks for the well-written article and incredibly useful template.

    The first time I typed "devenv/installvstemplates" into the command prompt I guess I didn't let it finish; when I went to add the DrawableGameComponent all my VS templates had disappeared!

    Going back to the command prompt and letting it do its thing fixed everything.

    Thanks again,

    - Trev

    ReplyDelete

Any thoughts? Post them here ...