Функции, предоставляющие информацию о сессиях Steam Remote Play, трансляциях контента игры на другой компьютер, приложение или устройство Steam Link.
Больше информации вы найдёте в документации
Steam Remote Play.
Функции-члены
Функции-члены
ISteamRemotePlay
вызываются с помощью глобальной функции доступа
ISteamRemotePlay()
.
GetSessionCount
uint32 GetSessionCount();
Получает число текущих сессий Steam Remote Play
Возвращает: uint32Число текущих сессий Steam Remote Play
Пример:bool BSteamRemotePlayActive()
{
uint32 unSessionCount = SteamRemotePlay()->GetSessionCount();
for ( uint32 iIndex = 0; iIndex < unSessionCount; iIndex++ )
{
RemotePlaySessionID_t unSessionID = SteamRemotePlay()->GetSessionID( iIndex );
if ( !unSessionID )
{
continue;
}
return true;
}
return false;
}
GetSessionID
uint32 GetSessionID( int iSessionIndex );
Название | Тип | Описание |
iSessionIndex | int | Индекс указанной сессии |
Получает ID текущей сессии Steam Remote Play по указанному номеру
Возвращает: uint32
ID сессии по указанному номеру или 0, если он меньше 0 или больше или равен
GetSessionCount()
GetSessionSteamID
CSteamID GetSessionSteamID( uint32 unSessionID );
Название | Тип | Описание |
unSessionID | uint32 | ID сессии, о которой необходимо получить информацию |
Получает SteamID подключённого пользователя.
Возвращает: CSteamIDSteamID пользователя, связанного с сессией Remote Play. Это, как правило, пользователь, вошедший в систему, или друг в случае с Remote Play Together.
GetSessionClientName
const char *GetSessionClientName( uint32 unSessionID );
Название | Тип | Описание |
unSessionID | uint32 | ID сессии, о которой необходимо получить информацию |
Получает название устройства клиентской сессии.
Возвращает: const char *
Название устройства, связанного с сессией Remote Play, или NULL, если ID сессии недействителен.
GetSessionClientFormFactor
ESteamDeviceFormFactor GetSessionClientFormFactor( uint32 unSessionID );
Название | Тип | Описание |
unSessionID | uint32 | ID сессии, о которой необходимо получить информацию |
Получает тип устройства клиентской сессии.
Возвращает: ESteamDeviceFormFactorТип устройства, связанного с сессией Remote Play, или
k_ESteamDeviceFormFactorUnknown
, если ID сессии недействителен.
Пример:bool BSteamRemotePlayToPhone()
{
uint32 unSessionCount = SteamRemotePlay()->GetSessionCount();
for ( uint32 iIndex = 0; iIndex < unSessionCount; iIndex++ )
{
RemotePlaySessionID_t unSessionID = SteamRemotePlay()->GetSessionID( iIndex );
if ( !unSessionID )
{
continue;
}
ESteamDeviceFormFactor eFormFactor = SteamRemotePlay()->GetSessionClientFormFactor( unSessionID );
if ( eFormFactor == k_ESteamDeviceFormFactorPhone )
{
return true;
}
}
return false;
}
BGetSessionClientResolution
bool BGetSessionClientResolution( uint32 unSessionID, int *pnResolutionX, int *pnResolutionY );
Название | Тип | Описание |
unSessionID | uint32 | ID сессии, о которой необходимо получить информацию |
pnResolutionX | int | Указатель на переменную, в которую записывается значение ширины разрешения устройства |
pnResolutionY | int | Указатель на переменную, в которую записывается значение высоты разрешения устройства |
Получает разрешение клиентского устройства в пикселях. Если разрешение недоступно, указывается значение 0x0.
Возвращает: bool
true, если получено действительное значение ID сессии, в противном случае —
false.
Пример:// Может возвратить false, если удалённое устройство не предоставляет информацию о разрешении устройства
bool BGetSteamRemotePlayResolution( int *pnX, int *pnY )
{
int nMaxResolutionX = 0, nMaxResolutionY = 0;
uint32 unSessionCount = SteamRemotePlay()->GetSessionCount();
for ( uint32 iIndex = 0; iIndex < unSessionCount; iIndex++ )
{
RemotePlaySessionID_t unSessionID = SteamRemotePlay()->GetSessionID( iIndex );
if ( !unSessionID )
{
continue;
}
int nResolutionX = 0, nResolutionY = 0;
SteamRemotePlay()->BGetSessionClientResolution( unSessionID, &nResolutionX, &nResolutionY );
if ( nResolutionX > nMaxResolutionX )
{
nMaxResolutionX = nResolutionX;
nMaxResolutionY = nResolutionY;
}
}
if ( pnX )
{
*pnX = nMaxResolutionX;
}
if ( pnY )
{
*pnY = nMaxResolutionY;
}
return ( nMaxResolutionX > 0 && nMaxResolutionY > 0 );
}
BStartRemotePlayTogether
bool BStartRemotePlayTogether();
Открывает интерфейс Remote Play Together.
Возвращает: bool
true, если ваша игра настроена для Remote Play Together; в противном случае —
false.
BSendRemotePlayTogetherInvite
bool BSendRemotePlayTogetherInvite( CSteamID steamIDFriend );
Название | Тип | Описание |
steamIDFriend | CSteamID | SteamID друга, которого вы хотите пригласить |
Приглашает друга присоединиться к игре через Remote Play Together
Возвращает: bool
true, если приглашение было успешно отправлено, в противном случае —
false.
Обратные вызовы
Далее приведён список обратных вызовов, которые могут быть получены при вызове
SteamAPI_RunCallbacks.
SteamRemotePlaySessionConnected_t
Название | Тип | Описание |
m_unSessionID | uint32 | ID сессии, которая только что началась |
SteamRemotePlaySessionDisconnected_t
Название | Тип | Описание |
m_unSessionID | uint32 | ID сессии, которая только что закончилась |
Перечисления
Далее приведён список перечислений, которые определены для использования с ISteamRemotePlay.
ESteamDeviceFormFactor
Тип устройства.
Название | Значение | Описание |
k_ESteamDeviceFormFactorUnknown | 0 | Тип устройства недоступен. |
k_ESteamDeviceFormFactorPhone | 1 | Тип устройства — телефон или другое небольшое устройство с сенсорным экраном. |
k_ESteamDeviceFormFactorTablet | 2 | Тип устройства — планшет или другое крупное портативное устройство с сенсорным экраном. |
k_ESteamDeviceFormFactorComputer | 3 | ПК или ноутбук. |
k_ESteamDeviceFormFactorTV | 4 | Телевизор. |