Beamable SDK
|
Implement on systems that want to perform an assembly sweep to cache reflection-related information. More...
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... | |
Additional Inherited Members | |
Properties inherited from Beamable.Common.Reflection.IReflectionTypeProvider | |
List< BaseTypeOfInterest > | BaseTypesOfInterest [get] |
List of BaseTypeOfInterest this provider adds to the assembly sweep. | |
List< AttributeOfInterest > | AttributesOfInterest [get] |
List of AttributeOfInterest this provider adds to the assembly sweep. | |
Implement on systems that want to perform an assembly sweep to cache reflection-related information.
void Beamable.Common.Reflection.IReflectionSystem.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.
Implemented in Beamable.Server.Editor.MicroserviceReflectionCache.Registry, Beamable.Editor.Reflection.BeamHintReflectionCache.Registry, and Beamable.Reflection.BeamReflectionCache.Registry.
void Beamable.Common.Reflection.IReflectionSystem.OnAttributeOfInterestFound | ( | AttributeOfInterest | attributeType, |
IReadOnlyList< MemberAttribute > | cachedMemberAttributes | ||
) |
Called once per declared IReflectionTypeProvider.AttributesOfInterest.
attributeType | The attribute type of interest. |
cachedMemberAttributes | The list of all MemberInfo and Attribute instances matching attributeType that were found in the assembly sweep. |
Implemented in Beamable.Server.Editor.MicroserviceReflectionCache.Registry, Beamable.Editor.Reflection.BeamHintReflectionCache.Registry, and Beamable.Reflection.BeamReflectionCache.Registry.
void Beamable.Common.Reflection.IReflectionSystem.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.
baseType | The base type of interest. |
cachedSubTypes | The list of types for which Type.IsAssignableFrom returns true. |
Implemented in Beamable.Server.Editor.MicroserviceReflectionCache.Registry, Beamable.Editor.Reflection.BeamHintReflectionCache.Registry, and Beamable.Reflection.BeamReflectionCache.Registry.
void Beamable.Common.Reflection.IReflectionSystem.OnReflectionCacheBuilt | ( | PerBaseTypeCache | perBaseTypeCache, |
PerAttributeCache | perAttributeCache | ||
) |
Called once per ReflectionCache.GenerateReflectionCache invocation after the assembly sweep ReflectionCache.RebuildReflectionCache is completed.
perBaseTypeCache | Current cached Per-Base Type information. |
perAttributeCache | Currently cached Per-Attribute information. |
Implemented in Beamable.Server.Editor.MicroserviceReflectionCache.Registry, Beamable.Editor.Reflection.BeamHintReflectionCache.Registry, and Beamable.Reflection.BeamReflectionCache.Registry.
void Beamable.Common.Reflection.IReflectionSystem.OnSetupForCacheGeneration | ( | ) |
Called once on each IReflectionSystem before building the reflection cache.
Implemented in Beamable.Server.Editor.MicroserviceReflectionCache.Registry, Beamable.Editor.Reflection.BeamHintReflectionCache.Registry, and Beamable.Reflection.BeamReflectionCache.Registry.
void Beamable.Common.Reflection.IReflectionSystem.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.
Implemented in Beamable.Server.Editor.MicroserviceReflectionCache.Registry, Beamable.Editor.Reflection.BeamHintReflectionCache.Registry, and Beamable.Reflection.BeamReflectionCache.Registry.