Anyways, graphically it looks something like this:
![Image](http://i178.photobucket.com/albums/w248/XianForce/structure.png)
And any of the game systems I have, hold a pointer to the ApplicationSystem. But I'm finding other classes (which I'll be making multiple instances of), need access to some of the different components of the ApplicationSystem. If I give them pointers to the ApplicationSystem, I'd think that a singleton would likely be more efficient, though.
So should I make a global/singleton ApplicationSystem? And also, is it a good practice to have a structure like this? This is what logically made sense to me at first, but now I'm thinking I should separate the VideoSystem, AudioSystem, and InputSystem from the StateMachine.
So I'm just looking for a few opinions, before I do anything drastic.
Thanks in advance for any replies!