อินเตอร์เฟซที่ให้การเข้าถึงฟังก์ชันเบ็ดเตล็ดต่าง ๆ ของยูทิลิตี้
ฟังก์ชันสมาชิก
ฟังก์ชันสมาชิกสำหรับ
ISteamUtils
จะถูกเรียกผ่านทางฟังก์ชันตัวเข้าถึงส่วนกลาง
SteamUtils()
BOverlayNeedsPresent
bool BOverlayNeedsPresent();
ใช้ตรวจสอบดูว่าจำเป็นต้องแสดงโอเวอร์เลย์หรือไม่ จำเป็นต้องใช้ก็ต่อเมื่อใช้การอัปเดตเรนเดอร์ที่ทำงานด้วยอีเวนต์
โดยทั่วไปแล้วไม่จำเป็นต้องเรียกฟังก์ชันนี้ หากเกมของคุณรันลูปเฟรมที่เรียก D3D Present API หรือ OGL SwapBuffers API กับทุกเฟรมอย่างต่อเนื่องเช่นเดียวกันกับเกมส่วนใหญ่ อย่างไรก็ตาม หากคุณมีเกมที่รีเฟรชหน้าจอเฉพาะเมื่อเกิดอีเวนต์เท่านั้น ก็อาจจะทำให้โอเวอร์เลย์ขาดตอนไปได้ เพราะเกมจะใช้การเรียก Present/SwapBuffers เพื่อใช้งานลูปเฟรมภายในของเกม และอาจจะต้องใช้ Present() กับหน้าจอ เมื่อใดก็ตามที่มีการแจ้งเตือนเกิดขึ้น หรือใช้เมื่อผู้ใช้เรียกโอเวอร์เลย์ขึ้นมาวางทับบนตัวเกม You can use this API to ask the overlay if it currently need a present in that case, and then you can check for this periodically (roughly 33hz is desirable) and make sure you refresh the screen with Present or SwapBuffers to allow the overlay to do its work.
คืนค่า: bool
true หากโอเวอร์เลย์จำเป็นต้องให้คุณรีเฟรชหน้าจอ มิฉะนั้นจะคืนค่า
falseCheckFileSignature
SteamAPICall_t CheckFileSignature( const char *szFileName );
ชื่อ | ประเภท | คำอธิบาย |
szFileName | const char * | . |
เลิกใช้แล้ว
คืนค่า: SteamAPICall_t เพื่อใช้กับผลลัพธ์การเรียก
CheckFileSignature_tGetAPICallFailureReason
ESteamAPICallFailure GetAPICallFailureReason( SteamAPICall_t hSteamAPICall );
ชื่อ | ประเภท | คำอธิบาย |
hSteamAPICall | SteamAPICall_t | แฮนเดิลของการเรียก Steam API เพื่อตรวจสอบความล้มเหลว |
ใช้เพื่อรับสาเหตุความล้มเหลวของผลลัพธ์การเรียก
ฟังก์ชันนี้ใช้สำหรับการดีบักเป็นหลัก โดยทั่วไป สาเหตุความล้มเหลวจะอยู่นอกเหนืออำนาจควบคุมของคุณ และมักไม่ค่อยมีความสำคัญมากนัก ให้คุณลองเรียก API ซ้ำไปเรื่อย ๆ จนกว่าจะใช้งานได้
คืนค่า: ESteamAPICallFailure[type]ESteamAPICallFailure[/type]
ดูข้อมูลเพิ่มเติมที่: IsAPICallCompleted,
GetAPICallResultตัวอย่าง:void CHTMLSurface::OnBrowserReady( HTML_BrowserReady_t *pBrowserReady, bool bIOFailure )
{
if ( bIOFailure ) {
SteamUtils()->GetAPICallFailureReason( handle ); // ต้องเก็บแฮนเดิลแยกกันต่างหาก
return;
}
}
GetAPICallResult
bool GetAPICallResult( SteamAPICall_t hSteamAPICall, void *pCallback, int cubCallback, int iCallbackExpected, bool *pbFailed );
ชื่อ | ประเภท | คำอธิบาย |
hSteamAPICall | SteamAPICall_t | แฮนเดิลของการเรียก API |
pCallback | void * | คืนค่าคอลแบ็กกลับไปยังหน่วยความจำที่ได้จัดสรรไว้ล่วงหน้า |
cubCallback | int | ขนาดของ pCallback ที่คุณจะส่งเข้าไป |
iCallbackExpected | int | จำนวน k_iCallback ที่เกี่ยวข้องกับคอลแบ็ก |
pbFailed | bool * | จะคืนค่ากลับมาหากการเรียก API นั้นล้มเหลว |
รับเนื้อหาของการเรียก API ที่เสร็จสมบูรณ์แล้ว มีไว้ให้สำหรับส่วนแบ็กเอนด์ของแรปเปอร์ CallResult
โดยทั่วไปแล้วไม่แนะนำให้ใช้งานคำสั่งนี้ด้วยตนเอง
คืนค่า: bool
true เมื่อดำเนินการสำเร็จ หากการเรียก API ถูกต้องและเสร็จสมบูรณ์ มิฉะนั้นจะคืนค่า
falseหากการเรียกสำเร็จ จะคัดลอกคอลแบ็กไปที่
pCallback
และคืนค่าความล้มเหลวไปที่
pbFailed
ดูข้อมูลเพิ่มเติมที่: IsAPICallCompleted,
GetAPICallFailureReasonGetAppID
uint32 GetAppID();
รับ App ID ของโปรเซสปัจจุบัน
คืนค่า: uint32คืนค่าไอดีแอป
GetConnectedUniverse
EUniverse GetConnectedUniverse();
รับค่ายูนิเวิร์สที่ไคลเอนต์ปัจจุบันเชื่อมต่ออยู่ (สำหรับใช้งานใน Valve เท่านั้น)
คืนค่า: EUniverse[type]EUniverse[/type]
GetCSERIPPort
bool GetCSERIPPort( uint32 *unIP, uint16 *usPort );
ชื่อ | ประเภท | คำอธิบาย |
unIP | uint32 * | คืนค่า IP ที่ไคลเอนต์เชื่อมต่ออยู่ |
usPort | uint16 * | คืนค่าพอร์ตที่ไคลเอนต์เชื่อมต่ออยู่ |
Gets the IP of the reporting server for Valve - currently only used in Source engine games
คืนค่า: bool
คืนค่า
true หากผู้ใช้เชื่อมต่ออยู่ในขณะนี้ มิฉะนั้นคืนค่า
falseGetCurrentBatteryPower
uint8 GetCurrentBatteryPower();
เรียกรับปริมาณพลังงานคงเหลือของแบตเตอรี่เครื่องคอมพิวเตอร์
คืนค่า: uint8ขณะนี้ปริมาณพลังงานคงเหลือของแบตเตอรี่มีค่าอยู่ระหว่าง [0..100]% โดยจะส่งคืนค่าเป็น 255 หากว่าผู้ใช้ต่อกับไฟบ้านอยู่
GetEnteredGamepadTextInput
bool GetEnteredGamepadTextInput( char *pchText, uint32 cchText );
ชื่อ | ประเภท | คำอธิบาย |
pchText | char * | บัฟเฟอร์ที่ได้จัดสรรไว้ล่วงหน้าเพื่อให้คัดลอกสตริงอินพุตข้อความลงไป |
cchText | uint32 | ขนาดของบัฟเฟอร์ pchText |
รับอินพุตข้อความของเกมแพดที่มาจากโอเวอร์เลย์ Big Picture
ซึ่งจะต้องถูกเรียกภายในคอลแบ็ก
GamepadTextInputDismissed_t และเมื่อ
GamepadTextInputDismissed_t.m_bSubmitted
มีค่าเป็น true เท่านั้น
Provides the text input as UTF-8.
คืนค่า: bool
true หากมีข้อความให้รับ และ
cchText
มีขนาดเท่ากับ GamepadTextInputDismissed_t.m_unSubmittedText; มิฉะนั้นจะคืนค่า
falseดูข้อมูลเพิ่มเติมที่: ShowGamepadTextInput,
GetEnteredGamepadTextLengthตัวอย่าง:void OnGamepadTextInputDismissed_t( GamepadTextInputDismissed_t* pCallback )
{
// ผู้ใช้ยกเลิก
if ( !pCallback.m_bSubmitted )
return;
// ใช้ความยาวของอินพุตสูงสุดที่เราส่งเข้าไปที่ ShowGamepadTextInput, +1 สำหรับ Null Terminator
const uint32 MAX_INPUT_LENGTH = 64 + 1;
uint32 length = SteamUtils()->GetEnteredGamepadTextLength();
char* szTextInput[MAX_INPUT_LENGTH];
bool success = SteamUtils()->GetEnteredGamepadTextInput( szTextInput, length );
if ( !success )
{
// บันทึกข้อผิดพลาด ซึ่งควรจะเกิดขึ้นหากความยาวอยู่ที่ > MaxInputLength เท่านั้น
return;
}
// แสดงสตริงที่อัปเดต
}
GetEnteredGamepadTextLength
uint32 GetEnteredGamepadTextLength();
รับความยาวของอินพุตข้อความของเกมแพดที่มาจากโอเวอร์เลย์ Big Picture
ซึ่งจะต้องถูกเรียกภายในคอลแบ็ก
GamepadTextInputDismissed_t และเมื่อ
GamepadTextInputDismissed_t.m_bSubmitted
มีค่าเป็น true เท่านั้น
คืนค่า: uint32ดูข้อมูลเพิ่มเติมที่: ShowGamepadTextInput,
GetEnteredGamepadTextInputตัวอย่าง:void OnGamepadTextInputDismissed_t( GamepadTextInputDismissed_t* pCallback )
{
// ผู้ใช้ยกเลิก
if ( !pCallback.m_bSubmitted )
return;
// ใช้ความยาวของอินพุตสูงสุดที่เราส่งเข้าไปที่ ShowGamepadTextInput, +1 สำหรับ Null Terminator
const uint32 MAX_INPUT_LENGTH = 64 + 1;
uint32 length = SteamUtils()->GetEnteredGamepadTextLength();
const char* szTextInput[MAX_INPUT_LENGTH];
bool success = SteamUtils()->GetEnteredGamepadTextInput( szTextInput, length );
if ( !success )
{
// บันทึกข้อผิดพลาด ซึ่งควรจะเกิดขึ้นหากความยาวอยู่ที่ > MaxInputLength เท่านั้น
return;
}
// แสดงสตริงที่อัปเดต
}
GetImageRGBA
bool GetImageRGBA( int iImage, uint8 *pubDest, int nDestBufferSize );
ชื่อ | ประเภท | คำอธิบาย |
iImage | int | แฮนเดิลในการเข้าถึงรูปภาพที่จะเก็บมาใช้งาน |
pubDest | uint8 * | บัฟเฟอร์ที่จะรับข้อมูล |
nDestBufferSize | int | ขนาดรวมของบัฟเฟอร์ pubDest |
รับขนาดไบต์ของรูปภาพจากแฮนเดิลรูปภาพ
ก่อนที่จะเรียกฟังก์ชันนี้ คุณต้องขอรับขนาดของรูปภาพโดยเรียก
GetImageSize เพื่อให้คุณสร้างบัฟเฟอร์ที่มีขนาดเหมาะสมได้ จากนั้นคุณจะสามารถจัดสรรความกว้างและความสูงให้กับบัฟเฟอร์ได้เป็น: ความกว้าง * ความสูง * 4 รูปภาพจะอยู่ในรูปแบบ RGBA การเรียกนี้จะใช้งานทรัพยากรค่อนข้างมาก เพราะว่าจะต้องแปลงรูปภาพจากข้อมูลที่ถูกบีบอัด (JPG, PNG และ TGA) และจะไม่มีการเตรียมแคชภายในของบัฟเฟอร์ที่ส่งคืนมาให้ ฉะนั้น ขอแนะนำเป็นอย่างยิ่ง ว่าให้เรียกคำสั่งนี้เพียง 1 ครั้งต่อแฮนเดิลรูปภาพ 1 แฮนเดิล แล้วจากนั้นก็ให้แคชผลลัพธ์ที่ได้ออกมา ฟังก์ชันนี้จะใช้กับภาพแทนตัวบน Steam และภาพรางวัลความสำเร็จเพียงเท่านั้น และคาดว่าภาพเหล่านั้นจะไม่เปลี่ยนแปลงในระหว่างการเล่นเกม
คืนค่า: bool
true เมื่อดำเนินการสำเร็จ ถ้าแฮนเดิลรูปภาพถูกต้องและป้อนค่าบัฟเฟอร์ให้แล้ว มิฉะนั้นจะคืนค่า
falseดูข้อมูลเพิ่มเติมที่: ISteamFriends::GetSmallFriendAvatar,
ISteamFriends::GetMediumFriendAvatar,
ISteamFriends::GetLargeFriendAvatar,
ISteamUserStats::GetAchievementIconตัวอย่าง:HGAMETEXTURE GetSteamImageAsTexture( int iImage )
{
HGAMETEXTURE hTexture = 0;
// You should first check if you have already cached this image using something like a dictionary/map
// with iImage as the key and then return the texture handle associated with it if it exists.
// If it doesn't exist, continue on, and add the texture to the map before returning at the end of the function.
// If we have to check the size of the image.
uint32 uAvatarWidth, uAvatarHeight;
bool success = SteamUtils()->GetImageSize( iImage, &uAvatarWidth, &uAvatarHeight );
if ( !success ) {
// Log a warning message.
return hTexture;
}
// Get the actual raw RGBA data from Steam and turn it into a texture in our game engine
const int uImageSizeInBytes = uAvatarWidth * uAvatarHeight * 4;
uint8 *pAvatarRGBA = new uint8[uImageSizeInBytes];
success = SteamUtils()->GetImageRGBA( iImage, pAvatarRGBA, uImageSizeInBytes );
if( !success )
{
// Do something to convert the RGBA texture into your internal texture format for displaying.
// hTexture = m_pGameEngine->HCreateTexture( pAvatarRGBA, uAvatarWidth, uAvatarHeight );
// And add the texture to the cache
}
// Don't forget to free the memory!
delete[] pAvatarRGBA;
return hTexture;
}
GetImageSize
bool GetImageSize( int iImage, uint32 *pnWidth, uint32 *pnHeight );
ชื่อ | ประเภท | คำอธิบาย |
iImage | int | แฮนเดิลรูปภาพที่ต้องการรับขนาดของรูป |
pnWidth | uint32 * | จะคืนค่าความกว้างของรูปภาพ |
pnHeight | uint32 * | จะคืนค่าความสูงของรูปภาพ |
รับขนาดของแฮนเดิลรูปภาพของ Steam
จะต้องเรียกฟังก์ชันนี้ก่อนที่จะเรียก
GetImageRGBA ขึ้นมา เพื่อสร้างบัฟเฟอร์ที่มีขนาดเหมาะสม ซึ่งใช้บรรจุข้อมูลรูปภาพแบบ Raw เข้าไป
คืนค่า: bool
true เมื่อดำเนินการสำเร็จ ถ้าแฮนเดิลรูปภาพถูกต้องและป้อนค่าขนาดให้แล้ว มิฉะนั้นจะคืนค่า
falseดูข้อมูลเพิ่มเติมที่: ISteamFriends::GetSmallFriendAvatar,
ISteamFriends::GetMediumFriendAvatar,
ISteamFriends::GetLargeFriendAvatar,
ISteamUserStats::GetAchievementIconGetIPCCallCount
uint32 GetIPCCallCount();
จะคืนค่าของจำนวนการเรียก IPC ที่เกิดขึ้น โดยจะเริ่มนับตั้งแต่การเรียกฟังก์ชันนี้ครั้งล่าสุด
ใช้สำหรับการดีบักเชิงประสิทธิภาพ เพื่อให้คุณสามารถกำหนดจำนวนการเรียก IPC (การสื่อสารระหว่างกระบวนการ) ที่เกมของคุณสามารถดำเนินการต่อเฟรมได้
เนื่องจากทุกครั้งที่มีการเรียก IPC อย่างน้อยจะเป็นการเปลี่ยนบริบทของเธรด หากไม่ใช่การเปลี่ยนบริบทของกระบวนการ ดังนั้นคุณจึงควรควบคุมอัตราความถี่ในการดำเนินการ
คืนค่า: uint32GetIPCountry
const char * GetIPCountry();
จะคืนค่ารหัสประเทศที่ไคลเอนต์กำลังใช้งานอยู่ ในรูปแบบ ISO 3166-1-alpha-2 ที่มี 2 หลัก
เช่น "US" หรือ "UK"
โดยจะเป็นการเรียกดูผ่านทางฐานข้อมูลที่บันทึก IP เชื่อมโยงกับสถานที่
คืนค่า: const char *
GetSecondsSinceAppActive
uint32 GetSecondsSinceAppActive();
จะคืนค่าจำนวนของวินาทีหลังจากที่แอปพลิเคชันทำงาน
คืนค่า: uint32GetSecondsSinceComputerActive
uint32 GetSecondsSinceComputerActive();
จะคืนค่าจำนวนวินาทีหลังจากที่ผู้ใช้ได้เคลื่อนเมาส์ครั้งล่าสุด
คืนค่า: uint32GetServerRealTime
uint32 GetServerRealTime();
จะคืนค่าเวลาของเซิร์ฟเวอร์ของ Steam โดยจะอยู่ในรูปแบบช่วงเวลาของ Unix (จำนวนวินาที นับจากวันที่ 1 มกราคม 1970 UTC)
คืนค่า: uint32GetSteamUILanguage
const char * GetSteamUILanguage();
จะคืนค่าภาษาที่ไคลเอนต์ Steam กำลังใช้งานอยู่
คุณอาจต้องการใช้
ISteamApps::GetCurrentGameLanguage แทน เพราะฟังก์ชันนี้ควรใช้ในกรณีพิเศษมาก ๆ เท่านั้น
หากต้องการทราบรายการภาษาทั้งหมด โปรดดูที่
ภาษาที่รองรับคืนค่า: const char *
ดูข้อมูลเพิ่มเติมที่: ISteamApps::GetCurrentGameLanguage,
ISteamApps::GetAvailableGameLanguagesIsAPICallCompleted
bool IsAPICallCompleted( SteamAPICall_t hSteamAPICall, bool *pbFailed );
ชื่อ | ประเภท | คำอธิบาย |
hSteamAPICall | SteamAPICall_t | แฮนเดิลของการเรียก API ที่จะตรวจสอบ |
pbFailed | bool * | จะคืนค่าผลการเรียก API ว่า ประสบกับความล้มเหลว (true) หรือไม่ (false) |
ใช้ตรวจสอบดูว่าการเรียก API เสร็จสมบูรณ์หรือไม่ มีไว้ให้สำหรับส่วนแบ็กเอนด์ของแรปเปอร์ CallResult
โดยทั่วไปแล้วไม่แนะนำให้ใช้งานคำสั่งนี้ด้วยตนเอง
คืนค่า: bool
true หากการเรียก API ถูกต้องและเสร็จสมบูรณ์ มิฉะนั้นจะคืนค่า
falseดูข้อมูลเพิ่มเติมที่: GetAPICallResult,
GetAPICallFailureReasonIsOverlayEnabled
bool IsOverlayEnabled();
ใช้ตรวจสอบว่า
โอเวอร์เลย์ Steam กำลังทำงานอยู่ และผู้ใช้สามารถเข้าถึงโอเวอร์เลย์ได้หรือไม่
กระบวนการโอเวอร์เลย์อาจจะต้องใช้เวลาสักครู่หนึ่งจึงจะเริ่มและเชื่อมต่อกับกระบวนการของเกม เพราะฉะนั้นฟังก์ชันนี้จะคืนค่า false ในตอนแรก ขณะที่กำลังโหลดโอเวอร์เลย์
คืนค่า: bool
IsSteamChinaLauncher
bool IsSteamChinaLauncher();
จะคืนค่าว่าโปรแกรมเริ่มที่ใช้อยู่ในปัจจุบันเป็นโปรแกรมเริ่ม Steam China หรือไม่ คุณสามารถทำให้ไคลเอนต์ทำงานเป็นโปรแกรมเริ่ม Steam China ได้โดยเพิ่ม -dev -steamchina ลงในบรรทัดคำสั่งเมื่อใช้งาน Steam
InitFilterText
bool InitFilterText();
จะเริ่มต้นการกรองข้อความ การโหลดพจนานุกรมสำหรับภาษาที่เกมใช้อยู่
ผู้ใช้สามารถปรับแต่งการทำงานของตัวกรองข้อความได้ใน
การปรับแต่งบัญชี Steam ของตน
คืนค่า: bool
true หากการเริ่มต้นใช้งานประสบความสำเร็จ จะคืนค่า
false หากไม่มีการกรองให้ใช้กับภาษาของเกม ในกรณีดังกล่าว
FilterText() จะทำหน้าที่เป็นพาสทรู
ดูข้อมูลเพิ่มเติมที่: FilterTextFilterText
int FilterText( ETextFilteringContext eContext, CSteamID sourceSteamID, const char *pchInputMessage, char *pchOutFilteredText, uint32 nByteSizeOutFilteredText );
ชื่อ | ประเภท | คำอธิบาย |
eContext | ETextFilteringContext | ประเภทเนื้อหาในสตริงอินพุต |
sourceSteamID | CSteamID | Steam ID ซึ่งเป็นแหล่งที่มาของสตริงอินพุต (เช่น ผู้เล่นที่มีชื่อดังกล่าว หรือผู้ที่พูดในข้อความแช็ตดังกล่าว) |
pchInputText | const char* | สตริงอินพุตที่ควรกรอง ซึ่งอาจเป็น ASCII หรือ UTF-8 |
pchOutFilteredText | char* | ตำแหน่งที่จะวางเอาต์พุต แม้ว่าจะไม่มีการกรองก็ตาม |
nByteSizeOutFilteredText | uint32 | ขนาด (ในหน่วยไบต์) ของ pchOutFilteredText อย่างน้อยที่สุดควรเท่ากับ strlen(pchInputText)+1 |
ตัวกรองที่ให้ข้อความอินพุตและบรรจุผลลัพธ์ที่กรองแล้วลงใน pchOutFilteredText โดยจะปรับใช้การกรองที่กฎหมายกำหนดไว้เสมอ แต่อาจดำเนินการกรองเพิ่มเติมได้ โดยขึ้นอยู่กับเนื้อหาและการตั้งค่าของผู้ใช้
คืนค่า: int
จะคืนค่าจำนวนตัวอักขระ (ไม่ใช่ไบต์) ที่กรองแล้ว
ดูข้อมูลเพิ่มเติมที่: InitFilterTextIsSteamInBigPictureMode
bool IsSteamInBigPictureMode();
ใช้ตรวจสอบดูว่า Steam และโอเวอร์เลย์ Steam กำลังทำงานอยู่ในโหมด Big Picture หรือไม่
Games must be launched through the Steam client to enable the Big Picture overlay.
During development, a game can be added as a non-steam game to the developer's library to test this feature.
คืนค่า: bool
true ถ้าโอเวอร์เลย์ Big Picture พร้อมใช้งาน มิฉะนั้นจะคืนค่า
falseทั้งนี้จะคืนค่า
false เสมอถ้าแอปของคุณไม่ใช่
ประเภทแอปพลิเคชันที่เป็น "เกม"
IsSteamRunningInVR
bool IsSteamRunningInVR();
ใช้ตรวจสอบดูว่า Steam กำลังทำงานอยู่ในโหมด VR หรือไม่
คืนค่า: bool
true ถ้าตัว Steam เองใช้งานในโหมด VR มิฉะนั้นจะคืนค่า
falseIsVRHeadsetStreamingEnabled
bool IsVRHeadsetStreamingEnabled();
Checks if the HMD view is being streamed via Steam Remote Play.
คืนค่า: bool
true หากเปิดใช้งาน VR ไว้ และขณะนี้กำลังสตรีมมุมมอง HMD อยู่ มิฉะนั้นจะคืนค่า
falseดูข้อมูลเพิ่มเติมที่: SetVRHeadsetStreamingEnabledIsSteamRunningOnSteamDeck
bool IsSteamRunningOnSteamDeck();
ใช้ตรวจสอบว่าอุปกรณ์ Steam Deck กำลังใช้งาน Steam อยู่หรือไม่
คืนค่า: bool
true หากอุปกรณ์ Steam Deck กำลังใช้งาน Steam อยู่ มิฉะนั้นจะคืนค่า
falseSetOverlayNotificationInset
void SetOverlayNotificationInset( int nHorizontalInset, int nVerticalInset );
ชื่อ | ประเภท | คำอธิบาย |
nHorizontalInset | int | ระยะทางแนวนอน (ซ้าย-ขวา) จากมุมจอ ในหน่วยพิกเซล |
nVerticalInset | int | ระยะทางแนวตั้ง (บน-ล่าง) จากมุมจอ ในหน่วยพิกเซล |
ใช้ตั้งค่าตำแหน่งการแจ้งเตือนของโอเวอร์เลย์ที่นับมาจากมุมจอ โดยกำหนดด้วย
SetOverlayNotificationPositionค่า (0, 0) จะรีเซ็ตตำแหน่งกลับไปอยู่ที่มุมจอ
ตำแหน่งดังกล่าวนี้เป็นตำแหน่งที่ใช้เฉพาะในแต่ละเกม และจะรีเซ็ตในทุกครั้งที่เรียกเปิดเกม
SetOverlayNotificationPosition
void SetOverlayNotificationPosition( ENotificationPosition eNotificationPosition );
ใช้ตั้งค่าว่าจะให้แสดงป็อปอัปการแจ้งเตือนของโอเวอร์เลย์ Steam ที่มุมไหน
นอกกจากนี้คุณยังสามารถตั้งค่าระยะทางจากมุมที่ระบุไว้ได้ด้วย โดยใช้
SetOverlayNotificationInsetตำแหน่งดังกล่าวนี้เป็นตำแหน่งที่ใช้เฉพาะในแต่ละเกม และจะรีเซ็ตในทุกครั้งที่เรียกเปิดเกม
SetVRHeadsetStreamingEnabled
void SetVRHeadsetStreamingEnabled( bool bEnabled );
ชื่อ | ประเภท | คำอธิบาย |
bEnabled | bool | กำหนดมุมมอง HMD ใน VR ให้เป็น "เปิด" (true) หรือ "ปิด" (false) |
ใช้ตั้งค่าว่าจะสตรีมเนื้อหา HMD ผ่านทางการสตรีมโดยอาศัย Steam Remote Play หรือไม่
หากเปิดใช้งาน ก็จะสตรีมฉากที่อยู่ในเครื่องสวมศีรษะ HMD และจะไม่อนุญาตให้รับอินพุตระยะไกล มิฉะนั้น หากปิดการใช้งานไว้ ก็จะสตรีมหน้าต่างแอปพลิเคชันแทน และจะอนุญาตให้รับอินพุตระยะไกลได้ ค่าเริ่มต้นสำหรับเกม VR คือ "เปิดใช้งาน" ยกเว้นว่า "VRHeadsetStreaming" "0" อยู่ในข้อมูลแอปแบบขยายของเกม
โดยคำสั่งนี้จะเป็นประโยชน์ต่อเกมที่ใช้ระบบการเล่นแบบผู้เล่นหลายคนแบบอสมมาตร
ดูข้อมูลเพิ่มเติมที่: IsVRHeadsetStreamingEnabledSetWarningMessageHook
void SetWarningMessageHook( SteamAPIWarningMessageHook_t pFunction );
ชื่อ | ประเภท | คำอธิบาย |
pFunction | SteamAPIWarningMessageHook_t | พอยน์เตอร์ฟังก์ชันที่ชี้ไปยังฟังก์ชันคอลแบ็ก |
จะตั้งค่าฮุคข้อความเตือนให้รับข้อความคำเตือนและข้อมูลของ SteamAPI ในฟังก์ชันคอลแบ็ก
ต้นแบบฟังก์ชันจะต้องตรงกับคำนิยามใน SteamAPIWarningMessageHook_t ซึ่งรวมถึงลิงเกจ Extern "C" และระเบียบในการเรียก __cdecl
'int nSeverity' คือระดับความรุนแรง โดยให้ใช้ 0 สำหรับข้อความ และใช้ 1 สำหรับคำเตือน หากคุณเรียกใช้ผ่านเครื่องมือการดีบักอย่างเดียว จะมีการส่งเฉพาะคำเตือนเท่านั้น ถ้าคุณเพิ่ม -debug_steamapi ไปยังบรรทัดคำสั่ง จะมีการส่งข้อความแจ้งข้อมูลด้วยเช่นกัน
'const char * pchDebugText' คือเนื้อหาของข้อความ
การคอลแบ็กจะเกิดขึ้นโดยตรงหลังจากเรียกฟังก์ชันของ API ที่สร้างคำเตือนหรือข้อความ
เมื่อส่ง NULL ให้ จะเป็นการเลิกฮุค
ตัวอย่าง:extern "C" void __cdecl SteamAPIDebugTextHook( int nSeverity, const char *pchDebugText )
{
::OutputDebugString( pchDebugText );
if ( nSeverity >= 1 )
{
// ตำแหน่งที่จะวางจุดพักเพื่อตรวจจับข้อผิดพลาดของ API
int x = 3;
x = x;
}
}
void EnableWarningMessageHook()
{
SteamUtils()->SetWarningMessageHook( &SteamAPIDebugTextHook );
}
ShowGamepadTextInput
bool ShowGamepadTextInput( EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, const char *pchDescription, uint32 unCharMax, const char *pchExistingText );
ชื่อ | ประเภท | คำอธิบาย |
eInputMode | EGamepadTextInputMode | ใช้เลือกโหมดอินพุตที่จะใช้ ว่าจะให้เป็นการอินพุตแบบธรรมดา หรือแบบรหัสผ่าน (ซึ่งจะซ่อนข้อความ) |
eLineInputMode | EGamepadTextInputLineMode | ใช้ควบคุมว่าจะใช้อินพุตแบบบรรทัดเดียวหรือหลายบรรทัด |
pchDescription | const char * | ใช้ตั้งค่าคำอธิบายที่จะแจ้งให้ผู้ใช้ทราบถึงจุดประสงค์ของหน้าต่างป้อนข้อมูล |
unCharMax | uint32 | จำนวนอักขระสูงสุดที่ผู้ใช้สามารถป้อนเข้าไปได้ |
pchExistingText | const char * | ใช้ตั้งค่าข้อความที่ปรากฏอยู่แล้ว ซึ่งผู้ใช้สามารถแก้ไขได้ |
เปิดใช้งานไดอะล็อกสำหรับป้อนข้อความของ Big Picture ที่จะรองรับเฉพาะอินพุตจากเกมแพดเท่านั้น
คืนค่า: bool
true ถ้ากำลังใช้งานโอเวอร์เลย์ Big Picture อยู่ มิฉะนั้นจะคืนค่า
falseดูข้อมูลเพิ่มเติมที่: GetEnteredGamepadTextLength,
GetEnteredGamepadTextInputShowFloatingGamepadTextInput
bool ShowFloatingGamepadTextInput( EFloatingGamepadTextInputMode eKeyboardMode, int nTextFieldXPosition, int nTextFieldYPosition, int nTextFieldWidth, int nTextFieldHeight );
ชื่อ | ประเภท | คำอธิบาย |
eKeyboardMode | EFloatingGamepadTextInputMode | เลือกประเภทคีย์บอร์ดที่จะใช้ |
nTextFieldXPosition | int | X coordinate of text field which shouldn't be obscured by the floating keyboard |
nTextFieldYPosition | int | Y coordinate of text field which shouldn't be obscured by the floating keyboard |
nTextFieldWidth | int | width of text field which shouldn't be obscured by the floating keyboard |
nTextFieldHeight | int | height of text field which shouldn't be obscured by the floating keyboard |
จะแสดงคีย์บอร์ดแบบลอยทับบนเนื้อหาเกมและส่งแป้นพิมพ์คีย์บอร์ดของระบบปฏิบัติการไปยังเกมโดยตรง
ตำแหน่งช่องข้อความจะระบุเป็นพิกเซลที่สัมพันธ์กับตำแหน่งตั้งต้นของหน้าต่างเกม และใช้เพื่อวางตำแหน่งคีย์บอร์ดแบบลอยในลักษณะที่ไม่ปิดทับช่องข้อความ
คืนค่า: bool
true ถ้าคีย์บอร์ดแบบลอยแสดงให้เห็น มิฉะนั้นจะคืนค่า
falseดูข้อมูลเพิ่มเติมที่: FloatingGamepadTextInputDismissed_tStartVRDashboard
void StartVRDashboard();
ใช้เพื่อขอให้ Steam สร้างและเรนเดอร์แดชบอร์ดของ OpenVR
SetGameLauncherMode
void SetGameLauncherMode( bool bLauncherMode);
ชื่อ | ประเภท | คำอธิบาย |
bLauncherMode | bool | แจ้งว่าโปรแกรมเริ่มทำงานอยู่หรือไม่ |
ในโปรแกรมเริ่มเกมที่ไม่รองรับคอนโทรลเลอร์ คุณสามารถเรียกใช้คำสั่งนี้เพื่อให้ Steam Input แปลอินพุตของคอนโทรลเลอร์ไปเป็นอินพุตของเมาส์/คีย์บอร์ดเพื่อนำทางโปรแกรมเริ่ม
คอลแบ็ก
These are callbacks which can be fired by calling
SteamAPI_RunCallbacks. Many of these will be fired directly in response to the member functions of
ISteamUtils
.
CheckFileSignature_t
CallResult for
CheckFileSignature.
ฟังก์ชันที่เกี่ยวข้อง: CheckFileSignatureGamepadTextInputDismissed_t
Called when the big picture gamepad text input has been closed.
ชื่อ | ประเภท | คำอธิบาย |
m_bSubmitted | bool | คืนค่า true ถ้าผู้ใช้กรอกและยอมรับข้อความแล้ว (เรียก GetEnteredGamepadTextInput เพื่อรับข้อความ), คืนค่า false ถ้าอินพุตได้รับการยกเลิก |
m_unSubmittedText | uint32 | หากส่งข้อความไปแล้วจะมีความยาวในหน่วยไบต์ |
FloatingGamepadTextInputDismissed_t
Called when the floating keyboard invoked from
ShowFloatingGamepadTextInput has been closed.
IPCountry_t
Called when the country of the user changed. The country should be updated with
GetIPCountry.
This callback has no fields.
LowBatteryPower_t
Called when running on a laptop and less than 10 minutes of battery is left, and then fires then every minute afterwards.
ชื่อ | ประเภท | คำอธิบาย |
m_nMinutesBatteryLeft | uint8 | ปริมาณแบตเตอรี่ที่เหลืออยู่โดยประมาณในหน่วยนาที |
SteamAPICallCompleted_t
Called when a SteamAPICall_t has completed (or failed)
ชื่อ | ประเภท | คำอธิบาย |
m_hAsyncCall | SteamAPICall_t | แฮนเดิลของการเรียก Steam API ที่เสร็จสมบูรณ์ |
m_iCallback | int | นี่คือค่าคงที่ k_iCallback ที่จะระบุคอลแบ็กที่เสร็จสมบูรณ์แล้วโดยไม่ซ้ำกัน |
m_cubParam | uint32 | ขนาดของการคอลแบ็กที่เสร็จสมบูรณ์แล้วในหน่วยไบต์ |
AppResumingFromSuspend_t
Sent after the device returns from sleep/suspend mode.
This callback has no fields.
SteamShutdown_t
Called when Steam wants to shutdown.
ฟังก์ชันคอลแบ็กนี้จะไม่มีฟีลด์
อีนิวเมอเรต (Enum)
These are enums which are defined for use with ISteamUtils.
ECheckFileSignature
The result of a call to
CheckFileSignature ชื่อ | ค่า | คำอธิบาย |
k_ECheckFileSignatureInvalidSignature | 0 | |
k_ECheckFileSignatureValidSignature | 1 | |
k_ECheckFileSignatureFileNotFound | 2 | |
k_ECheckFileSignatureNoSignaturesFoundForThisApp | 3 | |
k_ECheckFileSignatureNoSignaturesFoundForThisFile | 4 | |
EGamepadTextInputLineMode
Controls number of allowed lines for the Big Picture gamepad text entry
ชื่อ | ค่า | คำอธิบาย |
k_EGamepadTextInputLineModeSingleLine | 0 | |
k_EGamepadTextInputLineModeMultipleLines | 1 | |
EGamepadTextInputMode
Input modes for the Big Picture gamepad text entry
ชื่อ | ค่า | คำอธิบาย |
k_EGamepadTextInputModeNormal | 0 | |
k_EGamepadTextInputModePassword | 1 | |
EFloatingGamepadTextInputMode
Controls the mode for the floating keyboard
ชื่อ | ค่า | คำอธิบาย |
k_EFloatingGamepadTextInputModeModeSingleLine | 0 | Enter จะปิดคีย์บอร์ด |
k_EFloatingGamepadTextInputModeModeMultipleLines | 1 | ผู้ใช้จะต้องปิดคีย์บอร์ดให้ชัดเจน |
k_EFloatingGamepadTextInputModeModeEmail | 2 | คีย์บอร์ดจะแสดงในโหมดพิเศษที่ช่วยให้เขียนอีเมลได้ง่ายขึ้น |
k_EFloatingGamepadTextInputModeModeNumeric | 3 | แสดงให้เห็นคีย์แพดตัวเลข |
ESteamAPICallFailure
Steam API call failure results returned by
GetAPICallFailureReason.
ชื่อ | ค่า | คำอธิบาย |
k_ESteamAPICallFailureNone | -1 | ไม่ล้มเหลว |
k_ESteamAPICallFailureSteamGone | 0 | กระบวนการภายใน Steam หยุดตอบสนองแล้ว โดยอาจเกิดจากการบังคับให้ปิดหรือหยุดดำเนินการเอง |
k_ESteamAPICallFailureNetworkFailure | 1 | การเชื่อมต่อเครือข่ายไปยังเซิร์ฟเวอร์ Steam ขาดหายหรือเสียหายไปแล้ว ในขณะเดียวกันจะมีการส่งคอลแบ็ก SteamServersDisconnected_t และจะส่งคอลแบ็ก SteamServersConnected_t เมื่อไคลเอนต์สามารถติดต่อกับเซิร์ฟเวอร์ Steam ได้อีกครั้ง |
k_ESteamAPICallFailureInvalidHandle | 2 | ไม่มีแฮนเดิล SteamAPICall_t ที่ส่งเข้าไปอีกต่อไปแล้ว |
k_ESteamAPICallFailureMismatchedCallback | 3 | มีการเรียก GetAPICallResult ด้วยคอลแบ็กที่ผิดประเภทในการเรียก API ดังกล่าวนี้ |
ค่าคงที่
These are constants which are defined for use with ISteamUtils.
ชื่อ | ประเภท | ค่า | คำอธิบาย |
STEAMUTILS_INTERFACE_VERSION | const char * | "SteamUtils009" | |