public void Setup() { _defaultWorld = new DefaultWorld(EntityCount); _defaultEntitySet = _defaultWorld.GetEntities().With <DefaultComponent>().AsSet(); _defaultRunner = new DefaultParallelRunner(Environment.ProcessorCount); _defaultSystem = new DefaultEcsSystem(_defaultWorld); _defaultMultiSystem = new DefaultEcsSystem(_defaultWorld, _defaultRunner); _defaultEntityComponentSystem = new DefaultEcsEntityComponentSystem(_defaultWorld); _defaultMultiEntityComponentSystem = new DefaultEcsEntityComponentSystem(_defaultWorld, _defaultRunner); _defaultComponentSystem = new DefaultEcsComponentSystem(_defaultWorld); _defaultComponentMultiSystem = new DefaultEcsComponentSystem(_defaultWorld, _defaultRunner); _entitasWorld = new Context <EntitasEntity>(1, () => new EntitasEntity()); _entitasSystem = new EntitasSystem(_entitasWorld); _entitasMultiSystem = new EntitasSystem(_entitasWorld, Environment.ProcessorCount); _monoWorld = new WorldBuilder().AddSystem(new MonoSystem()).Build(); _time = new GameTime(); for (int i = 0; i < EntityCount; ++i) { DefaultEntity defaultEntity = _defaultWorld.CreateEntity(); defaultEntity.Set <DefaultComponent>(); EntitasEntity entitasEntity = _entitasWorld.CreateEntity(); entitasEntity.AddComponent(0, new EntitasComponent()); MonoEntity monoEntity = _monoWorld.CreateEntity(); monoEntity.Attach(new MonoComponent()); } }
public void Setup() { _defaultWorld = new DefaultWorld(EntityCount); _defaultEntitySet = _defaultWorld.GetEntities().With <DefaultComponent>().AsSet(); _defaultRunner = new DefaultParallelRunner(Environment.ProcessorCount); _defaultSystem = new DefaultEcsSystem(_defaultWorld); _defaultMultiSystem = new DefaultEcsSystem(_defaultWorld, _defaultRunner); _defaultEntityComponentSystem = new DefaultEcsEntityComponentSystem(_defaultWorld); _defaultMultiEntityComponentSystem = new DefaultEcsEntityComponentSystem(_defaultWorld, _defaultRunner); _defaultComponentSystem = new DefaultEcsComponentSystem(_defaultWorld); _defaultComponentMultiSystem = new DefaultEcsComponentSystem(_defaultWorld, _defaultRunner); _defaultGeneratorSystem = new DefaultEcsGeneratorSystem(_defaultWorld); _defaultGeneratorMultiSystem = new DefaultEcsGeneratorSystem(_defaultWorld, _defaultRunner); _entitasWorld = new Context <EntitasEntity>(1, () => new EntitasEntity()); _entitasSystem = new EntitasSystem(_entitasWorld); _entitasMultiSystem = new EntitasSystem(_entitasWorld, Environment.ProcessorCount); _monoWorld = new WorldBuilder().AddSystem(new MonoSystem()).Build(); _time = new GameTime(); _leoWorld = new LeoWorld(); _leoSystem = new LeoSystem(); _leoSystems = new LeoSystems(_leoWorld).Add(_leoSystem); _leoSystems.ProcessInjects().Init(); SimpleEntitiesSubmissionScheduler sveltoScheduler = new SimpleEntitiesSubmissionScheduler(); _sveltoWorld = new EnginesRoot(sveltoScheduler); _sveltoSystem = new SveltoSystem(); _sveltoWorld.AddEngine(_sveltoSystem); IEntityFactory sveltoFactory = _sveltoWorld.GenerateEntityFactory(); for (int i = 0; i < EntityCount; ++i) { DefaultEntity defaultEntity = _defaultWorld.CreateEntity(); defaultEntity.Set <DefaultComponent>(); EntitasEntity entitasEntity = _entitasWorld.CreateEntity(); entitasEntity.AddComponent(0, new EntitasComponent()); MonoEntity monoEntity = _monoWorld.CreateEntity(); monoEntity.Attach(new MonoComponent()); LeoEntity leoEntity = _leoWorld.NewEntity(); leoEntity.Get <LeoComponent>(); sveltoFactory.BuildEntity <SveltoEntity>((uint)i, _sveltoGroup); } sveltoScheduler.SubmitEntities(); }
public override void LoadContent() { var camera = new OrthographicCamera(_sceneHandler._graphicsDevice); world = new WorldBuilder() .AddSystem(new RenderSystem(new SpriteBatch(_sceneHandler._graphicsDevice), camera)) .Build(); _sceneHandler._gameComponents.Add(world); var entityFactory = new EntityFactory(world, _sceneHandler._content, _sceneHandler._graphicsDevice); entityFactory.CreateText(new Vector2(100, 100), "MenuScene", 100); LoadGui(); }
public GameWorld(Game1 game, ContentManager contentManager, GraphicsDevice graphicsDevice) { EntityFactory = new EntityFactory(); //Camera AddSystem(new CameraSystem()); //Models AddSystem(new ModelLoaderSystem(graphicsDevice, contentManager)); AddSystem(new ModelRenderSystem(graphicsDevice)); //Physics var physicsSystem = new PhysicsSystem(); AddSystem(physicsSystem); AddSystem(new PhysicsSyncSystem(physicsSystem.GetSimulation())); AddSystem(new PhysicsMouseObjectDetectSystem(physicsSystem.GetSimulation())); //Lighting AddSystem(new LightingRenderSystem(graphicsDevice)); //Water AddSystem(new WaterRenderSystem(graphicsDevice)); #if EDITOR var viewportRenderSystem = new ViewportRenderSystem(graphicsDevice); AddSystem(viewportRenderSystem); #endif AddSystem(new FinalRenderSystem(graphicsDevice)); #if EDITOR AddSystem(new DebugUIRenderSystem(game, graphicsDevice, physicsSystem, viewportRenderSystem)); #endif World = Build(); EntityFactory.World = World; }
public EntityFactory(World world, ContentManager contentManager) { _world = world; _contentManager = contentManager; }
public Entity CreateEntity() { var entity = SceneWorld.CreateEntity(); return(entity); }
public override void Initialize() { base.Initialize(); viewport = GraphicsDevice.Viewport; spriteBatch = new SpriteBatch(GraphicsDevice); var viewportAdapter = new BoxingViewportAdapter(Game.Window, GraphicsDevice, viewport.Width, viewport.Height); orthographicCamera = new OrthographicCamera(viewportAdapter); gameplayScreenContent = new ContentManager(Game.Services, "Content"); Font = gameplayScreenContent.Load <BitmapFont>("Fonts/fixedsys"); MusicPlayer.LoadSong(0, true); //DotPlayerSystem dotPlayerSystem = new DotPlayerSystem(); world = new WorldBuilder() .AddSystem(new WorldSystem()) .AddSystem(new PlayerSystem(orthographicCamera)) .AddSystem(new CameraSystem(orthographicCamera)) .AddSystem(new EnemySystem()) //.AddSystem(dotPlayerSystem) //.AddSystem(new MapRenderSystem(spriteBatch, gameplayScreenContent)) //.AddSystem(new DotPlayerRenderSystem(spriteBatch)) .AddSystem(new BackgroundSystem(spriteBatch, gameplayScreenContent)) .AddSystem(new RenderSystem(spriteBatch, orthographicCamera, gameplayScreenContent)) .AddSystem(new TilesRenderSystem(spriteBatch, orthographicCamera)) .AddSystem(new HUDRenderSystem(spriteBatch, gameplayScreenContent)) .Build(); world.DrawOrder = 0; Game.Components.Add(world); entityFactory = new EntityFactory(world, gameplayScreenContent); var scaleRocks = 4; for (int i = 0; i < 30; i++) { entityFactory.CreateRocksBackground(new Vector2(i * (448 * scaleRocks), 0), scaleRocks); } entityFactory.CreateWall(new Vector2(0, viewport.Height / 2), 50); for (int i = 0; i < 200; i++) { entityFactory.CreatePath(new Vector2(i * 32, viewport.Height / 2)); for (int j = 2; j < 10; j++) { entityFactory.CreateUnderground(new Vector2(i * 32, (j * 32) + (viewport.Height / 2))); } } TextureRegion2D shadow_wall = new TextureRegion2D(gameplayScreenContent.Load <Texture2D>("Graphics/tile_cave_platform"), new Rectangle(125, 182, 32, 32)); for (int i = 2; i < 30; i++) { entityFactory.CreateWall(new Vector2(i * -32, viewport.Height), 50, shadow_wall); } if (!isEnding) { player = entityFactory.CreatePlayer(new Vector2(64, (viewport.Height / 2) - 32)); enemies = new List <Entity>(); EnemiesCount = 10; for (int i = 0; i < EnemiesCount; i++) { enemies.Add(entityFactory.CreateEnemy(new Vector2(256 + (i * 512), (viewport.Height / 2) - 64))); } } else { player = entityFactory.CreatePlayer(new Vector2(1024, (viewport.Height / 2) - 32)); enemies = new List <Entity>(); EnemiesCount = 1; enemies.Add(entityFactory.CreateNecromancer(new Vector2(1024 + 256, (viewport.Height / 2) - 64))); } }