Meteorit 005

Intentando implementar un ContentManager me doy cuenta de que no es tan facil… hay que declarar servicios y cosas que desconozco por ahora.
He probado a hacer una clase estatica global con un parametro que recoge el Content creado por defecto y funciona, asi ya es visible globalmente ^^
Se me habia ocurrido tambien usar un puntero a Content y pasarlo a la clase estatica, asi cuando se solicite alguna operacion sobre la variable de mi clase estatica se estara haciendo sobre el Content. Para usar punteros se escribe «unsafe» delante del metodo/declaracion. ContentManager no permite que punteros apunten a el… asi que idea descartada.

Implementacion completa de la clase GestorContenidos:
using Microsoft.Xna.Framework.Content;

namespace Prueba
{
static class GestorContenidos
{
public static ContentManager contenido;
public static SpriteBatch spriteBatch;
}
}
Ejemplo de uso:
GestorContenidos.contenido = Content; //Esto se hara en el metodo Initialize de game, lo que hace es pasarle el Content a nuestra clase para k sea visible en todo el namespace (lo malo es que asi tenemos dos ContentManager)
fondo1a.Imagen = GestorContenidos.contenido.Load<Texture2D>(fondo.Source); //Esto se hara desde cualquier otra clase que quiera hacer algo en ese content

Actualizacion 2/04/2011:
He añadido un atributo estatico spriteBatch a la clase, modificando ligeramente tambien Game1. Game1 corresponde a un nivel/pantalla, nos viene muy bien que en ese nivel sea global el spritebatch y el contentmanager. En el siguiente nivel se volveria a instanciar spritebatch, por tanto se borraria todo rastro del anterior y se cargaria el nuevo content de ese nivel (cambiando tambien la carpeta fisica que almacena todos los datos del nivel con el atributo contenido.RootDirectory = «Content2»;)