sschmid / Entitas

Entitas is a super fast Entity Component System (ECS) Framework specifically made for C# and Unity
MIT License
7.11k stars 1.11k forks source link

Not Generating Components Properly #1034

Closed FutureProg closed 2 years ago

FutureProg commented 2 years ago

Describe the bug Running Jenny doesn't create components with values for all componenets. Only as component flags.

To Reproduce

  1. Add a new component (have a few, let's say 10-15 components set up already)
  2. Refresh Unity
  3. Run the Jenny code generator
  4. See that only "is" is made

Expected behavior A regular component is generated.

Files Jenny.properties:

Jenny.SearchPaths = Jenny/Plugins/Entitas, \
                    Jenny/Plugins/Jenny, \
                    Assets/Entitas
Jenny.Plugins = Entitas.CodeGeneration.Plugins, \
                Entitas.Roslyn.CodeGeneration.Plugins, \
                Entitas.VisualDebugging.CodeGeneration.Plugins, \
                Jenny.Plugins, \
                Jenny.Plugins.Unity
Jenny.PreProcessors = Jenny.Plugins.ValidateProjectPathPreProcessor
Jenny.DataProviders = Entitas.CodeGeneration.Plugins.ContextDataProvider, \
                      Entitas.Roslyn.CodeGeneration.Plugins.CleanupDataProvider, \
                      Entitas.Roslyn.CodeGeneration.Plugins.ComponentDataProvider, \
                      Entitas.Roslyn.CodeGeneration.Plugins.EntityIndexDataProvider
Jenny.CodeGenerators = Entitas.CodeGeneration.Plugins.ComponentContextApiGenerator, \
                       Entitas.CodeGeneration.Plugins.ComponentEntityApiGenerator, \
                       Entitas.CodeGeneration.Plugins.ComponentEntityApiInterfaceGenerator, \
                       Entitas.CodeGeneration.Plugins.ComponentGenerator, \
                       Entitas.CodeGeneration.Plugins.ComponentLookupGenerator, \
                       Entitas.CodeGeneration.Plugins.ComponentMatcherApiGenerator, \
                       Entitas.CodeGeneration.Plugins.ContextAttributeGenerator, \
                       Entitas.CodeGeneration.Plugins.ContextGenerator, \
                       Entitas.CodeGeneration.Plugins.ContextMatcherGenerator, \
                       Entitas.CodeGeneration.Plugins.ContextsGenerator, \
                       Entitas.CodeGeneration.Plugins.EntityGenerator, \
                       Entitas.CodeGeneration.Plugins.EntityIndexGenerator, \
                       Entitas.CodeGeneration.Plugins.EventEntityApiGenerator, \
                       Entitas.CodeGeneration.Plugins.EventListenerComponentGenerator, \
                       Entitas.CodeGeneration.Plugins.EventListenerInterfaceGenerator, \
                       Entitas.CodeGeneration.Plugins.EventSystemGenerator, \
                       Entitas.CodeGeneration.Plugins.EventSystemsGenerator, \
                       Entitas.Roslyn.CodeGeneration.Plugins.CleanupSystemGenerator, \
                       Entitas.Roslyn.CodeGeneration.Plugins.CleanupSystemsGenerator, \
                       Entitas.VisualDebugging.CodeGeneration.Plugins.ContextObserverGenerator, \
                       Entitas.VisualDebugging.CodeGeneration.Plugins.FeatureClassGenerator
Jenny.PostProcessors = Jenny.Plugins.AddFileHeaderPostProcessor, \
                       Jenny.Plugins.CleanTargetDirectoryPostProcessor, \
                       Jenny.Plugins.MergeFilesPostProcessor, \
                       Jenny.Plugins.UpdateCsprojPostProcessor, \
                       Jenny.Plugins.WriteToDiskPostProcessor, \
                       Jenny.Plugins.ConsoleWriteLinePostProcessor
Jenny.Server.Port = 3333
Jenny.Client.Host = localhost
Entitas.CodeGeneration.Plugins.Contexts = Game, \
                                          Input
Entitas.CodeGeneration.Plugins.IgnoreNamespaces = false
Jenny.Plugins.ProjectPath = Assembly-CSharp.csproj
Jenny.Plugins.TargetDirectory = Assets

Verbose Output

PS D:\Users\Nick\Documents\Unity\City Building Game Prototype> dotnet .\Jenny\Jenny.Generator.Cli.dll gen -v
Loading assemblies from D:\Users\Nick\Documents\Unity\City Building Game Prototype\Jenny
Name:Jenny.Generator.Cli
There are no context policies. load: D:\Users\Nick\Documents\Unity\City Building Game Prototype\Jenny\DesperateDevs.Cli.Utils.dll
  ? Loading: D:\Users\Nick\Documents\Unity\City Building Game Prototype\Jenny\DesperateDevs.Cli.Utils.dll
Name:Jenny.Generator.Cli
There are no context policies. load: D:\Users\Nick\Documents\Unity\City Building Game Prototype\Jenny\DesperateDevs.Extensions.dll
  ? Loading: D:\Users\Nick\Documents\Unity\City Building Game Prototype\Jenny\DesperateDevs.Extensions.dll
Name:Jenny.Generator.Cli
There are no context policies. load: D:\Users\Nick\Documents\Unity\City Building Game Prototype\Jenny\DesperateDevs.Reflection.dll
  ? Loading: D:\Users\Nick\Documents\Unity\City Building Game Prototype\Jenny\DesperateDevs.Reflection.dll
Name:Jenny.Generator.Cli
There are no context policies. load: D:\Users\Nick\Documents\Unity\City Building Game Prototype\Jenny\DesperateDevs.Serialization.Cli.Utils.dll
  ? Loading: D:\Users\Nick\Documents\Unity\City Building Game Prototype\Jenny\DesperateDevs.Serialization.Cli.Utils.dll
Name:Jenny.Generator.Cli
There are no context policies. load: D:\Users\Nick\Documents\Unity\City Building Game Prototype\Jenny\DesperateDevs.Serialization.dll
  ? Loading: D:\Users\Nick\Documents\Unity\City Building Game Prototype\Jenny\DesperateDevs.Serialization.dll
Name:Jenny.Generator.Cli
There are no context policies. load: D:\Users\Nick\Documents\Unity\City Building Game Prototype\Jenny\Jenny.dll
  ? Loading: D:\Users\Nick\Documents\Unity\City Building Game Prototype\Jenny\Jenny.dll
Name:Jenny.Generator.Cli
There are no context policies. load: D:\Users\Nick\Documents\Unity\City Building Game Prototype\Jenny\Jenny.Generator.Cli.dll
  ? Loading: D:\Users\Nick\Documents\Unity\City Building Game Prototype\Jenny\Jenny.Generator.Cli.dll
Name:Jenny.Generator.Cli
There are no context policies. load: D:\Users\Nick\Documents\Unity\City Building Game Prototype\Jenny\Jenny.Generator.dll
  ? Loading: D:\Users\Nick\Documents\Unity\City Building Game Prototype\Jenny\Jenny.Generator.dll
Name:Jenny.Generator.Cli
There are no context policies. load: D:\Users\Nick\Documents\Unity\City Building Game Prototype\Jenny\Sherlog.dll
  ? Loading: D:\Users\Nick\Documents\Unity\City Building Game Prototype\Jenny\Sherlog.dll
Name:Jenny.Generator.Cli
There are no context policies. load: D:\Users\Nick\Documents\Unity\City Building Game Prototype\Jenny\Sherlog.Formatters.dll
  ? Loading: D:\Users\Nick\Documents\Unity\City Building Game Prototype\Jenny\Sherlog.Formatters.dll
Name:Jenny.Generator.Cli
There are no context policies. load: D:\Users\Nick\Documents\Unity\City Building Game Prototype\Jenny\TCPeasy.dll
  ? Loading: D:\Users\Nick\Documents\Unity\City Building Game Prototype\Jenny\TCPeasy.dll
Generating using Jenny.properties
Name:Jenny.Generator.Cli
There are no context policies. load: Entitas.CodeGeneration.Plugins
  ? Loading: Entitas.CodeGeneration.Plugins
    ? Resolved: Jenny/Plugins/Entitas\Entitas.CodeGeneration.Plugins.dll
Name:Jenny.Generator.Cli
There are no context policies. load: Entitas.Roslyn.CodeGeneration.Plugins
  ? Loading: Entitas.Roslyn.CodeGeneration.Plugins
    ? Resolved: Jenny/Plugins/Entitas\Entitas.Roslyn.CodeGeneration.Plugins.dll
Name:Jenny.Generator.Cli
There are no context policies. load: Entitas.VisualDebugging.CodeGeneration.Plugins
  ? Loading: Entitas.VisualDebugging.CodeGeneration.Plugins
    ? Resolved: Jenny/Plugins/Entitas\Entitas.VisualDebugging.CodeGeneration.Plugins.dll
Name:Jenny.Generator.Cli
There are no context policies. load: Jenny.Plugins
  ? Loading: Jenny.Plugins
    ? Resolved: Jenny/Plugins/Jenny\Jenny.Plugins.dll
Name:Jenny.Generator.Cli
There are no context policies. load: Jenny.Plugins.Unity
  ? Loading: Jenny.Plugins.Unity
    ? Resolved: Jenny/Plugins/Jenny\Jenny.Plugins.Unity.dll
  ? Loading dependency: Entitas.CodeGeneration.Attributes, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
  ? Loading dependency: Entitas.CodeGeneration.Attributes, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
    ? Resolved: Assets/Entitas\Entitas.CodeGeneration.Attributes.dll
  ??  Not adding Entitas.CodeGeneration.Attributes, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null because AssemblyResolver is disposed
  ? Loading dependency: Microsoft.CodeAnalysis, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
  ? Loading dependency: Microsoft.CodeAnalysis, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
    ? Resolved: Jenny/Plugins/Jenny\Microsoft.CodeAnalysis.dll
  ??  Not adding Microsoft.CodeAnalysis, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 because AssemblyResolver is disposed
  ? Loading dependency: Entitas, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
  ? Loading dependency: Entitas, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
    ? Resolved: Assets/Entitas\Entitas.dll
  ??  Not adding Entitas, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null because AssemblyResolver is disposed
Pre Processing: Validate Project Path (3%)
Creating model: Context (6%)
Creating model: Cleanup (9%)
  ? Loading dependency: Jenny.Plugins.Roslyn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
  ? Loading dependency: Jenny.Plugins.Roslyn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
    ? Resolved: Jenny/Plugins/Jenny\Jenny.Plugins.Roslyn.dll
  ??  Not adding Jenny.Plugins.Roslyn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null because AssemblyResolver is disposed
  ? Loading dependency: DesperateDevs.Roslyn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
  ? Loading dependency: DesperateDevs.Roslyn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
    ? Resolved: Jenny/Plugins/Jenny\DesperateDevs.Roslyn.dll

Entitas Version

FutureProg commented 2 years ago

šŸ¤¦ fields need to be public. Closing

sschmid commented 2 years ago

:D Common pitfall. I want roslyn analyzers in the future to tell me immediately :D