-updated README.md
-fixed shaders for GL2 -added Entity selection tool -throw out tools from "Demo" window to "Tools" window -change ComboBox to Tabs for Tools -Added more verbose tips -Improved and fixed BrickBreaker collisions -fixed simple DUB issue
This commit is contained in:
parent
1acd0df0ef
commit
56f870bac6
21 changed files with 332 additions and 133 deletions
12
README.md
12
README.md
|
|
@ -57,7 +57,6 @@ There are some assumptions that should be considered when developing application
|
|||
* Better EventManager - there are several optimization and improvements that can be added in the future.
|
||||
* More demos and examples - demo appliaction is very basic now, but in future more minigames and sanbox mode (opportunity to mix many components and systems) are planned.
|
||||
* C API - in highly depends on amount of work required. Makes possible to use library from different languages.
|
||||
* GPU compute - idea in draft stage. Special components and systems whose data wolud be on GPU memory.
|
||||
* More smaller improvements...
|
||||
|
||||
For more information about design and usage feel free to read [documentation](https://mergul.gitlab.io/bubel-ecs/ecs.html)**(WIP)** and [WIKI](https://gitlab.com/Mergul/bubel-ecs/-/wikis/home).
|
||||
|
|
@ -104,14 +103,12 @@ Online demo support multithreading and page tries to check if client support WAS
|
|||
|
||||
struct Position
|
||||
{
|
||||
mixin ECS.Components; //makes struct component
|
||||
float x;
|
||||
float y;
|
||||
}
|
||||
|
||||
struct Velocity
|
||||
{
|
||||
mixin ECS.Components;
|
||||
//default values works
|
||||
float x = 0.1;
|
||||
float y = 1;
|
||||
|
|
@ -119,7 +116,6 @@ struct Velocity
|
|||
|
||||
struct StaticFlag
|
||||
{
|
||||
mixin ECS.Components;
|
||||
}
|
||||
|
||||
struct UpdateSystem
|
||||
|
|
@ -132,7 +128,7 @@ struct UpdateSystem
|
|||
{
|
||||
int length; //entities count
|
||||
@readonly Entity[] entities; //entities arrays, entity contain ID only
|
||||
Position[] positions; //positions array
|
||||
Position[] positions; //positions array, by default components are considered to has write access (used for multithreading dependencies)
|
||||
@readonly Velocity[] velocities; //veocities array, readonly (Multithreading tag)
|
||||
}
|
||||
|
||||
|
|
@ -158,7 +154,7 @@ void main()
|
|||
manager.endRegister();
|
||||
|
||||
//allocate template
|
||||
EntityTemplate* tmpl = manager.allocateEmplate([Velocity.component_id, Position.component_id].staticArray);
|
||||
EntityTemplate* tmpl = manager.allocateEmplate([becsID!Velocity, becsID!Position].staticArray);
|
||||
scope (exit) manager.freeTemplate(tmpl);
|
||||
|
||||
//gets pointer to template component data
|
||||
|
|
@ -170,9 +166,9 @@ void main()
|
|||
manager.addEntity(tmpl);
|
||||
}
|
||||
|
||||
manager.begin(); //start frame
|
||||
manager.begin(); //start frame, inside system onBegin callbacks are called
|
||||
manager.update(); //update all systems, there onUpdate callbacks are called
|
||||
manager.end(); //end frame
|
||||
manager.end(); //end frame, inside system onEnd callbacks are called
|
||||
}
|
||||
|
||||
```
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue