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

Public Member Functions

void ReloadHintTextMapScriptableObjects (List< string > hintConfigPaths)
 Called to load all BeamHintTextMaps in the given hintConfigPaths . It ensures the loaded ConverterData<T> instances are up-to-date with their references to BeamHintTextMap.
 
void ReloadHintDetailConfigScriptableObjects (List< string > hintConfigPaths)
 Called to load all BeamHintDetailsConfigs in the given hintConfigPaths . It ensures the loaded ConverterData<T> instances are up-to-date with their references to BeamHintDetailsConfig.
 
bool TryGetConverterDataForHint (BeamHintHeader header, out ConverterData< DefaultConverter > converter)
 Tries to get a ConverterData<T> struct for a hint with the given header .
 
bool TryGetHintTitleText (BeamHintHeader header, out string titleText)
 Tries to get the title text defined in the BeamHintTextMap tied to the first matching hint id of the given header .
 
bool TryGetDomainTitleText (string domainSubString, out string titleText)
 Tries to get the title text defined in the BeamHintTextMap tied to the first matching domain of the given domainSubString .
 
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 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...
 
BeamHintTextMap GetTextMapForId (BeamHintHeader header)
 Gets the first text map that matches the given header. TODO: Replace when we have our in-editor localization solution
 

Properties

List< BaseTypeOfInterestBaseTypesOfInterest [get]
 
List< AttributeOfInterestAttributesOfInterest [get]
 
IReadOnlyList< IBeamHintSystemGloballyAccessibleHintSystems [get]
 Readonly accessor to the list of cached and instantiated IBeamHintSystem that are not injected into Beam Context.
 
IReadOnlyList< ConstructorInfo > BeamContextAccessibleHintSystems [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.Editor.Reflection.BeamHintReflectionCache.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.Editor.Reflection.BeamHintReflectionCache.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.Editor.Reflection.BeamHintReflectionCache.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.Editor.Reflection.BeamHintReflectionCache.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.Editor.Reflection.BeamHintReflectionCache.Registry.OnSetupForCacheGeneration ( )
inline

Called once on each IReflectionSystem before building the reflection cache.

Implements Beamable.Common.Reflection.IReflectionSystem.

◆ SetStorage()

void Beamable.Editor.Reflection.BeamHintReflectionCache.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: