public World(ComponentSystemManager componentSystemManager, Selector selector) { _componentSystemManager = componentSystemManager ?? throw new ArgumentNullException(nameof(componentSystemManager)); _selector = selector ?? throw new ArgumentNullException(nameof(selector)); _entities = new Dictionary <int, Entity>(); _selectedEntities = new List <Entity>(); }
public void begin() { logger.info("begin"); _graphics = CoreRegistry.require <GraphicsSubsystem>(GraphicsSubsystem.Uri); _entity = CoreRegistry.put(EntityManager.Uri, new EntityManager()); _components = CoreRegistry.put(ComponentSystemManager.Uri, new ComponentSystemManager()); _components.register(PhysicsSystem.Uri, new PhysicsSystem()); _components.register(RenderSystem.Uri, new RenderSystem()); _components.init(); var id = _entity.create(); var position = _entity.addComponent(id, "position", new Position()); position.x = 1f; position.y = 1f; //var velocity = _entity.addComponent(id, "velocity", new Velocity()); //velocity.x = 2; //velocity.y = 1.5f; var meshdata = new MeshData(); meshdata.vertices = new Vector3[] { new Vector3(-1, 1, 0), new Vector3(0, -1, 0), new Vector3(1, 1, 0) }; meshdata.indices = new ushort[] { 0, 1, 2 }; var mesh = new Mesh() { mesh = Assets.Assets.generateAsset(AssetType.MESH, meshdata) }; _entity.addComponent(id, "mesh", mesh); //OpenGL.GL.Vertex2(-1.0f, 1.0f); //OpenGL.GL.Color3(Color.SpringGreen.r, Color.SpringGreen.g, Color.SpringGreen.b); //OpenGL.GL.Vertex2(0.0f, -1.0f); //OpenGL.GL.Color3(Color.Ivory.r, Color.Ivory.g, Color.Ivory.b); //OpenGL.GL.Vertex2(1.0f, 1.0f); }