ecso
ecso copied to clipboard
Experimental Entity Component System for Haxe.
Events are an important part of any game, and it's only natural to want them for ECS programming. There are plenty of situations where you'll want to know about new...
`EcsoGraph`'s implementation doesn't take so much care to memory. I think there are many rooms of improvement that can be investigated.
Investigate adding unit tests to check errors and such. That would also fix the CI for the specs that expect to fail, as buddy can only handle typing errors while...
The type `haxe.Constraints.Function` would be a better fit than `Any` for the rest argument of `foreachEntity`, which wrongly suggests you can give any kind of expression.
Debug printings can only be triggered from OCaml sources at the moment but should instead be triggered through defines to make it simpler, this would allow debugging without re-compiling the...
Now that #10 has been merged, the CI could also check that projects from the example directory are compiling just fine.
Similarly to [`Std.downcast`](https://api.haxe.org/Std.html#downcast), we could maybe have: ```haxe Entity.downcast( entity, { z:Int } ) ``` where `entity` is returned if a downcast is possible with the archetype `{ z:Int }`.
Currently, this doesn't compile due to the second argument: ```haxe new EntityGroup().foreachEntity(function(e1:{}, ?e2:{}) {}); ``` It will throw `{ECSO} Optional entities are not supported yet`