Photon Server API Documentation v5.0RC1

Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes | Properties | List of all members
Photon.Hive.HiveGame Class Referenceabstract

A Room that supports the following requests:

More...

Inheritance diagram for Photon.Hive.HiveGame:
Photon.Hive.Room Photon.Hive.HiveHostGame Photon.LoadBalancing.GameServer.Game

Public Member Functions

 HiveGame (string gameName, RoomCacheBase roomCache, IGameStateFactory gameStateFactory=null, int maxEmptyRoomTTL=0, ExtendedPoolFiber executionFiber=null)
 Initializes a new instance of the HiveGame class. More...
 
override string ToString ()
 
virtual void RemoveInactiveActor (Actor actor)
 
void OnActorRemoved (Actor actor)
 
void OnActorDeactivated (Actor actor)
 
- Public Member Functions inherited from Photon.Hive.Room
 Room (string name, RoomCacheBase roomCache=null, IGameStateFactory gameStateFactory=null, int maxEmptyRoomTTL=0, ExtendedPoolFiber executionFiber=null)
 Initializes a new instance of the Room class without a room name. More...
 
override string ToString ()
 
virtual bool BeforeRemoveFromCache ()
 Called by the RoomCacheBase if the room is about to be removed from the cache. More...
 
void EnqueueMessage (IMessage message)
 Enqueues an IMessage to the end of the execution queue. More...
 
void EnqueueOperation (HivePeer peer, Operation operationRequest, SendParameters sendParameters)
 Enqueues an OperationRequest to the end of the execution queue. More...
 
IDisposable ScheduleMessage (IMessage message, int timeMs)
 Schedules a message to be processed after a specified time. More...
 
void Dispose ()
 Releases resources used by this instance. More...
 
void Release ()
 

Public Attributes

virtual bool IsPersistent => false
 
RoomEventCacheManager EventCache => this.RoomState.EventCache
 
EventCacheDictionary ActorEventCache => this.RoomState.ActorEventCache
 Contains Caching.EventCaches for all actors. More...
 
ActorsManager ActorsManager => this.RoomState.ActorsManager
 
bool CacheDiscarded => this.EventCache.Discarded || this.ActorEventCache.Discarded
 

Protected Member Functions

override void OnClose ()
 
virtual void CleanupActor (Actor actor)
 
virtual void DeactivateActor (Actor actor)
 
bool CreateGame (HivePeer peer, JoinGameRequest request, SendParameters sendParameters)
 
override void ExecuteOperation (HivePeer peer, Operation operation, SendParameters sendParameters)
 Called for each operation in the execution queue. Every Room has a queue of incoming operations to execute. Per game ExecuteOperation is never executed multi-threaded, thus all code executed here has thread safe access to all instance members. More...
 
Actor GetActorByPeer (HivePeer peer)
 Gets the actor for a HivePeer. More...
 
Hashtable GetLobbyGameProperties (Hashtable source)
 
virtual void HandleChangeGroupsOperation (HivePeer peer, ChangeGroups changeGroupsRequest, SendParameters sendParameters)
 
abstract void HandleCreateGameOperation (HivePeer peer, SendParameters sendParameters, JoinGameRequest createGameRequest)
 
virtual void HandleDebugGameOperation (HivePeer peer, DebugGameRequest request, SendParameters sendParameters)
 
virtual void HandleGetPropertiesOperation (HivePeer peer, GetPropertiesRequest getPropertiesRequest, SendParameters sendParameters)
 Handles the GetPropertiesRequest operation: Sends the properties with the OperationResponse. More...
 
abstract void HandleJoinGameOperation (HivePeer peer, SendParameters sendParameters, JoinGameRequest joinGameRequest)
 Handles the JoinGameRequest: Joins a peer to a room and calls PublishJoinEvent. Before a JoinOperation reaches this point (inside a room), the HivePeer made sure that it is removed from the previous Room (if there was any). More...
 
abstract void HandleLeaveOperation (HivePeer peer, SendParameters sendParameters, LeaveRequest leaveOperation)
 Handles the LeaveRequest and calls RemovePeerFromGame. More...
 
abstract void HandleRaiseEventOperation (HivePeer peer, RaiseEventRequest raiseEventRequest, SendParameters sendParameters)
 Handles the RaiseEventRequest: Sends a CustomEvent to actors in the room. More...
 
abstract void HandleRemovePeerMessage (HivePeer peer, int reason, string details)
 
abstract void HandleSetPropertiesOperation (HivePeer peer, SetPropertiesRequest request, SendParameters sendParameters)
 Handles the SetPropertiesRequest and sends event PropertiesChangedEvent to all Actors in the room. More...
 
virtual void JoinFailureHandler (byte leaveReason, HivePeer peer, JoinGameRequest request)
 
bool JoinApplyGameStateChanges (HivePeer peer, JoinGameRequest joinRequest, SendParameters sendParameters, out Actor actor)
 
virtual void SendErrorResponse (HivePeer peer, byte opCode, ErrorCode errorCode, string msg, SendParameters sendParameters, Dictionary< byte, object > errorData=null)
 this method not only allows us to send error response but also we overwrite it to send old error codes to old clients More...
 
void SendErrorResponseAndDisconnect (HivePeer peer, byte opCode, ErrorCode errorCode, string msg, SendParameters sendParameters, Dictionary< byte, object > errorData=null)
 
virtual bool AddExpectedUsers (JoinGameRequest joinRequest)
 
bool JoinSendResponseAndEvents (HivePeer peer, JoinGameRequest joinRequest, SendParameters sendParameters, Actor actor, ProcessJoinParams prms)
 
virtual OperationResponse GetUserJoinResponse (JoinGameRequest joinRequest, Actor actor, ProcessJoinParams prms)
 
void LeaveOperationHandler (HivePeer peer, SendParameters sendParameters, LeaveRequest request)
 
void LogOperation (HivePeer peer, OperationRequest operationRequest)
 
override void ProcessMessage (IMessage message)
 Processes a game message. Messages are used for internal communication. Per default only message RemovePeerFromGame is handled, a message that is sent when a player leaves a game due to disconnect or due to a subsequent join to a different game. More...
 
bool RaiseEventOperationHandler (HivePeer peer, RaiseEventRequest raiseEventRequest, SendParameters sendParameters, Actor actor)
 
virtual int RemovePeerFromGame (HivePeer peer, bool isComingBack)
 Removes a peer from the game. This method is called if a client sends a LeaveRequest or disconnects. More...
 
bool SetProperties (int actorNr, Hashtable properties, Hashtable expected, bool broadcast)
 
bool ValidateAndFillSetPropertiesRequest (HivePeer peer, SetPropertiesRequest request, out string errorMsg)
 
virtual void OnGamePropertiesChanged (SetPropertiesRequest request)
 
void PublishResultsAndSetGameProperties (bool propertiesUpdateResult, string errorMessage, SetPropertiesRequest request, HivePeer peer, SendParameters sendParameters)
 
virtual bool SetNewPropertyValues (SetPropertiesRequest request, out string errorMessage)
 
void CheckTotalPropertiesSize (SetPropertiesRequest setPropertiesRequest)
 
virtual bool TryAddPeerToGame (HivePeer peer, int actorNr, out Actor actor, out bool isNewActor, out ErrorCode errorcode, out string reason, JoinGameRequest joinRequest)
 Tries to add a HivePeer to this game instance. More...
 
bool UpdateEventCache (int actorNr, byte eventCode, object data, byte cacheOp, out string msg)
 
bool UpdateCacheSlice (CacheOperation op, int actorNr, int? sliceIndex, out string message)
 
virtual void OnGameFull (HivePeer peer, JoinGameRequest joinGameRequest, SendParameters sendParameters)
 
- Protected Member Functions inherited from Photon.Hive.Room
 Room (string name, ExtendedPoolFiber executionFiber, RoomCacheBase roomCache, IGameStateFactory gameStateFactory=null, int maxEmptyRoomTTL=0)
 Initializes a new instance of the Room class. More...
 
virtual void Dispose (bool dispose)
 Releases unmanaged and - optionally - managed resources More...
 
void PublishEvent (HiveEventBase e, Actor actor, SendParameters sendParameters)
 Publishes an event to a single actor on a specified channel. More...
 
void PublishEvent (HiveEventBase e, IEnumerable< Actor > actorList, SendParameters sendParameters)
 Publishes an event to a list of actors on a specified channel. More...
 
void PublishEvent (EventData e, IEnumerable< Actor > actorList, SendParameters sendParameters)
 Publishes an event to a list of actors on a specified channel. More...
 
void PublishErrorInfoEvent (string errorMsg, IEnumerable< Actor > actorList, SendParameters sendParameters)
 
void ScheduleRoomRemoval (int roomLiveTime)
 Schedules the removal of the room instance from the cache. The room will be removed after the specified time if there are no room references left. More...
 
void TryRemoveRoomFromCache ()
 Removes the room instance from the cache if there are no references to the instance left. More...
 

Protected Attributes

readonly LogQueue LogQueue
 
IHiveGameAppCounters gameAppCounters = NullHiveGameAppCounters.Instance
 
IEnumerable< ActorInactiveActors => this.ActorsManager.InactiveActors
 
IEnumerable< ActorActiveActors => this.ActorsManager.ActiveActors
 
GroupManager GroupManager => this.RoomState.GroupManager
 
GameState RoomState => this.roomState
 
- Protected Attributes inherited from Photon.Hive.Room
readonly RoomCacheBase roomCache
 
readonly IGameStateFactory gameStateFactory
 
string RemoveRoomPathString
 
DateTime removalStartTimestamp = DateTime.MinValue
 
GameState roomState
 

Static Protected Attributes

static readonly string[] EmptyStringArray = {}
 

Properties

IHiveGameAppCounters GameAppCounters [get, set]
 
int MasterClientId [get]
 
bool IsOpen [get, set]
 
bool IsVisible [get, set]
 
bool IsFinished [get, set]
 whether finished. it is not same as IsOpen == false. More...
 
string LobbyId [get, set]
 
bool DeleteCacheOnLeave [get, set]
 Gets or sets a value indicating whether cached events are automatically deleted for actors which are leaving a room. More...
 
HashSet< object > LobbyProperties [get, set]
 Contains the keys of the game properties hashtable which should be listed in the lobby. More...
 
AppLobbyType LobbyType [get, set]
 
byte MaxPlayers [get, set]
 
int PlayerTTL [get, set]
 Player live time More...
 
bool SuppressRoomEvents [get, set]
 Gets or sets a value indicating if common room events (Join, Leave) will suppressed. More...
 
bool SuppressPlayerInfo [get, set]
 
bool CheckUserOnJoin [get, set]
 
int LimitMaxPropertiesSizePerGame = 0 [get, set]
 
- Properties inherited from Photon.Hive.Room
RemoveState RemoveRoomPath [get, set]
 
ExtendedPoolFiber ExecutionFiber [get]
 Gets a PoolFiber instance used to synchronize access to this instance. More...
 
bool IsDisposed [get]
 Gets a value indicating whether IsDisposed. More...
 
string Name [get]
 Gets the name (id) of the room. More...
 
int EmptyRoomLiveTime [get, protected set]
 Gets or sets a value indicating how long the room instance will be keeped alive in the room cache after all peers have left the room. More...
 
int MaxEmptyRoomTTL [get]
 
DateTime UtcCreated [get]
 
long RoomCreationTS [get]
 
IDisposable RemoveTimer [get, set]
 Timer for removing room More...
 
PropertyBag< object > Properties [get]
 Gets a PropertyBag instance used to store custom room properties. More...
 

Additional Inherited Members

- Protected Types inherited from Photon.Hive.Room
enum  RemoveState {
  RemoveState.Alive, RemoveState.TryRemoveRoomFromCacheCalled, RemoveState.RoomRemoved, RemoveState.TryRemoveRoomFromCacheCalledRoomNotRemoved,
  RemoveState.ProcessCloseGameCalled, RemoveState.TriggerPluginOnCloseCalled, RemoveState.AliveGotNewPlayer, RemoveState.ScheduleTriggerPluginOnCloseCalled,
  RemoveState.ProcessBeforeCloseGameCalled, RemoveState.ProcessBeforeCloseGameCalledEmptyRoomLiveTimeLECalled, RemoveState.BeforeRemoveFromCacheCalled, RemoveState.BeforeRemoveFromCacheActionCalled,
  RemoveState.GameDisposeCalled
}
 

Detailed Description

A Room that supports the following requests:

Constructor & Destructor Documentation

◆ HiveGame()

Photon.Hive.HiveGame.HiveGame ( string  gameName,
RoomCacheBase  roomCache,
IGameStateFactory  gameStateFactory = null,
int  maxEmptyRoomTTL = 0,
ExtendedPoolFiber  executionFiber = null 
)
inline

Initializes a new instance of the HiveGame class.

Parameters
gameNameThe name of the game.
roomCacheThe RoomCacheBase instance to which the room belongs.
gameStateFactoryCustom factory for GameState. if null is set, default factory is used
maxEmptyRoomTTLA value indicating how long the room instance will be kept alive in the room cache after all peers have left the room.
executionFiber

Member Function Documentation

◆ AddExpectedUsers()

virtual bool Photon.Hive.HiveGame.AddExpectedUsers ( JoinGameRequest  joinRequest)
inlineprotectedvirtual

◆ CheckTotalPropertiesSize()

void Photon.Hive.HiveGame.CheckTotalPropertiesSize ( SetPropertiesRequest  setPropertiesRequest)
inlineprotected

◆ CleanupActor()

virtual void Photon.Hive.HiveGame.CleanupActor ( Actor  actor)
inlineprotectedvirtual

◆ CreateGame()

bool Photon.Hive.HiveGame.CreateGame ( HivePeer  peer,
JoinGameRequest  request,
SendParameters  sendParameters 
)
inlineprotected

◆ DeactivateActor()

virtual void Photon.Hive.HiveGame.DeactivateActor ( Actor  actor)
inlineprotectedvirtual

◆ ExecuteOperation()

override void Photon.Hive.HiveGame.ExecuteOperation ( HivePeer  peer,
Operation  operation,
SendParameters  sendParameters 
)
inlineprotectedvirtual

Called for each operation in the execution queue. Every Room has a queue of incoming operations to execute. Per game ExecuteOperation is never executed multi-threaded, thus all code executed here has thread safe access to all instance members.

Parameters
peerThe peer.
operationThe operation request to execute.
sendParametersThe send Parameters.

Reimplemented from Photon.Hive.Room.

◆ GetActorByPeer()

Actor Photon.Hive.HiveGame.GetActorByPeer ( HivePeer  peer)
inlineprotected

Gets the actor for a HivePeer.

Parameters
peerThe peer.
Returns
The actor for the peer or null if no actor for the peer exists (this should not happen).

◆ GetLobbyGameProperties()

Hashtable Photon.Hive.HiveGame.GetLobbyGameProperties ( Hashtable  source)
inlineprotected

◆ GetUserJoinResponse()

virtual OperationResponse Photon.Hive.HiveGame.GetUserJoinResponse ( JoinGameRequest  joinRequest,
Actor  actor,
ProcessJoinParams  prms 
)
inlineprotectedvirtual

Reimplemented in Photon.Hive.HiveHostGame.

◆ HandleChangeGroupsOperation()

virtual void Photon.Hive.HiveGame.HandleChangeGroupsOperation ( HivePeer  peer,
ChangeGroups  changeGroupsRequest,
SendParameters  sendParameters 
)
inlineprotectedvirtual

◆ HandleCreateGameOperation()

abstract void Photon.Hive.HiveGame.HandleCreateGameOperation ( HivePeer  peer,
SendParameters  sendParameters,
JoinGameRequest  createGameRequest 
)
protectedpure virtual

◆ HandleDebugGameOperation()

virtual void Photon.Hive.HiveGame.HandleDebugGameOperation ( HivePeer  peer,
DebugGameRequest  request,
SendParameters  sendParameters 
)
inlineprotectedvirtual

◆ HandleGetPropertiesOperation()

virtual void Photon.Hive.HiveGame.HandleGetPropertiesOperation ( HivePeer  peer,
GetPropertiesRequest  getPropertiesRequest,
SendParameters  sendParameters 
)
inlineprotectedvirtual

Handles the GetPropertiesRequest operation: Sends the properties with the OperationResponse.

Parameters
peerThe peer.
getPropertiesRequestThe operation to handle.
sendParametersThe send Parameters.

◆ HandleJoinGameOperation()

abstract void Photon.Hive.HiveGame.HandleJoinGameOperation ( HivePeer  peer,
SendParameters  sendParameters,
JoinGameRequest  joinGameRequest 
)
protectedpure virtual

Handles the JoinGameRequest: Joins a peer to a room and calls PublishJoinEvent. Before a JoinOperation reaches this point (inside a room), the HivePeer made sure that it is removed from the previous Room (if there was any).

Parameters
peerThe peer.
sendParametersThe send Parameters.
joinGameRequestThe join Game Request.

Implemented in Photon.Hive.HiveHostGame, and Photon.LoadBalancing.GameServer.Game.

◆ HandleLeaveOperation()

abstract void Photon.Hive.HiveGame.HandleLeaveOperation ( HivePeer  peer,
SendParameters  sendParameters,
LeaveRequest  leaveOperation 
)
protectedpure virtual

Handles the LeaveRequest and calls RemovePeerFromGame.

Parameters
peerThe peer.
sendParametersThe send Parameters.
leaveOperationThe operation.

Implemented in Photon.Hive.HiveHostGame.

◆ HandleRaiseEventOperation()

abstract void Photon.Hive.HiveGame.HandleRaiseEventOperation ( HivePeer  peer,
RaiseEventRequest  raiseEventRequest,
SendParameters  sendParameters 
)
protectedpure virtual

Handles the RaiseEventRequest: Sends a CustomEvent to actors in the room.

Parameters
peerThe peer.
raiseEventRequestThe operation
sendParametersThe send Parameters.

Implemented in Photon.Hive.HiveHostGame.

◆ HandleRemovePeerMessage()

abstract void Photon.Hive.HiveGame.HandleRemovePeerMessage ( HivePeer  peer,
int  reason,
string  details 
)
protectedpure virtual

Implemented in Photon.Hive.HiveHostGame.

◆ HandleSetPropertiesOperation()

abstract void Photon.Hive.HiveGame.HandleSetPropertiesOperation ( HivePeer  peer,
SetPropertiesRequest  request,
SendParameters  sendParameters 
)
protectedpure virtual

Handles the SetPropertiesRequest and sends event PropertiesChangedEvent to all Actors in the room.

Parameters
peerThe peer.
requestThe SetPropertiesRequest operation to handle.
sendParametersThe send Parameters.

Implemented in Photon.Hive.HiveHostGame.

◆ JoinApplyGameStateChanges()

bool Photon.Hive.HiveGame.JoinApplyGameStateChanges ( HivePeer  peer,
JoinGameRequest  joinRequest,
SendParameters  sendParameters,
out Actor  actor 
)
inlineprotected

◆ JoinFailureHandler()

virtual void Photon.Hive.HiveGame.JoinFailureHandler ( byte  leaveReason,
HivePeer  peer,
JoinGameRequest  request 
)
inlineprotectedvirtual

◆ JoinSendResponseAndEvents()

bool Photon.Hive.HiveGame.JoinSendResponseAndEvents ( HivePeer  peer,
JoinGameRequest  joinRequest,
SendParameters  sendParameters,
Actor  actor,
ProcessJoinParams  prms 
)
inlineprotected

◆ LeaveOperationHandler()

void Photon.Hive.HiveGame.LeaveOperationHandler ( HivePeer  peer,
SendParameters  sendParameters,
LeaveRequest  request 
)
inlineprotected

◆ LogOperation()

void Photon.Hive.HiveGame.LogOperation ( HivePeer  peer,
OperationRequest  operationRequest 
)
inlineprotected

◆ OnActorDeactivated()

void Photon.Hive.HiveGame.OnActorDeactivated ( Actor  actor)
inline

◆ OnActorRemoved()

void Photon.Hive.HiveGame.OnActorRemoved ( Actor  actor)
inline

◆ OnClose()

override void Photon.Hive.HiveGame.OnClose ( )
inlineprotectedvirtual

Reimplemented from Photon.Hive.Room.

◆ OnGameFull()

virtual void Photon.Hive.HiveGame.OnGameFull ( HivePeer  peer,
JoinGameRequest  joinGameRequest,
SendParameters  sendParameters 
)
inlineprotectedvirtual

◆ OnGamePropertiesChanged()

virtual void Photon.Hive.HiveGame.OnGamePropertiesChanged ( SetPropertiesRequest  request)
inlineprotectedvirtual

◆ ProcessMessage()

override void Photon.Hive.HiveGame.ProcessMessage ( IMessage  message)
inlineprotectedvirtual

Processes a game message. Messages are used for internal communication. Per default only message RemovePeerFromGame is handled, a message that is sent when a player leaves a game due to disconnect or due to a subsequent join to a different game.

Parameters
messageMessage to process.

Reimplemented from Photon.Hive.Room.

◆ PublishResultsAndSetGameProperties()

void Photon.Hive.HiveGame.PublishResultsAndSetGameProperties ( bool  propertiesUpdateResult,
string  errorMessage,
SetPropertiesRequest  request,
HivePeer  peer,
SendParameters  sendParameters 
)
inlineprotected

◆ RaiseEventOperationHandler()

bool Photon.Hive.HiveGame.RaiseEventOperationHandler ( HivePeer  peer,
RaiseEventRequest  raiseEventRequest,
SendParameters  sendParameters,
Actor  actor 
)
inlineprotected

◆ RemoveInactiveActor()

virtual void Photon.Hive.HiveGame.RemoveInactiveActor ( Actor  actor)
inlinevirtual

Reimplemented in Photon.Hive.HiveHostGame.

◆ RemovePeerFromGame()

virtual int Photon.Hive.HiveGame.RemovePeerFromGame ( HivePeer  peer,
bool  isComingBack 
)
inlineprotectedvirtual

Removes a peer from the game. This method is called if a client sends a LeaveRequest or disconnects.

Parameters
peerThe HivePeer to remove.
isComingBackwhether we expect peer will come back or not
Returns
The actor number of the removed actor. If the specified peer does not exist -1 will be returned.

◆ SendErrorResponse()

virtual void Photon.Hive.HiveGame.SendErrorResponse ( HivePeer  peer,
byte  opCode,
ErrorCode  errorCode,
string  msg,
SendParameters  sendParameters,
Dictionary< byte, object >  errorData = null 
)
inlineprotectedvirtual

this method not only allows us to send error response but also we overwrite it to send old error codes to old clients

Parameters
peer
opCode
errorCode
msg
sendParameters
errorData

◆ SendErrorResponseAndDisconnect()

void Photon.Hive.HiveGame.SendErrorResponseAndDisconnect ( HivePeer  peer,
byte  opCode,
ErrorCode  errorCode,
string  msg,
SendParameters  sendParameters,
Dictionary< byte, object >  errorData = null 
)
inlineprotected

◆ SetNewPropertyValues()

virtual bool Photon.Hive.HiveGame.SetNewPropertyValues ( SetPropertiesRequest  request,
out string  errorMessage 
)
inlineprotectedvirtual

◆ SetProperties()

bool Photon.Hive.HiveGame.SetProperties ( int  actorNr,
Hashtable  properties,
Hashtable  expected,
bool  broadcast 
)
inlineprotected

◆ ToString()

override string Photon.Hive.HiveGame.ToString ( )
inline

◆ TryAddPeerToGame()

virtual bool Photon.Hive.HiveGame.TryAddPeerToGame ( HivePeer  peer,
int  actorNr,
out Actor  actor,
out bool  isNewActor,
out ErrorCode  errorcode,
out string  reason,
JoinGameRequest  joinRequest 
)
inlineprotectedvirtual

Tries to add a HivePeer to this game instance.

Parameters
peerThe peer to add.
actorNrThe actor Nr.
actorWhen this method returns this out param contains the Actor associated with the peer .
errorcodereturns error code if we fail to add actor
reasonreason why player can not be added
isNewActorreturns true if actor is new
joinRequestjoin request which was sent by client
Returns
Returns true if no actor exists for the specified peer and a new actor for the peer has been successfully added. The actor parameter is set to the newly created Actor instance. Returns false if an actor for the specified peer already exists. The actor parameter is set to the existing Actor for the specified peer.

◆ UpdateCacheSlice()

bool Photon.Hive.HiveGame.UpdateCacheSlice ( CacheOperation  op,
int  actorNr,
int?  sliceIndex,
out string  message 
)
inlineprotected

◆ UpdateEventCache()

bool Photon.Hive.HiveGame.UpdateEventCache ( int  actorNr,
byte  eventCode,
object  data,
byte  cacheOp,
out string  msg 
)
inlineprotected

◆ ValidateAndFillSetPropertiesRequest()

bool Photon.Hive.HiveGame.ValidateAndFillSetPropertiesRequest ( HivePeer  peer,
SetPropertiesRequest  request,
out string  errorMsg 
)
inlineprotected

Member Data Documentation

◆ ActiveActors

IEnumerable<Actor> Photon.Hive.HiveGame.ActiveActors => this.ActorsManager.ActiveActors
protected

◆ ActorEventCache

EventCacheDictionary Photon.Hive.HiveGame.ActorEventCache => this.RoomState.ActorEventCache

Contains Caching.EventCaches for all actors.

◆ ActorsManager

ActorsManager Photon.Hive.HiveGame.ActorsManager => this.RoomState.ActorsManager

◆ CacheDiscarded

bool Photon.Hive.HiveGame.CacheDiscarded => this.EventCache.Discarded || this.ActorEventCache.Discarded

◆ EmptyStringArray

readonly string [] Photon.Hive.HiveGame.EmptyStringArray = {}
staticprotected

◆ EventCache

RoomEventCacheManager Photon.Hive.HiveGame.EventCache => this.RoomState.EventCache

◆ gameAppCounters

IHiveGameAppCounters Photon.Hive.HiveGame.gameAppCounters = NullHiveGameAppCounters.Instance
protected

◆ GroupManager

GroupManager Photon.Hive.HiveGame.GroupManager => this.RoomState.GroupManager
protected

◆ InactiveActors

IEnumerable<Actor> Photon.Hive.HiveGame.InactiveActors => this.ActorsManager.InactiveActors
protected

◆ IsPersistent

virtual bool Photon.Hive.HiveGame.IsPersistent => false

◆ LogQueue

readonly LogQueue Photon.Hive.HiveGame.LogQueue
protected

◆ RoomState

GameState Photon.Hive.HiveGame.RoomState => this.roomState
protected

Property Documentation

◆ CheckUserOnJoin

bool Photon.Hive.HiveGame.CheckUserOnJoin
getset

◆ DeleteCacheOnLeave

bool Photon.Hive.HiveGame.DeleteCacheOnLeave
getset

Gets or sets a value indicating whether cached events are automatically deleted for actors which are leaving a room.

◆ GameAppCounters

IHiveGameAppCounters Photon.Hive.HiveGame.GameAppCounters
getset

◆ IsFinished

bool Photon.Hive.HiveGame.IsFinished
getsetprotected

whether finished. it is not same as IsOpen == false.

◆ IsOpen

bool Photon.Hive.HiveGame.IsOpen
getset

◆ IsVisible

bool Photon.Hive.HiveGame.IsVisible
getset

◆ LimitMaxPropertiesSizePerGame

int Photon.Hive.HiveGame.LimitMaxPropertiesSizePerGame = 0
getset

◆ LobbyId

string Photon.Hive.HiveGame.LobbyId
getset

◆ LobbyProperties

HashSet<object> Photon.Hive.HiveGame.LobbyProperties
getset

Contains the keys of the game properties hashtable which should be listed in the lobby.

◆ LobbyType

AppLobbyType Photon.Hive.HiveGame.LobbyType
getset

◆ MasterClientId

int Photon.Hive.HiveGame.MasterClientId
get

◆ MaxPlayers

byte Photon.Hive.HiveGame.MaxPlayers
getset

◆ PlayerTTL

int Photon.Hive.HiveGame.PlayerTTL
getset

Player live time

◆ SuppressPlayerInfo

bool Photon.Hive.HiveGame.SuppressPlayerInfo
getset

◆ SuppressRoomEvents

bool Photon.Hive.HiveGame.SuppressRoomEvents
getset

Gets or sets a value indicating if common room events (Join, Leave) will suppressed.