Comments (2)
There will need to be a partial specialization to specify the component_list
and tag_list
to event_manager
so that it can be broadcast to by entity_manager
. Although this can be messy, it is possible. The only problem is that this feature is very weak unless you can actually store entities in some outside containers.
An example usage is a quadtree that tracks any entity that moves, but also adds and removes entities if they have a position component added/removed. To accomplish this functionality you would need to store the position and also the entity it is associated with, and to do that you need storeable entities. Issue #13 was created to address this.
from entityplus.
There had to be some compromises due to compiler deficiencies but I think the end result is strong. Now the event manager needs the first two types to be component_list
and tag_list
, just like the entity manager, but an entity manager will work with any event manager as long as their components/tags are the same.
The only step left is to document the changes and the new events and when they are broadcast.
from entityplus.
Related Issues (20)
- Fix non-dependent lambda triggering errors before eval_if
- Customization point HOT 1
- Storeable entities HOT 3
- Versioning
- Examples
- Template improvements HOT 2
- Deletion in for_each HOT 1
- Error C2737: 'entityplus::meta::delay_v': 'constexpr' object must be initialized HOT 2
- I would appreciate more detail in the readme on the tags HOT 2
- The Future, C++17 HOT 3
- Const correctness
- Future Plans HOT 4
- Transitioning to 2.0 HOT 3
- Relationships between entities (inventory as an example) HOT 1
- No exception support HOT 1
- Serialization
- Cmake
- Remove boost dependency HOT 3
- Grouping entities HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from entityplus.