Beamable SDK
Public Member Functions | Properties | List of all members
Beamable.Reflection.BeamReflectionCache.Registry Class Reference
Inheritance diagram for Beamable.Reflection.BeamReflectionCache.Registry:
Inheritance graph
[legend]
Collaboration diagram for Beamable.Reflection.BeamReflectionCache.Registry:
Collaboration graph
[legend]

Public Member Functions

void ClearCachedReflectionData ()
 Called once on each IReflectionSystem before building the reflection cache. Exists mostly to deal with the fact that Unity's initialization hooks are weird and seem to trigger twice when entering playmode. More...
 
void OnSetupForCacheGeneration ()
 Called once on each IReflectionSystem before building the reflection cache. More...
 
void OnReflectionCacheBuilt (PerBaseTypeCache perBaseTypeCache, PerAttributeCache perAttributeCache)
 Called once per ReflectionCache.GenerateReflectionCache invocation after the assembly sweep ReflectionCache.RebuildReflectionCache is completed. More...
 
void OnBaseTypeOfInterestFound (BaseTypeOfInterest baseType, IReadOnlyList< MemberInfo > cachedSubTypes)
 Called once per declared IReflectionTypeProvider.BaseTypesOfInterest with each base type and the cached list of types for which Type.IsAssignableFrom returns true. More...
 
void OnAttributeOfInterestFound (AttributeOfInterest attributeType, IReadOnlyList< MemberAttribute > cachedMemberAttributes)
 Called once per declared IReflectionTypeProvider.AttributesOfInterest. More...
 
void SetStorage (IBeamHintGlobalStorage hintGlobalStorage)
 Injection point for reflections systems that wish to generate hints. Leave without implementation if no hints are generated. Remember to wrap hint code in "#if UNITY_EDITOR" directives as this storage instance is null during non-editor builds. More...
 
void LoadCustomDependencies (IDependencyBuilder builderToConfigure)
 Runs all functions annotated with RegisterBeamableDependenciesAttribute, in their correct order, with the given builderToConfigure .
 

Properties

List< BaseTypeOfInterestBaseTypesOfInterest [get]
 
List< AttributeOfInterestAttributesOfInterest [get]
 
- Properties inherited from Beamable.Common.Reflection.IReflectionTypeProvider
List< BaseTypeOfInterestBaseTypesOfInterest [get]
 List of BaseTypeOfInterest this provider adds to the assembly sweep.
 
List< AttributeOfInterestAttributesOfInterest [get]
 List of AttributeOfInterest this provider adds to the assembly sweep.
 

Member Function Documentation

◆ ClearCachedReflectionData()

void Beamable.Reflection.BeamReflectionCache.Registry.ClearCachedReflectionData ( )
inline

Called once on each IReflectionSystem before building the reflection cache. Exists mostly to deal with the fact that Unity's initialization hooks are weird and seem to trigger twice when entering playmode.

Implements Beamable.Common.Reflection.IReflectionSystem.

◆ OnAttributeOfInterestFound()

void Beamable.Reflection.BeamReflectionCache.Registry.OnAttributeOfInterestFound ( AttributeOfInterest  attributeType,
IReadOnlyList< MemberAttribute cachedMemberAttributes 
)
inline

Called once per declared IReflectionTypeProvider.AttributesOfInterest.

Parameters
attributeTypeThe attribute type of interest.
cachedMemberAttributesThe list of all MemberInfo and Attribute instances matching attributeType that were found in the assembly sweep.

Implements Beamable.Common.Reflection.IReflectionSystem.

◆ OnBaseTypeOfInterestFound()

void Beamable.Reflection.BeamReflectionCache.Registry.OnBaseTypeOfInterestFound ( BaseTypeOfInterest  baseType,
IReadOnlyList< MemberInfo >  cachedSubTypes 
)
inline

Called once per declared IReflectionTypeProvider.BaseTypesOfInterest with each base type and the cached list of types for which Type.IsAssignableFrom returns true.

Parameters
baseTypeThe base type of interest.
cachedSubTypesThe list of types for which Type.IsAssignableFrom returns true.

Implements Beamable.Common.Reflection.IReflectionSystem.

◆ OnReflectionCacheBuilt()

void Beamable.Reflection.BeamReflectionCache.Registry.OnReflectionCacheBuilt ( PerBaseTypeCache  perBaseTypeCache,
PerAttributeCache  perAttributeCache 
)
inline

Called once per ReflectionCache.GenerateReflectionCache invocation after the assembly sweep ReflectionCache.RebuildReflectionCache is completed.

Parameters
perBaseTypeCacheCurrent cached Per-Base Type information.
perAttributeCacheCurrently cached Per-Attribute information.

Implements Beamable.Common.Reflection.IReflectionSystem.

◆ OnSetupForCacheGeneration()

void Beamable.Reflection.BeamReflectionCache.Registry.OnSetupForCacheGeneration ( )
inline

Called once on each IReflectionSystem before building the reflection cache.

Implements Beamable.Common.Reflection.IReflectionSystem.

◆ SetStorage()

void Beamable.Reflection.BeamReflectionCache.Registry.SetStorage ( IBeamHintGlobalStorage  hintGlobalStorage)

Injection point for reflections systems that wish to generate hints. Leave without implementation if no hints are generated. Remember to wrap hint code in "#if UNITY_EDITOR" directives as this storage instance is null during non-editor builds.

Implements Beamable.Common.Reflection.IReflectionSystem.


The documentation for this class was generated from the following file: