Entitas Redux
JCMG.EntitasRedux Namespace Reference

Namespaces

namespace  Blueprints
 
namespace  Editor
 
namespace  VisualDebugging
 

Classes

class  AbstractEntityIndex
 
class  AbstractEntityIndexAttribute
 
class  ArrayTools
 Helper methods for arrays More...
 
class  CleanupAttribute
 
class  CollectionExtension
 
class  Collector
 A Collector can observe one or more groups from the same context and collects changed entities based on the specified groupEvent. More...
 
class  CollectorContextExtension
 
class  CollectorException
 
class  ComponentNameAttribute
 
class  Context
 A context manages the lifecycle of entities and groups. You can create and destroy entities and get groups of entities. The preferred way to create a context is to use the generated methods from the code generator, e.g. var context = new GameContext(); More...
 
class  ContextAttribute
 
class  ContextDoesNotContainEntityException
 
class  ContextEntityIndexDoesAlreadyExistException
 
class  ContextEntityIndexDoesNotExistException
 
class  ContextExtension
 
class  ContextInfo
 
class  ContextInfoException
 
class  ContextStillHasRetainedEntitiesException
 
class  CustomEntityIndexAttribute
 
class  DictionaryTools
 
class  DontDrawComponentAttribute
 
class  DontGenerateAttribute
 
class  EntitasReduxException
 Base exception used by EntitasRedux. More...
 
class  EntitasStringExtension
 
class  Entity
 Use context.CreateEntity() to create a new entity and entity.Destroy() to destroy it. You can add, replace and remove IComponent to an entity. More...
 
class  EntityAlreadyHasComponentException
 
class  EntityBehaviour
 
class  EntityDoesNotHaveComponentException
 
class  EntityEqualityComparer
 
class  EntityIndex
 
class  EntityIndexAttribute
 
class  EntityIndexException
 
class  EntityIndexGetMethodAttribute
 
class  EntityIsAlreadyRetainedByOwnerException
 
class  EntityIsNotDestroyedException
 
class  EntityIsNotEnabledException
 
class  EntityIsNotRetainedByOwnerException
 
class  EntityLink
 
class  EntityLinkExtension
 
class  EventAttribute
 
class  FlagPrefixAttribute
 
class  Group
 Use context.GetGroup(matcher) to get a group of entities which match the specified matcher. Calling context.GetGroup(matcher) with the same matcher will always return the same instance of the group. The created group is managed by the context and will always be up to date. It will automatically add entities that match the matcher or remove entities as soon as they don't match the matcher anymore. More...
 
class  GroupExtension
 
class  GroupSingleEntityException
 
interface  IAERC
 
interface  IAllOfMatcher
 
interface  IAnyOfMatcher
 
interface  ICleanupSystem
 Implement this interface if you want to create a system which should execute cleanup logic after execution. More...
 
interface  ICollector
 
interface  IComponent
 Implement this interface if you want to create a component which you can add to an entity. Optionally, you can add these attributes: [Unique]: the code generator will generate additional methods for the context to ensure that only one entity with this component exists. E.g. context.isAnimating = true or context.SetResources(); [MyContextName, MyOtherContextName]: You can make this component to be available only in the specified contexts. The code generator can generate these attributes for you. More available Attributes can be found in Entitas.CodeGeneration.Attributes/Attributes. More...
 
interface  ICompoundMatcher
 
interface  IContext
 
interface  IContexts
 
interface  IEntity
 
interface  IEntityIndex
 
interface  IFixedUpdateSystem
 Implement this interface if you want to create a system which should execute every fixed physics step. More...
 
interface  IGroup
 
interface  IInitializeSystem
 Implement this interface if you want to create a system which should be initialized once in the beginning. More...
 
interface  ILateUpdateSystem
 Implement this interface if you want to create a system which should be executed at the end of every render frame. More...
 
interface  IMatcher
 
class  IndexOutOfLookupRangeException
 An exception that occurs when an index is attempted to be used with a component lookup that is out of range for the components it contains. More...
 
interface  INoneOfMatcher
 
interface  IReactiveSystem
 Implement this interface if you want to create a system which should be executed in reaction to an event or data change. More...
 
interface  ISystem
 The base interface for all systems. It's not meant to be implemented directly. Use one of its child interfaces such as IInitializeSystem, IUpdateSystem, IFixedUpdateSystem, IUpdateSystem, ILateUpdateSystem, ICleanupSystem or ITearDownSystem. More...
 
interface  ITearDownSystem
 Implement this interface if you want to create a system which should tear down once in the end. More...
 
interface  IUpdateSystem
 Implement this interface if you want to create a system which should execute once per render frame. More...
 
class  Job
 
class  JobSystem
 A JobSystem calls Execute(entities) with subsets of entities and distributes the workload over the specified amount of threads. Don't use the generated methods like AddXyz() and ReplaceXyz() when writing multi-threaded code in Entitas. More...
 
class  ListTools
 Helper methods for generic types. More...
 
class  Matcher
 
class  MatcherException
 
class  MultiReactiveSystem
 A ReactiveSystem calls Execute(entities) if there were changes based on the specified Collector and will only pass in changed entities. A common use-case is to react to changes, e.g. a change of the position of an entity to update the gameObject.transform.position of the related gameObject. More...
 
class  ObjectPool
 
class  PostConstructorAttribute
 
class  PrimaryEntityIndex
 
class  PrimaryEntityIndexAttribute
 
class  ReactiveSystem
 A ReactiveSystem calls Execute(entities) if there were changes based on the specified Collector and will only pass in changed entities. A common use-case is to react to changes, e.g. a change of the position of an entity to update the gameObject.transform.position of the related gameObject. More...
 
class  RuntimeConstants
 Runtime constant fields for EntitasRedux. More...
 
class  SafeAERC
 Automatic Entity Reference Counting (AERC) is used internally to prevent pooling retained entities. If you use retain manually you also have to release it manually at some point. SafeAERC checks if the entity has already been retained or released. It's slower, but you keep the information about the owners. More...
 
class  SingleEntityException
 
class  Systems
 Systems provide a convenient way to group systems. You can add IInitializeSystem, IExecuteSystem, ICleanupSystem, ITearDownSystem, ReactiveSystem and other nested Systems instances. All systems will be initialized and executed based on the order you added them. More...
 
struct  TriggerOnEvent
 
class  TriggerOnEventMatcherExtension
 
class  TypeExtensions
 Helper methods for Type More...
 
class  UniqueAttribute
 
class  UnsafeAERC
 Automatic Entity Reference Counting (AERC) is used internally to prevent pooling retained entities. If you use retain manually you also have to release it manually at some point. UnsafeAERC doesn't check if the entity has already been retained or released. It's faster, but you lose the information about the owners. More...
 
class  VersionConstants
 Version info for this library.
 

Enumerations

enum  CleanupMode { CleanupMode.RemoveComponent, CleanupMode.DestroyEntity }
 
enum  EntityIndexType { EntityIndexType.EntityIndex, EntityIndexType.PrimaryEntityIndex }
 
enum  EventTarget { EventTarget.Any, EventTarget.Self }
 
enum  EventType { EventType.Added, EventType.Removed }
 
enum  GroupEvent : byte { GroupEvent.Added, GroupEvent.Removed, GroupEvent.AddedOrRemoved }
 

Functions

delegate void ContextEntityChanged (IContext context, IEntity entity)
 
delegate void ContextGroupChanged (IContext context, IGroup group)
 
delegate void EntityComponentChanged (IEntity entity, int index, IComponent component)
 
delegate void EntityComponentReplaced (IEntity entity, int index, IComponent previousComponent, IComponent newComponent)
 
delegate void EntityEvent (IEntity entity)
 
delegate void GroupChanged< TEntity > (IGroup< TEntity > group, TEntity entity, int index, IComponent component)
 
delegate void GroupUpdated< TEntity > (IGroup< TEntity > group, TEntity entity, int index, IComponent previousComponent, IComponent newComponent)
 

Enumeration Type Documentation

◆ CleanupMode

Enumerator
RemoveComponent 
DestroyEntity 

Definition at line 28 of file CleanupMode.cs.

◆ EntityIndexType

Enumerator
EntityIndex 
PrimaryEntityIndex 

Definition at line 28 of file EntityIndexType.cs.

◆ EventTarget

Enumerator
Any 
Self 

Definition at line 28 of file EventTarget.cs.

◆ EventType

Enumerator
Added 
Removed 

Definition at line 28 of file EventType.cs.

◆ GroupEvent

enum JCMG.EntitasRedux.GroupEvent : byte
strong
Enumerator
Added 
Removed 
AddedOrRemoved 

Definition at line 28 of file GroupEvent.cs.

Function Documentation

◆ ContextEntityChanged()

delegate void JCMG.EntitasRedux.ContextEntityChanged ( IContext  context,
IEntity  entity 
)

◆ ContextGroupChanged()

delegate void JCMG.EntitasRedux.ContextGroupChanged ( IContext  context,
IGroup  group 
)

◆ EntityComponentChanged()

delegate void JCMG.EntitasRedux.EntityComponentChanged ( IEntity  entity,
int  index,
IComponent  component 
)

◆ EntityComponentReplaced()

delegate void JCMG.EntitasRedux.EntityComponentReplaced ( IEntity  entity,
int  index,
IComponent  previousComponent,
IComponent  newComponent 
)

◆ EntityEvent()

delegate void JCMG.EntitasRedux.EntityEvent ( IEntity  entity)

◆ GroupChanged< TEntity >()

delegate void JCMG.EntitasRedux.GroupChanged< TEntity > ( IGroup< TEntity >  group,
TEntity  entity,
int  index,
IComponent  component 
)
Type Constraints
TEntity :class 
TEntity :IEntity 

◆ GroupUpdated< TEntity >()

delegate void JCMG.EntitasRedux.GroupUpdated< TEntity > ( IGroup< TEntity >  group,
TEntity  entity,
int  index,
IComponent  previousComponent,
IComponent  newComponent 
)
Type Constraints
TEntity :class 
TEntity :IEntity