ULimenSteamOnlineManager
Overview
ULimenSteamOnlineManager is a subsystem that integrates with Steam's matchmaking system to handle lobby creation, joining, and management. It provides a set of functions and delegates to interact with the Steam API, allowing for real-time communication and game server connections within lobbies.
Properties
Type | Name | Access | Description |
|---|---|---|---|
| OnLobbyCreated | Public | Delegate triggered when a lobby is successfully created. |
| OnLobbyJoined | Public | Delegate triggered when the player joins an existing lobby. |
| OnLobbyGameServerSet | Public | Delegate triggered when a game server is set for the current lobby. |
| OnLobbyMemberUpdated | Public | Delegate triggered when a member's status in the lobby changes. |
| OnMemberDataUpdated | Public | Delegate triggered when member data is updated. |
| OnMemberAvatarLoaded | Public | Delegate triggered when a member's avatar image is loaded. |
Functions
Return Type | Signature | Description |
|---|---|---|
| FromSteamLobbyType(ELobbyType Type) | Converts Steam's lobby type to Limen's lobby type. |
| FromLimenLobbyType(ELimenLobbyType Type) | Converts Limen's lobby type to Steam's lobby type. |
| SetLobbyGameServerP2P() | Sets the game server for the current lobby using P2P communication. |
| ConnectToGameServer() | Connects the player to the game server set in the current lobby. |
| CreateLobby(ELimenLobbyType Type, int32 MaxMembers) | Creates a new lobby with specified type and maximum members. |
| LeaveLobby() | Leaves the current lobby. |
| IsInLobby() | Checks if the player is currently in a lobby. |
| IsLobbyHost() | Determines if the player is the host of the current lobby. |
| GetLobbyParticipants() | Retrieves an array of users currently participating in the lobby. |
Usage & Implementation Notes
Threading Constraints: All Steam API calls are made on the game thread due to their blocking nature.
Replication Requirements: None.
Memory Lifetime Management: The subsystem manages memory for textures created from RGBA data, ensuring they are properly released when no longer needed.
Initialization Dependencies: The subsystem depends on SteamAPI being initialized before use.