Giter VIP home page Giter VIP logo

Comments (2)

Darelbi avatar Darelbi commented on May 12, 2024

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.

sebas77 avatar sebas77 commented on May 12, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.