-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Default Code Generator Plugins
The default installation of Entitas comes with these plugins, sorted by assembly.
All listed plugins are executed in dry-run unless otherwise stated.
Adds a comment to each generated source file similar to this:
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by <name of ICodeGenerator plugin>.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------Not essential, but a useful reminder not to edit generated source code. This plugin only supports comment syntax for C# (and compatible languages like C++ or C); if you want to generate code in any other language (e.g. a link.xml file), you will need to either disable this plugin or replace it with a custom one whose output changes depending on the file extension.
Deletes every .cs file in the target directory to avoid conflicts with newly-generated code.
If you're generating non-C# files, you will need to provide a custom plugin similar to this one. When doing so, you can safely keep this plugin enabled.
Not executed in dry runs.
This plugin will not delete Unity-created .meta files that correspond to generated code, but Unity itself will, invalidating any references to the corresponding source files in the process. If you need to preserve .meta files (e.g. when creating MonoBehaviours), you should create a custom IPostProcessor plugin that backs them up before this plugin is run, and restores them immediately after.
Logs to stdout a list of all files that were generated, and the plugins that generated them. If multiple files with the same name were merged, all relevant plugins will be listed.
Ai/Components/AiAgentComponent.cs - Entitas.CodeGeneration.Plugins.ComponentEntityApiGenerator, Entitas.CodeGeneration.Plugins.ComponentMatcherApiGenerator
Ai/Components/AiFindSafeCellComponent.cs - Entitas.CodeGeneration.Plugins.ComponentEntityApiGenerator, Entitas.CodeGeneration.Plugins.ComponentMatcherApiGenerator
Ai/Components/AiNextDirectionComponent.cs - Entitas.CodeGeneration.Plugins.ComponentEntityApiGenerator, Entitas.CodeGeneration.Plugins.ComponentMatcherApiGenerator
Ai/Components/AiPathFinderServiceComponent.cs - Entitas.CodeGeneration.Plugins.ComponentEntityApiGenerator, Entitas.CodeGeneration.Plugins.ComponentMatcherApiGenerator
Ai/Components/AiTargetCellComponent.cs - Entitas.CodeGeneration.Plugins.ComponentEntityApiGenerator, Entitas.CodeGeneration.Plugins.ComponentMatcherApiGenerator
Ai/Components/AiTargetCellPathComponent.cs - Entitas.CodeGeneration.Plugins.ComponentEntityApiGenerator, Entitas.CodeGeneration.Plugins.ComponentMatcherApiGenerator
Game/Components/GameBlockComboComponent.cs - Entitas.CodeGeneration.Plugins.ComponentEntityApiGenerator, Entitas.CodeGeneration.Plugins.ComponentMatcherApiGenerator
Game/Components/GameBlockComboFinishedComponent.cs - Entitas.CodeGeneration.Plugins.ComponentEntityApiGenerator, Entitas.CodeGeneration.Plugins.ComponentMatcherApiGenerator
Game/Components/GameBlockComponent.cs - Entitas.CodeGeneration.Plugins.ComponentEntityApiGenerator, Entitas.CodeGeneration.Plugins.ComponentMatcherApiGenerator
Game/Components/GameBlockFallingComponent.cs - Entitas.CodeGeneration.Plugins.ComponentEntityApiGenerator, Entitas.CodeGeneration.Plugins.ComponentMatcherApiGenerator
Game/Components/GameBlockGridAlmostOverflowingComponent.cs - Entitas.CodeGeneration.Plugins.ComponentEntityApiGenerator, Entitas.CodeGeneration.Plugins.ComponentMatcherApiGenerator
Merges generated files with the same filename into one, like so:
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Entitas.CodeGeneration.Plugins.ComponentEntityApiGenerator.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
public partial class EngineInputEntity {
// Omitted for brevity
}
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Entitas.CodeGeneration.Plugins.ComponentMatcherApiGenerator.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
public sealed partial class EngineInputMatcher {
// Omitted for brevity
}Do not disable this plugin without a suitable replacement, or else large swathes of generated code will be missing.
Replaces the line endings in all generated files with your operating system's native representation, regardless of what the code generator actually outputs.
Not executed in dry runs.
Writes all generated files to disk. Any changes to generated code made by IPostProcessors run after this one will not be saved.
Not executed in dry runs.
All plugins listed in this assembly are available in the free version of Entitas.
These plugins compile and load your project's assemblies, then use run-time reflection to extract data from them. This means that if any part of your project doesn't compile, these data providers will fail.
Note: This name of this plugin has a typo.
The plugins in this assembly are only available in the paid version of Entitas.
These plugins scan your project with Roslyn's code analysis APIs and extract information from it statically (i.e. without compilation). This means these plugins will work properly even if your code doesn't fully compile.
If you're using these plugins, you can safely disable the data providers listed in Entitas.CodeGeneration.Plugins, as the ones in Entitas.Roslyn.CodeGeneration.Plugins supersede them.
Guides: Introduction - Installation - Upgrading - FAQ - Cookbook - Contributing
Need Help? Ask a question on Discord or create an issue.
- The Basics
- Concepts
- Architecture / Patterns