Engine Refactoring

The introduction of multitouch capabilities into the HMEngine has caused a bit of a stir in the way that I had the architecture of some of the components laid out. Specifically, the IHMRenderable and IHMUpdatable interfaces and the HMInputDevice. Since the multitouch device needed a cursor (actually N cursors based on the current fingers touching it), I had an HMInputDevice that also needed to be IHMRenderable. The problem with that though was that input devices are never in a place where render could be called on them.

To keep a long story short, I refactored the components a bit and now have an HMComponentManager that keeps lists of anything that is updatable, renderable, loadable etc. just like the HMObjectManager used to do, but it also includes the ability to add input devices and cameras as well (basically everything in the engine is a child of some IHMComponent or another).

Since these changes are pretty important and add a lot of flexibility to the items we can create and use in the engine. I will be updating the tutorials to accommodate the differences that have been introduced. This will probably take a little while, as I want to release the full set of changes all at once, but the final outcome will overall be a much better put together framework.

One Response to “Engine Refactoring”

  1. CalebKyoto says:

    I’ve followed your project off and on for quite a while, and I must say I am looking forward to your new release! I initially followed your engine just to learn XNA – but I kept up with it because the darned thing is just so well written compared to anything else publicly available.


Leave a Reply

You must be logged in to post a comment.

Do NOT follow this link or you will be banned from the site!