EcsRx
  • readme
  • Getting Started
    • Stuff To Know
    • Setup
  • The Framework
    • Entities
    • Components
    • Systems
    • Blueprints
    • Groups
    • Observable Groups
  • Framework Infrastructure
    • Application Infrastructure
    • Application Lifecycle
    • Dependency Management
  • Framework Architecture
    • High Level Architecture
    • Entity Collections
  • Plugins
    • Overview
    • Reactive Systems Plugin
    • Computeds Plugin
    • View Plugin
    • Batching Systems Plugin
    • Group Binding Plugin
  • Performance
    • Overview
    • Component Type Lookups
    • System Affinities
    • Struct Components
  • Other
    • MicroRx
    • Third Party Content
    • FAQs
    • Breaking Changes
Powered by GitBook
On this page
  • Group Binding Plugin
  • System Affinities in this plugin

Was this helpful?

  1. Plugins

Group Binding Plugin

Group Binding Plugin

Please note that this plugin isn't enabled by default and you have to load it yourself.

Sometimes you just want an easy access to an IObservableGroup based on a group without having to start injecting a IObservableGroupManager by hand every time to provide you with it. Using this Plugin enables you to just add a FromGroupAttribute or a FromComponentsAttribute to any public field or any property with a public setter of the type IObservableGroup on your system.

If your system is an IGroupSystem you can also use the FromGroupAttribute without even supplying a group to it and it'll fall back to using the value from the IGroupSystem.Group.

System Affinities in this plugin

Please refer to the article about system affinities within the performance category for general info about the concept.

By accompanying your FromGroupAttribute/ FromComponentsAttribute by a CollectionAffinityAttribute you can specify which collectionIds are to be observed the specified group. If you are using the FromGroupAttribute without supplying any arguments, it'll also consider a CollectionAffinityAttribute on your systems class. However you can still overwrite this by also supplying a CollectionAffinityAttribute to that member.

PreviousBatching Systems PluginNextPerformance

Last updated 3 years ago

Was this helpful?