Skip to content

Entitas code generator using Entitas ECS framework and Roslyn

License

Notifications You must be signed in to change notification settings

c0ffeeartc/GenEntitas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GenEntitas

Entitas generator using Entitas ECS framework

Build Status

Usage

  • clone this repository
  • build CodeGen.sln solution. See Console Runner for details
  • create settings. See Settings
  • call mono ./path_here/GenEntitas.exe --SettingsPath=./pathToSettings . See genComps.sh

How it works

  • Console Runner reads settings file
  • Systems are imported from dlls
  • Systems Initialize/Execute/Cleanup/TearDown once
    • DataProvider systems add entities with components
    • Generator systems react to components in entities
    • PostProcessor systems write changes to disk, log, etc.

Parts

Pros

  • familiar ECS architecture for Entitas users
  • easy to add custom generator - create System, add it to Systems
  • multiple input sources - dlls for reflection, GenEntitasLang files, Roslyn
  • option to wrap generated classes into namespace
  • no default context. No need to specify contexts beforehand in settings, contexts are read from components
  • Components without any generator attributes are not generated

Cons

  • unofficial
  • tied to specific entitas version
  • there is no settings auto creation. You'll have to provide paths to folders with unity dlls. After done once, settings can be copy/paste/tweaked for other projects
  • Roslyn data provider lacks server mode, and because of that is much slower compared to Entitas Jenny

About

Entitas code generator using Entitas ECS framework and Roslyn

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published