Beamable SDK
|
Interface for the Global Storage — only exists to enable mocking for automated testing purposes so it'll acknowledge implementation details of the BeamHintGlobalStorage which is our implementation of this interface. Internally, we have one IBeamHintStorage for each User's hints and another one for Beamable's hints. As the number of generated hints a domain can produce grows, we split these macro-storages into one for each domain generated with BeamHintDomains.GenerateSubDomain and/or BeamHintDomains.GenerateBeamableDomain. This approach allows us to ensure we can move our internal data around to avoid slow-editor performance. More...
Public Member Functions | |
void | BatchAddBeamHints (string domainOwner, IEnumerable< BeamHintHeader > headers, IEnumerable< object > hintContextObj) |
More performant version of IBeamHintStorage.AddOrReplaceHints(System.Collections.Generic.IEnumerable<Common.Runtime.BeamHints.BeamHintHeader>,System.Collections.Generic.IEnumerable<object>) for the global case. Call this if you know that all hints are either BeamHintDomains.IsBeamableDomain or BeamHintDomains.IsUserDomain. More... | |
void | BatchAddBeamHints (string domainOwner, IEnumerable< BeamHint > hints) |
More performant version of IBeamHintStorage.AddOrReplaceHints(System.Collections.Generic.IEnumerable<Common.Runtime.BeamHints.BeamHint>) for the global case. Call this if you know that all hints are either BeamHintDomains.IsBeamableDomain or BeamHintDomains.IsUserDomain. More... | |
Public Member Functions inherited from Beamable.Common.Assistant.IBeamHintStorage | |
void | AddOrReplaceHint (BeamHintType type, string hintDomain, string uniqueId, object hintContextObj=null) |
Adds a hint to the storage. More... | |
void | AddOrReplaceHint (BeamHintHeader header, object hintContextObj=null) |
Adds a hint to the storage. More... | |
void | AddOrReplaceHints (IEnumerable< BeamHintHeader > headers, IEnumerable< object > hintContextObjs) |
Takes in two parallel IEnumerable<T> (same-length arrays) of BeamHintHeader/object pairs and add them to the storage. More... | |
void | AddOrReplaceHints (IEnumerable< BeamHint > bakedHints) |
Adds the given BeamHints. More... | |
void | RemoveHint (BeamHintHeader header) |
Removes the BeamHint identified by the header . More... | |
void | RemoveHint (BeamHint hint) |
Removes the given hint from the storage. More... | |
void | RemoveHints (IEnumerable< BeamHintHeader > headers) |
Removes the BeamHints identified by the given headers from the storage. More... | |
void | RemoveHints (IEnumerable< BeamHint > hints) |
Removes the given hints from the storage. More... | |
int | RemoveAllHints (IEnumerable< string > hintDomains, IEnumerable< string > hintIds) |
Removes all hints that Regex.Match(string) of any of the given hintDomains and hintIds . More... | |
int | RemoveAllHints (BeamHintType type) |
Remove all hints of the given type . More... | |
int | RemoveAllHints (string hintDomainRegex=".*", string idRegex=".*") |
Removes all hints that Regex.Match(string) of the given hintDomainRegex and idRegex . More... | |
BeamHint | GetHint (BeamHintHeader header) |
Given a header , returns a BeamHint containing it's associated BeamHint.ContextObject. More... | |
Properties | |
IEnumerable< BeamHint > | All [get] |
The combined hints of all internal IBeamHintStorages. | |
IBeamHintStorage | UserDefinedStorage [get] |
User-defined domains go into this storage (see BeamHintDomains.IsUserDomain). Our Beamable Assistant UI continuously detects hints added to this storage automatically and displays it in a special section for User domains. | |
IBeamHintStorage | BeamableStorage [get] |
Beamable-defined hints are stored here. | |
IEnumerable< BeamHint > | ReflectionCacheHints [get] |
Contains the BeamHint for the entire BeamHintDomains.BEAM_REFLECTION_CACHE domain. | |
IEnumerable< BeamHint > | CSharpMSHints [get] |
Contains the BeamHints for the entire BeamHintDomains.BEAM_CSHARP_MICROSERVICES domain. | |
IEnumerable< BeamHint > | ContentHints [get] |
Contains the BeamHints for the entire BeamHintDomains.BEAM_CONTENT domain. | |
IEnumerable< BeamHint > | AssistantHints [get] |
Contains the BeamHints for the entire BeamHintDomains.BEAM_ASSISTANT domain. | |
Interface for the Global Storage — only exists to enable mocking for automated testing purposes so it'll acknowledge implementation details of the BeamHintGlobalStorage which is our implementation of this interface.
Internally, we have one IBeamHintStorage for each User's hints and another one for Beamable's hints. As the number of generated hints a domain can produce grows, we split these macro-storages into one for each domain generated with BeamHintDomains.GenerateSubDomain and/or BeamHintDomains.GenerateBeamableDomain.
This approach allows us to ensure we can move our internal data around to avoid slow-editor performance.
void Beamable.Common.Assistant.IBeamHintGlobalStorage.BatchAddBeamHints | ( | string | domainOwner, |
IEnumerable< BeamHint > | hints | ||
) |
More performant version of IBeamHintStorage.AddOrReplaceHints(System.Collections.Generic.IEnumerable<Common.Runtime.BeamHints.BeamHint>) for the global case. Call this if you know that all hints are either BeamHintDomains.IsBeamableDomain or BeamHintDomains.IsUserDomain.
domainOwner | Either BeamHintDomains.BEAM_DOMAIN_PREFIX or BeamHintDomains.USER_DOMAIN_PREFIX. |
hints | The BeamHints to add. |
Implemented in Beamable.Common.Assistant.BeamHintGlobalStorage.
void Beamable.Common.Assistant.IBeamHintGlobalStorage.BatchAddBeamHints | ( | string | domainOwner, |
IEnumerable< BeamHintHeader > | headers, | ||
IEnumerable< object > | hintContextObj | ||
) |
More performant version of IBeamHintStorage.AddOrReplaceHints(System.Collections.Generic.IEnumerable<Common.Runtime.BeamHints.BeamHintHeader>,System.Collections.Generic.IEnumerable<object>) for the global case. Call this if you know that all hints are either BeamHintDomains.IsBeamableDomain or BeamHintDomains.IsUserDomain.
domainOwner | Either BeamHintDomains.BEAM_DOMAIN_PREFIX or BeamHintDomains.USER_DOMAIN_PREFIX. |
headers | List of headers to add. Parallel to hintContextObj . |
hintContextObj | List of context objects to add. Parallel to headers . |
Implemented in Beamable.Common.Assistant.BeamHintGlobalStorage.