protected override void LoadContent() { spriteBatch = new SpriteBatch(GraphicsDevice); assets = new AssetStore(Content, GraphicsDevice, new AnimationFactory()); postProcessEffect = Content.Load <Effect>("effects/PostProcess"); effects = new Effects(Content.Load <Effect>("effects/SolidThing"), Content.Load <Effect>("effects/SpiritRealm"), Content.Load <Effect>("effects/Background")); emitterFactory = new ParticleEmitterFactory(assets); world = new World(new EntityFactory(assets), new RoomBackground(assets.BrickTile, assets.TorchLight, new Vector2(4000, 4000), spriteBatch), // Hack emitterFactory); }
public World(EntityFactory entityFactory, RoomBackground rb, ParticleEmitterFactory emitterFactory) { this.entityFactory = entityFactory; this.emitterFactory = emitterFactory; var roomFactory = new RoomFactory(entityFactory); Room room1 = roomFactory.Room1(rb); Room room2 = roomFactory.Room2(rb); Room room3 = roomFactory.Room3(rb); rooms.Add(room1); rooms.Add(room2); rooms.Add(room3); LinkDoors(room1.doors[0], room2.doors[0]); LinkDoors(room2.doors[1], room3.doors[0]); ActiveRoom = rooms[0]; ActiveRoom.particleEffects.Add(emitterFactory.Flame(new Vector2(200, 700))); player = entityFactory.Player(new Vector2(200, 800)); }