环境 API
环境是指 Unity Gaming Services(Unity 游戏服务)的逻辑分区,其中包含与项目关联的数据。
本节重点介绍 Core 包中的 Environments API。Environments API 的访问点是通过 EnvironmentsApi
单例。
namespace Unity.Services.Core.Environments.Editor
{
public class EnvironmentsApi
{
public static IEnvironmentsApi Instance { get; }
}
}
环境选择器
Environment Selector(环境选择器)为所有支持的服务设置当前环境。
要在 Unity 编辑器中选择环境,请执行以下操作:
- 转到 Edit(编辑)> Project Settings(项目设置)> Services(服务)> Environments(环境)。
- 在 **Editor Environment(编辑器环境)**字段中,选择要使用的环境。
您可以在 Unity Cloud Dashboard 中管理环境,例如添加或删除环境。
活跃环境
您可以通过名称或 GUID 访问活跃环境。当环境发生变化时,您可以通过 PropertyChanged
事件收到通知。
namespace Unity.Services.Core.Environments.Editor
{
public class EnvironmentsApi
{
public string ActiveEnvironmentName { get; set; }
public System.Nullable<System.Guid> ActiveEnvironmentId { get; }
public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
}
}
环境管理
使用 EnvironmentsApi
可以刷新环境列表,获取所有环境,设置活跃环境,以及远程验证活跃环境是否仍然存在。
namespace Unity.Services.Core.Editor.Environments
{
public class EnvironmentsApi
{
public System.Collections.Generic.IReadOnlyCollection<EnvironmentInfo> Environments { get; }
public System.Threading.Tasks.Task RefreshAsync();
public void SetActiveEnvironment(EnvironmentInfo environment);
public System.Threading.Tasks.Task<ValidationResult> ValidateEnvironmentAsync();
}
}
构建和运行时
在构建和运行时,所选环境使用优先级回退机制来选择正确的环境:
InitializationOptions
>> Environment Selector(环境选择器)>> 默认环境 ("production"
)。
InitializationOptions
的使用方式如 Services Core SDK 初始化示例中所示。
UI 组件
EnvironmentView
组件会显示当前活跃环境并允许快速访问全局 Environment Selector(环境选择器)。
以下示例显示了如何使用 UXML 将此组件添加到工具栏中:
<ui:UXML
xmlns:uie="UnityEditor.UIElements"
xmlns:coreUi="Unity.Services.Core.Editor.Environments.UI"
editor-extension-mode="True">
<uie:Toolbar>
<coreUi:EnvironmentView />
</uie:Toolbar>
</ui:UXML>