Photon Server API
Public Member Functions | Static Public Attributes | Protected Member Functions | Properties | List of all members
Photon.Hive.Caching.HiveGameCache Class Reference

The cache for HiveGames. More...

Inheritance diagram for Photon.Hive.Caching.HiveGameCache:
Photon.Hive.Caching.RoomCacheBase

Public Member Functions

 HiveGameCache ()
 
- Public Member Functions inherited from Photon.Hive.Caching.RoomCacheBase
bool TryGetRoomWithoutReference (string roomId, out Room room)
 Tries to get room reference for a room with the specified id, without holding a reference to that room. More...
 
RoomReference GetRoomReference (string roomName, PeerBase ownerPeer, params object[] args)
 Gets a room reference for a room with a specified id. If the room with the specified id does not exists, a new room will be created. More...
 
List< string > GetRoomNames ()
 Returns the names of all rooms that are currently cached in this RoomCacheBase. More...
 
virtual string GetDebugString (string roomName)
 Gathers debug information about the specified room (actors, peers, references etc.). More...
 
bool TryCreateRoom (string roomName, PeerBase ownerPeer, out RoomReference roomReference, params object[] args)
 Tries to create a new room. More...
 
bool TryGetRoomReference (string roomId, PeerBase ownerPeer, out RoomReference roomReference)
 Tries to get room reference for a room with the specified id. More...
 
void ReleaseRoomReference (RoomReference roomReference)
 Releases a room reference. The related room instance will be removed from the cache if no more references to the room exists. More...
 
bool TryRemoveRoomInstance (Room room)
 Tries to remove a romm instance from the room cache. The room will only be removed if there are no references to the romm instance left. More...
 

Static Public Attributes

static readonly HiveGameCache Instance = new HiveGameCache()
 The singleton instance. More...
 

Protected Member Functions

override Room CreateRoom (string roomId, params object[] args)
 Must be implementated by inheritors to create new room instances. This method is called when a room reference is requesteted for a room that does not exists in the cache. More...
 
- Protected Member Functions inherited from Photon.Hive.Caching.RoomCacheBase
virtual void OnRoomRemoved (Room room)
 Invoked if the last reference for a room is released and the room was removed from the cache. Can be overloaded by inheritors to provide a custom cleanup logic after a room has been disposed. More...
 

Properties

PluginManager PluginManager [get]
 

Additional Inherited Members

- Protected Attributes inherited from Photon.Hive.Caching.RoomCacheBase
readonly Dictionary< string, RoomInstanceRoomInstances = new Dictionary<string, RoomInstance>()
 A Dictionary used to store room instances. More...
 
readonly object SyncRoot = new object()
 used to syncronize acces to the cache. More...
 

Detailed Description

The cache for HiveGames.

Constructor & Destructor Documentation

Photon.Hive.Caching.HiveGameCache.HiveGameCache ( )
inline

Member Function Documentation

override Room Photon.Hive.Caching.HiveGameCache.CreateRoom ( string  roomId,
params object[]  args 
)
inlineprotectedvirtual

Must be implementated by inheritors to create new room instances. This method is called when a room reference is requesteted for a room that does not exists in the cache.

Parameters
roomIdThe room id.
argsOptionally arguments used for room creation.
Returns
a new room

Implements Photon.Hive.Caching.RoomCacheBase.

Member Data Documentation

readonly HiveGameCache Photon.Hive.Caching.HiveGameCache.Instance = new HiveGameCache()
static

The singleton instance.

Property Documentation

PluginManager Photon.Hive.Caching.HiveGameCache.PluginManager
get