Utils (工具)

访问一系列杂项工具函数的接口。

1. 获取AppId

pub fn app_id(&self) -> AppId

获取当前进程的 App ID。

返回: AppId

2. 获取国家代码

pub fn ip_country(&self) -> String

根据用户的 IP 返回其所在国家的代码。 如“US”、“HK”或“UK”。

通过 IP 地址位置数据库来查找。

返回: String

返回客户端正在运行的 2 位 ISO 3166-1-alpha-2 格式的国家代码。

3. 获取UI语言

pub fn ui_language(&self) -> String

返回 Steam 客户端正在运行的语言。

此函数仅在少数特殊情况下使用。您也许需要转为调用 Apps::current_game_language。

参见支持的语言,查看完整语言列表。

返回: String

另见: ISteamApps::GetCurrentGameLanguage、ISteamApps::GetAvailableGameLanguages

4. 获取服务器时间

pub fn get_server_real_time(&self) -> u32

以 Unix 时间戳格式返回 Steam 服务器时间。 (自 1970 年 1 月 1 日起的秒数)。

返回: u32

5. 设置通知浮层位置

pub fn set_overlay_notification_position(&self, position: NotificationPosition)

设置 Steam 覆盖层弹出窗口在屏幕上的显示位置。

6. 设置警告回调

pub fn set_warning_callback<F>(&self, cb: F)
where
    F: Fn(i32, &CStr) + Send + Sync + 'static

设置 Steam 警告回调,该回调用于发出警告消息。

传入的函数接受两个参数:严重级别(0 = 信息,1 = 警告)和消息本身。

有关更多信息,请参见 Steamworks 的 调试页面

7. 获取手柄文字输入

pub fn get_entered_gamepad_text_input(
    &self,
    dismissed_data: &GamepadTextInputDismissed
) -> Option<String>

从大屏幕浮层获取游戏手柄的文本输入。

必须在 show_gamepad_text_input 回调内调用。如果用户提交了文本,则返回 Some(String),否则返回 None

8. 判断是否在Steam Deck 设备上运行

pub fn is_steam_running_on_steam_deck(&self) -> bool

检查 Steam 是否在 Steam Deck 设备上运行。

返回: bool

  • true, 表示 Steam 本身在 Steam Deck 设备上运行,否则返回 false

9. 激活手柄输入框

pub fn show_gamepad_text_input<F>(
    &self,
    input_mode: GamepadTextInputMode,
    input_line_mode: GamepadTextInputLineMode,
    description: &str,
    max_characters: u32,
    existing_text: Option<&str>,
    dismissed_cb: F
) -> bool
where
    F: FnMut(GamepadTextInputDismissed) + 'static + Send,

激活仅支持游戏手柄输入的大屏幕文本输入对话框。

返回: bool

  • true, 表示大屏幕叠加界面正在运行;否则返回 false

10. 打开浮动输入框

pub fn show_floating_gamepad_text_input<F>(
    &self,
    keyboard_mode: FloatingGamepadTextInputMode,
    x: i32,
    y: i32,
    width: i32,
    height: i32,
    dismissed_cb: F
) -> bool
where
    F: FnMut() + 'static + Send,

在游戏内容上打开一个浮动键盘并将操作系统键盘键直接发送到游戏。

文本字段位置以相对于游戏窗口原点的像素距离为单位指定,用于以不覆盖文本字段的方式定位浮动键盘。

返回: bool

  • true, 表示已显示浮动键盘,否则返回 false