/// <summary> /// LoadContent will be called once per game and is the place to load /// all of your content. /// </summary> protected override void LoadContent() { spriteFont = Content.Load<SpriteFont>("font"); // instantiate the container var builder = new ContainerBuilder(); builder.RegisterModule<EntityBootstrapper>(); Tiles = new TileBootstrapper().GetTiles(Content); // setup caches TextureCache = new InMemoryResourceCache<Texture2D>( new ContentManagerProvider<Texture2D>(Content)); SoundCache = new InMemoryResourceCache<SoundEffect>( new ContentManagerProvider<SoundEffect>(Content)); builder.RegisterInstance(TextureCache).As<IResourceCache<Texture2D>>(); builder.RegisterInstance(SoundCache).As<IResourceCache<SoundEffect>>(); TextureCache.LoadResources(Tiles); var blank = new Texture2D(GraphicsDevice, 1, 1, false, SurfaceFormat.Color); blank.SetData(new[] { Color.White }); TextureCache.AddResource("blank", blank); SoundCache.LoadResource("Audio/Sounds/Hop"); SoundCache.LoadResource("Audio/Music/Four"); builder.RegisterType<PhysicsManager>().AsSelf().SingleInstance(); builder.RegisterType<RenderManager>().AsSelf().SingleInstance(); builder.RegisterType<LevelManager>().AsSelf().SingleInstance(); builder.RegisterType<SQLiteDatabase>().AsSelf().SingleInstance(); // Create a new SpriteBatch, which can be used to draw textures. spriteBatch = new SpriteBatch(GraphicsDeviceManager.GraphicsDevice); Container = builder.Build(); foreach (var entity in Container.Resolve<IEnumerable<Entity>>()) { entity.Load(Container); } }
protected override void LoadContent() { // instantiate the container var builder = new ContainerBuilder(); // setup caches TextureCache = new InMemoryResourceCache<Texture2D>( new ContentManagerProvider<Texture2D>(Content)); SoundCache = new InMemoryResourceCache<SoundEffect>( new ContentManagerProvider<SoundEffect>(Content)); builder.RegisterInstance(TextureCache).As<IResourceCache<Texture2D>>(); builder.RegisterInstance(SoundCache).As<IResourceCache<SoundEffect>>(); SpriteBatch = new SpriteBatch(GraphicsDevice); TextureCache.LoadResource("Textures/circle"); var blank = new Texture2D(GraphicsDevice, 1, 1, false, SurfaceFormat.Color); blank.SetData(new[] { Color.White }); TextureCache.AddResource("blank", blank); builder.RegisterType<PhysicsManager>().AsSelf().SingleInstance(); builder.RegisterType<RenderManager>().AsSelf().SingleInstance(); builder.RegisterType<LevelManager>().AsSelf().SingleInstance(); builder.RegisterType<ScreenManager>().AsSelf().SingleInstance(); builder.RegisterType<SQLiteDatabase>().AsSelf().SingleInstance(); builder.RegisterInstance(this).As<EngineGame>(); Container = builder.Build(); }