Show / Hide Table of Contents

Class GameObjectCache

An implementation of IGameObjectCache.

Inheritance
object
ObjectCacheBase<ObjectInfo, IGameObject>
ClassObjectCacheBase<ObjectInfo, IGameObject>
GameObjectCache
Implements
IGameObjectCache
IClassObjectCache<ObjectInfo, IGameObject>
IObjectCache<ObjectInfo, IGameObject>
ICollection<IGameObject>
IEnumerable<IGameObject>
IDictionary<ObjectInfo, IGameObject>
ICollection<KeyValuePair<ObjectInfo, IGameObject>>
IEnumerable<KeyValuePair<ObjectInfo, IGameObject>>
IEnumerable
IQueryResultConsumer<IGameObject>
Inherited Members
ClassObjectCacheBase<ObjectInfo, IGameObject>.GetClassAge(ObjectInfo)
ClassObjectCacheBase<ObjectInfo, IGameObject>.GetClassAge(ObjectInfo, DateTime)
ClassObjectCacheBase<ObjectInfo, IGameObject>.GetObjectAge(ObjectInfo, DateTime)
ClassObjectCacheBase<ObjectInfo, IGameObject>.RefreshClass(ObjectInfo)
ClassObjectCacheBase<ObjectInfo, IGameObject>.RefreshClass(ObjectInfo, DateTime)
ClassObjectCacheBase<ObjectInfo, IGameObject>.Remove(ObjectInfo)
ClassObjectCacheBase<ObjectInfo, IGameObject>.ClearClass(ObjectInfo)
ClassObjectCacheBase<ObjectInfo, IGameObject>.ToClassKey(in ObjectInfo)
ClassObjectCacheBase<ObjectInfo, IGameObject>.ClearClassAges(ObjectInfo)
ObjectCacheBase<ObjectInfo, IGameObject>.Count
ObjectCacheBase<ObjectInfo, IGameObject>.IsReadOnly
ObjectCacheBase<ObjectInfo, IGameObject>.Keys
ObjectCacheBase<ObjectInfo, IGameObject>.Values
ObjectCacheBase<ObjectInfo, IGameObject>.Ages
ObjectCacheBase<ObjectInfo, IGameObject>.Objects
ObjectCacheBase<ObjectInfo, IGameObject>.this[ObjectInfo]
ObjectCacheBase<ObjectInfo, IGameObject>.GetObjectAge(ObjectInfo)
ObjectCacheBase<ObjectInfo, IGameObject>.RefreshObject(ObjectInfo)
ObjectCacheBase<ObjectInfo, IGameObject>.RefreshObject(ObjectInfo, DateTime)
ObjectCacheBase<ObjectInfo, IGameObject>.Clear()
ObjectCacheBase<ObjectInfo, IGameObject>.Contains(IGameObject)
ObjectCacheBase<ObjectInfo, IGameObject>.ContainsKey(ObjectInfo)
ObjectCacheBase<ObjectInfo, IGameObject>.CopyTo(IGameObject[], int)
ObjectCacheBase<ObjectInfo, IGameObject>.Remove(IGameObject)
ObjectCacheBase<ObjectInfo, IGameObject>.GetEnumerator()
ObjectCacheBase<ObjectInfo, IGameObject>.Add(IGameObject)
ObjectCacheBase<ObjectInfo, IGameObject>.Add(ObjectInfo, IGameObject)
ObjectCacheBase<ObjectInfo, IGameObject>.Add(KeyValuePair<ObjectInfo, IGameObject>)
ObjectCacheBase<ObjectInfo, IGameObject>.TryGetValue(ObjectInfo, out IGameObject)
ObjectCacheBase<ObjectInfo, IGameObject>.Contains(KeyValuePair<ObjectInfo, IGameObject>)
ObjectCacheBase<ObjectInfo, IGameObject>.CopyTo(KeyValuePair<ObjectInfo, IGameObject>[], int)
ObjectCacheBase<ObjectInfo, IGameObject>.Remove(KeyValuePair<ObjectInfo, IGameObject>)
ObjectCacheBase<ObjectInfo, IGameObject>.GetKey(IGameObject)
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()
Namespace: Microsoft.XboxStudios.GameStateTracker.Cache
Assembly: GameStateTracker.Core.dll
Syntax
public class GameObjectCache : ClassObjectCacheBase<ObjectInfo, IGameObject>, IGameObjectCache, IClassObjectCache<ObjectInfo, IGameObject>, IObjectCache<ObjectInfo, IGameObject>, ICollection<IGameObject>, IEnumerable<IGameObject>, IDictionary<ObjectInfo, IGameObject>, ICollection<KeyValuePair<ObjectInfo, IGameObject>>, IEnumerable<KeyValuePair<ObjectInfo, IGameObject>>, IEnumerable, IQueryResultConsumer<IGameObject>
Remarks

Initializes a new instance of the GameObjectCache class.

Constructors

View Source

GameObjectCache(IReadOnlyCollection<IGameObject>?)

An implementation of IGameObjectCache.

Declaration
public GameObjectCache(IReadOnlyCollection<IGameObject>? existing = null)
Parameters
Type Name Description
IReadOnlyCollection<IGameObject> existing

The objects to initialize the cache with.

Remarks

Initializes a new instance of the GameObjectCache class.

Methods

View Source

GetDefaultObject(in ObjectInfo)

Gets a default game object for the given object info.

Declaration
protected virtual IGameObject GetDefaultObject(in ObjectInfo info)
Parameters
Type Name Description
ObjectInfo info

The object info.

Returns
Type Description
IGameObject

A game object.

View Source

GetKey(IGameObject)

Gets the info describing an object.

Declaration
protected override ObjectInfo GetKey(IGameObject input)
Parameters
Type Name Description
IGameObject input

The object.

Returns
Type Description
ObjectInfo

The object info.

Overrides
ObjectCacheBase<ObjectInfo, IGameObject>.GetKey(IGameObject)
View Source

MergeResult(in QueryResult)

Transforms the query result into an object, and then adds the object to the cache.

Declaration
public IGameObject MergeResult(in QueryResult item)
Parameters
Type Name Description
QueryResult item

The query result.

Returns
Type Description
IGameObject

The object.

View Source

ToClassKey(in ObjectInfo)

Converts an object's info to its class info.

Declaration
protected override ObjectInfo ToClassKey(in ObjectInfo info)
Parameters
Type Name Description
ObjectInfo info

The object info.

Returns
Type Description
ObjectInfo

The class info.

Overrides
ClassObjectCacheBase<ObjectInfo, IGameObject>.ToClassKey(in ObjectInfo)

Events

View Source

OnObjectCreated

An event which fires when new query results cause an object to be created.

Declaration
public event EventHandler<IGameObject>? OnObjectCreated
Event Type
Type Description
EventHandler<IGameObject>

Implements

IGameObjectCache
IClassObjectCache<TKey, TValue>
IObjectCache<TKey, TValue>
ICollection<T>
IEnumerable<T>
IDictionary<TKey, TValue>
ICollection<T>
IEnumerable<T>
IEnumerable
IQueryResultConsumer<T>

Extension Methods

IGameObjectCacheExtensions.ClearClass(IGameObjectCache, string)
IGameObjectCacheExtensions.GetClassAge(IGameObjectCache, string?)
IGameObjectCacheExtensions.GetClassAge(IGameObjectCache, string?, DateTime)
IGameObjectCacheExtensions.RefreshClass(IGameObjectCache, string)
IGameObjectCacheExtensions.RefreshClass(IGameObjectCache, string, DateTime)
IQueryResultConsumerExtensions.MergeResults<T>(IQueryResultConsumer<T>, IEnumerable<QueryResult>?)
  • View Source
In this article
Back to top Generated by DocFX