In XNA, is it acceptable to create a GameService
for an object that isn't a GameComponent
? I know that a GameService
is intended to be a way to access a GameComponent
, but what if the object that you're trying to provide access to doesn't need to update on every update cycle? For example, I have a Camera2D
object that can calculate a Matrix
for SpriteBatch.Begin()
. The camera doesn't need to update itself, as it's position, rotation, etc., are updated by the game code.
All that you need to create a GameService
is a type and a provider object, so the provider object doesn't have to extend GameComponet
, but is this an acceptable way of doing things? Is there a better way?