Skip to content

Instantly share code, notes, and snippets.

@abulka
Created May 17, 2020 11:31
Show Gist options
  • Select an option

  • Save abulka/fd8fb5250d0227ea924f27b0c081cde1 to your computer and use it in GitHub Desktop.

Select an option

Save abulka/fd8fb5250d0227ea924f27b0c081cde1 to your computer and use it in GitHub Desktop.
TodoMVC-ECS - A Different Approach
const engine = new Engine();
engine.entity(util.uuid()).setComponent('data', {title:'make lunch', completed:true})
engine.entity(util.uuid()).setComponent('data', {title:'wash dishes', completed:false})
engine.system('report', ['data'], (entity, { data }) => {
let is_or_is_not = data.completed ? 'is' : 'is not'
console.log(`Todo item ${data.title} has id ${entity.name} and ${is_or_is_not} completed`)
});
engine.tick()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment