Comments (2)
What I don't get (and that is probably a feature), is that
I can have a Implementor implementing components A,B,C, while at same time a Node map components B,C,D. How exactly svelto make sure an Entity have N components, and that all those components are used by some Node? (or viceversa, the Node say a component that is not implemented by anything)
from svelto.ecs.
The simplest way to see nodes vs components is this:
- Components must be designed as part of an entity. The components, starting from their names, are thought to compose an entity.
- Nodes instead are linked to the engines. Nodes are how engines see entitites.
In this way you totally decouple the design of your entities from the design of your engines.
You build an entity always through the BuildEntity function (see my last article). The BuildEntity needs the list of implementors. You can create implementors on the spot or pass them as monobehaviour, it doesn't matter.
As you realised, components are not objects in Svelto.ECS, they are just interfaces, so an object must implement them. These objects are the implementors.
About the last question, it doesn't matter for you, that's Svelto.ECS magic. If you don't implement some components needed for an Entity, Svelto.ECS will tell you with an exception in run-time.
P.S.: it's better if you use the blog for comments, I will get a notification there
from svelto.ecs.
Related Issues (20)
- Multiple FindGroups Issue HOT 3
- Performance improvement for `NB<T>` HOT 5
- IReactOnDisposeEx doesn't run at all HOT 1
- Errors in readme HOT 1
- [3.5.0-pre] Filter.Add behavior changed, throws exeption HOT 1
- [3.5.0-pre] Group compound warning triggers for Svelto base types HOT 1
- [3.5.0-pre] Key not found exception when removing the same entity multiple times HOT 1
- Preallocating after entities have been created results in corrupting the entity reference table. HOT 2
- NativeEGIDMultiMappers (and possibly EgidMultiMappers) optimization HOT 1
- error CS0246: The type or namespace name 'ConditionalAttribute' could not be found HOT 1
- nuget package is compiled as debug HOT 18
- is there network example? HOT 1
- ICompositionRoot.OnContextDestroyed called twice in Example2-Unity Hybrid-Survival HOT 2
- Question about why Svelto's log is default StackTraceLogType.None HOT 2
- Use `Enum.GetNames` to replace the need of a struct for `ISequenceOrder` HOT 2
- `NativeEntityFactory` cannnot create ExtendibleEntityDescriptors HOT 2
- `SortedJobifiedEnginesGroup` does not implement `IJobifiedEngine` HOT 1
- GroupHashMap throws exception when serializing entity in group using bytemask HOT 2
- QueryEntities Unlimited Components HOT 3
- test discussion
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 svelto.ecs.