Client (客户端)
访问steam客户端主入口点相关接口
提供了客户端对steamworks所有可用的API。
1. 基本用法
use steamworks::{Client};
let (client, single) = Client::init().unwrap();
通过这段代码获取客户端实例,client
就是客户端实例,接下来的所有方法都通过client实例调用。
在程序运行的目录下,必须有 steam_appid.txt 文件,里面保存了你所开发的steam应用id。如果你还没有申请,请使用 480。 |
除了 steam_appid.txt 文件外,steamworks-rs 库在程序运行的目录下还需要官方提供的api文件,路径为: target\<release-type>\build\steamworks-sys-<hash>\out |
2. 初始化
pub fn init() -> SIResult<(Client<ClientManager>, SingleClient<ClientManager>)>
尝试初始化steamworks api,并返回一个客户端来访问其余api。
每个程序应该只有一个实例。
异常
这些情况可能会发生异常:
-
Steam 客户端未运行。 需要有运行的 Steam 客户端才能提供各种 Steamworks 接口的实现。
-
Steam 客户端无法判定游戏的 App ID。 如果游戏没有通过steam运行,可以通过在当前工作目录中放置带有ID的
steam_appid.txt
来提供。或者,您可以使用Client::init_app(<app_id>)
强制指定应用ID。 -
您的应用程序运行的 OS 用户上下文,与 Steam 客户端并不相同,比如用户或管理员访问权限级别不同。
-
确定您在当前活跃的 Steam 帐户中拥有该 App ID 的许可。 您的游戏必须显示在您的 Steam 库中。
-
您的 AppID 未完全设置,如 发行状态:不可用,或缺失默认程序包。
3. 根据AppId初始化应用
pub fn init_app<ID: Into<AppId>>(
app_id: ID
) -> SIResult<(Client<ClientManager>, SingleClient<ClientManager>)>
尝试使用指定的app ID初始化Steamworks API,并返回一个客户端来访问其余api。
每个程序应该只有一个实例。
异常
这些情况可能会发生异常:
-
Steam 客户端未运行。 需要有运行的 Steam 客户端才能提供各种 Steamworks 接口的实现。
-
您的应用程序运行的 OS 用户上下文,与 Steam 客户端并不相同,比如用户或管理员访问权限级别不同。
-
确定您在当前活跃的 Steam 帐户中拥有该 App ID 的许可。 您的游戏必须显示在您的 Steam 库中。
-
您的 AppID 未完全设置,如 发行状态:不可用,或缺失默认程序包。
4. 注册回调
pub fn register_callback<C, F>(&self, f: F) -> CallbackHandle<Manager>
where
C: Callback,
F: FnMut(C) + 'static + Send
注册传递的函数作为给定类型的回调。
当接受到事件时,回调将在调用 run_callbacks
的线程上运行。
5. 获取应用接口
pub fn apps(&self) -> Apps<Manager>
返回一个访问 Steam 应用接口 的访问器。
6. 获取工具接口
pub fn utils(&self) -> Utils<Manager>
返回一个访问 Steam 工具接口 的访问器。
7. 获取匹配大厅接口
pub fn matchmaking(&self) -> Matchmaking<Manager>
返回一个访问 Steam 匹配大厅 接口的访问器。
8. 获取网络接口
pub fn networking(&self) -> Networking<Manager>
返回一个访问 Steam 网络接口 的访问器。
9. 获取好友接口
pub fn friends(&self) -> Friends<Manager>
返回一个访问 Steam 好友接口 的访问器。
10. 获取输入接口
pub fn input(&self) -> Input<Manager>
返回一个访问 Steam 输入接口 的访问器。
11. 获取用户接口
pub fn user(&self) -> User<Manager>
返回一个访问 Steam 用户接口 的访问器。
12. 获取用户统计接口
pub fn user_stats(&self) -> UserStats<Manager>
返回一个访问 Steam 用户统计接口 的访问器。
13. 获取远程畅玩接口
pub fn remote_play(&self) -> RemotePlay<Manager>
返回一个访问 Steam 远程畅玩接口 的访问器。
14. 获取远程存储接口
pub fn remote_storage(&self) -> RemoteStorage<Manager>
返回一个访问 Steam 远程存储接口 的访问器。
15. 获取创意工坊接口
pub fn ugc(&self) -> UGC<Manager>
返回一个访问 Steam UGC(Steam 创意工坊)接口 的访问器。
16. 获取网络消息接口
pub fn networking_messages(&self) -> NetworkingMessages<Manager>
访问 Steam 网络消息接口。
17. 获取网络sockets接口
pub fn networking_sockets(&self) -> NetworkingSockets<Manager>
访问 Steam 网络sockets接口。
18. 获取网络工具接口
pub fn networking_utils(&self) -> NetworkingUtils<Manager>
访问 Steam 网络工具接口。