Namespace StreamSIX
Classes
ActorInfoResponse
AppConfigDef
BigScreenConfig
BigScreenManager
Entry point to manage game sessions for BigScreen application
This behaviour calls DontDestroyOnLoad(this) to keep itself alive across scene load.
Actor
Use ActorTag to specify what actor to load in the cloud. This has no effect for running local RMB.
Local RMB
Sets LocalRMB config when running rmb locally. When this is null, RMB will be spawned in the cloud.
Manage session
BigScreen application manage the lifecycle of a session.
Call CreateSessionAsync(UserManager, Int32, String, DistributionPayload) to create a new session. This creates room and actor instances.
Use EndSessionAsync(Object) to end a session. This removes the room instance and discard the running actor. Call CreateSessionAsync(UserManager, Int32, String, DistributionPayload) again to create a new session.
BigScreen application should end the session before quitting.
Application Quit
If there is still an active session when BigScreen application quits, BigScreenManager may delay the quit process until session is ended.
BigScreenManager does this by listen for Application.wantsToQuit.
When running in Editor, because Editor ignores wantsToQuit, BigScreen application does not have time to send out the end session message. In this scenario, both room and actor instances are remove immediately. This means that if the actor normally perform some processing at end of session, it may not have the time to do so when BigScreen runs in Editor.
The best way to avoid this scenario is to build End Session into the game flow. Avoid relying on application quit to end the session.
BigScreenManager.EndSessionEvent
Event when session ends.
First parameter is session id. Second parameter is exception if session did not end normally.
CleanUpUsersException
ClientConfig
ClientManager
Entry point to manage game sessions for the Client application
This behaviour calls DontDestroyOnLoad(this) to keep itself alive across scene load.
Join
Call JoinRoomAsync(UserManager, String, String) to join a session. This connects to the actor.
Manage session
Call EndSession() at end of gameplay to stop client from attempting to reconnect.
ClientManager.EndSessionEvent
Event when session ends.
First parameter is session id. Second parameter is exception if session did not end normally.
CreateRoomException
DeleteMessageBusException
DeleteRoomException
Dispatcher
Dispatcher validates the join code and returns the join info
DistributionPayload
Information that may be needed by Lobby Service to verify that the user creating a room owns a legitimate copy of the game on a digital storefront.
If a game license contains distribution information in its config, then an instance of this class must be passed into CreateSession(Action<RoomData, Exception>, UserManager, Int32, String, DistributionPayload) or CreateSessionAsync(UserManager, Int32, String, DistributionPayload) when creating a room. It shall contain one or more fields defined that correspond to the digital storefront defined on the license. The information will be used to verify user's ownership of the game with that particular storefront.
EntityManager
EntityManager is a cloud resource that stores game and user data.
See !:EntityType
for the 3 types of entity.
This SDK only provide functions that BigScreen/Client have permission to access.
A registered user is required to access user entity. Guest user is able to access game entity.
LicenseID is used to specify the game.
This behaviour calls DontDestroyOnLoad(this) to keep itself alive across scene load.
EntityManagerConfig
GetJoinCodeException
GetLatestPlayersTimeoutException
GetLatestScoresTimeoutException
GetMessageBusException
GetMessageBusNoDataException
GetPlayerCountException
GetPlayerCountTimeoutException
GetRoomException
GetRoomsByFilterException
GetTopPlayersTimeoutException
InventoryManager
Inventory Service is a cloud resource that integrate with 3rd party store and store user purchases.
LicenseID is used to specify the game.
This behaviour calls DontDestroyOnLoad(this) to keep itself alive across scene load.
InventoryServiceConfig
JoinCodeData
JoinInfoDef
JoinRoomException
LeaderboardManager
Leaderboard Service is a cloud resource that is made to provide generic leaderboard functionality for Standalone Games (sagames) projects, rather than be specifically tailored to our current game-set. This means that leaderboards need to be defined and configured before being used.
LicenseID is used to specify the game.
This behaviour calls DontDestroyOnLoad(this) to keep itself alive across scene load.
LeaderboardManagerConfig
LocalRMBConfig
Configuration to spawn RMB locally.
Attach this object to BigScreenConfig to spawn RMB locally
MessageBusPlayerInfo
Player data return from message bus. When the return data does not implied score, Score and Rank are -1.