Документация Steamworks
Интерфейс ISteamRemotePlay
Функции, предоставляющие информацию о сессиях 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 );
НазваниеТипОписание
iSessionIndexintИндекс указанной сессии

Получает ID текущей сессии Steam Remote Play по указанному номеру

Возвращает: uint32
ID сессии по указанному номеру или 0, если он меньше 0 или больше или равен GetSessionCount()

GetSessionSteamID

CSteamID GetSessionSteamID( uint32 unSessionID );
НазваниеТипОписание
unSessionIDuint32ID сессии, о которой необходимо получить информацию

Получает SteamID подключённого пользователя.

Возвращает: CSteamID
SteamID пользователя, связанного с сессией Remote Play. Это, как правило, пользователь, вошедший в систему, или друг в случае с Remote Play Together.

GetSessionClientName

const char *GetSessionClientName( uint32 unSessionID );
НазваниеТипОписание
unSessionIDuint32ID сессии, о которой необходимо получить информацию

Получает название устройства клиентской сессии.

Возвращает: const char *
Название устройства, связанного с сессией Remote Play, или NULL, если ID сессии недействителен.

GetSessionClientFormFactor

ESteamDeviceFormFactor GetSessionClientFormFactor( uint32 unSessionID );
НазваниеТипОписание
unSessionIDuint32ID сессии, о которой необходимо получить информацию

Получает тип устройства клиентской сессии.

Возвращает: 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 );
НазваниеТипОписание
unSessionIDuint32ID сессии, о которой необходимо получить информацию
pnResolutionXintУказатель на переменную, в которую записывается значение ширины разрешения устройства
pnResolutionYintУказатель на переменную, в которую записывается значение высоты разрешения устройства

Получает разрешение клиентского устройства в пикселях. Если разрешение недоступно, указывается значение 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 CSteamIDSteamID друга, которого вы хотите пригласить

Приглашает друга присоединиться к игре через Remote Play Together

Возвращает: bool
true, если приглашение было успешно отправлено, в противном случае — false.

Обратные вызовы

Далее приведён список обратных вызовов, которые могут быть получены при вызове SteamAPI_RunCallbacks.

SteamRemotePlaySessionConnected_t


НазваниеТипОписание
m_unSessionIDuint32ID сессии, которая только что началась

SteamRemotePlaySessionDisconnected_t


НазваниеТипОписание
m_unSessionIDuint32ID сессии, которая только что закончилась

Перечисления

Далее приведён список перечислений, которые определены для использования с ISteamRemotePlay.

ESteamDeviceFormFactor

Тип устройства.

НазваниеЗначениеОписание
k_ESteamDeviceFormFactorUnknown0Тип устройства недоступен.
k_ESteamDeviceFormFactorPhone1Тип устройства — телефон или другое небольшое устройство с сенсорным экраном.
k_ESteamDeviceFormFactorTablet2Тип устройства — планшет или другое крупное портативное устройство с сенсорным экраном.
k_ESteamDeviceFormFactorComputer3ПК или ноутбук.
k_ESteamDeviceFormFactorTV4Телевизор.
  翻译: