Bridge 是 VoyageForge 的 Unity 通信连接模块,用来统一连接本地与远程服务、客户端与服务端之间的配置与调用入口。
它围绕“环境 + 端点”组织 API 地址,把不同环境下的 Web API、Socket 或其他远程入口收拢到同一套配置体系里,并通过编辑器面板提供可视化维护能力。
Runtime/Scripts/IBridgeConfig.csBridge 运行时读取配置的访问接口。Runtime/Scripts/IBridgeConfigProvider.csBridge 配置提供器接口,允许项目按需决定配置的加载方式。Runtime/Scripts/BridgeClient.csBridge 的运行时入口,负责注册提供器、初始化配置并提供基础请求扩展示例。Runtime/Scripts/ResourcesBridgeConfigProvider.cs默认的Resources方案,会在所有 Resources 目录中搜索第一份BridgeConfigAsset。Runtime/Scripts/Config/BridgeConfigAsset.csBridge 的核心配置资源,负责环境与端点地址管理。Editor/Scripts/BridgeSettingsProvider.csBridge 的 Project Settings 面板实现,负责展示配置 SO 引用、环境列表和端点编辑界面。Editor/Scripts/BridgeSettings.csBridge 的编辑器配置,负责把当前项目使用的BridgeConfigAsset引用保存到ProjectSettings/BridgeSettings.asset。Editor/Scripts/BridgeEnvironmentMenu.cs编辑器菜单与环境快速切换窗口。Editor/Scripts/BridgeProjectSettingsView.uxmlProject Settings 面板的 UXML 布局。Editor/Styles/BridgeProjectSettings.ussProject Settings 面板的 USS 样式。
- 新建配置时默认提供
dev环境。 - 用户可以自由新增环境。
dev作为保底环境会始终保留,不能删除。dev会始终排在环境列表第一项,方便快速切换和兜底排查。
- 每个环境可以维护多条端点配置。
- 端点通过键值对区分,例如
default、webapi、socket。 - 如果同一主机只是端口不同,推荐直接用不同端点键来区分。
通过菜单打开:
VoyageForge/Bridge/Bridge Config
通过菜单打开:
VoyageForge/Bridge/Bridge Environment/选择当前环境
在调用 BridgeClient.Init() 之前,先注册配置来源:
BridgeClient.SetConfigProvider(new YourConfigProvider())BridgeClient.SetConfigProvider<YourConfigProvider>()- 如果你已经自己拿到了配置对象,也可以直接调用
BridgeClient.SetConfig(yourConfig)
如果你希望继续使用 Resources 方案,可以直接注册:
BridgeClient.SetConfigProvider<ResourcesBridgeConfigProvider>()
- 使用字符串环境键与端点键管理远程服务入口,避免把地址结构写死在代码里。
- 配置面板基于 UI Toolkit、UXML、USS 实现,适合在 Unity 编辑器内集中维护。
- 配置资源会优先全项目搜索;若不存在,则自动创建到
Assets/Resources/VoyageForge/Config/BridgeConfig.asset。 - 无论用户如何新增或删除环境,
dev都会被强制保留并保持在第一位。 - 如果项目后续扩展新的服务类型,优先新增端点键,而不是继续堆叠专用字段。
- 如果需要增加新的配置来源,实现
IBridgeConfigProvider即可接入。 - 建议项目中只保留一份主配置资源,避免搜索到多份配置时产生歧义。