The last time I tried to do something simple by setting up an advanced extensible system, I failed miserably. So let's try it again!
I want Fudge extensions to have the ability to draw things on the level viewer, probably in a plane-based way. I also want the Fudge core to not take forever to redraw the level when the user moves it around or places a tile. The solution I imagined is a collection of cache-able graphic planes for each level. Instead of re-rendering all the tiles shifted over a little, I could just keep the same level composite and draw that shifted a little bit. I'm hoping that my strategy will also work with zooming.
So, I created a few classes and an interface to represent planes. The interface allows extensions to define any sort of rendering they'd like to do. Those classes represent some standard types of planes, like a level-based tile renderer.
I haven't been able to test it yet and I'm not sure what to do about the tile palette, but I think this is actually going to work.
No comments:
Post a Comment