unity3d - 如果没有 ID,您如何处理根据语言可能具有不同值的下拉菜单?
问题描述
我习惯于 web 开发,其中下拉列表有一个 ID 字段和文本。当文本可能因语言而变化时,是否有适当的方法来处理关联正确的下拉值?
例如。下拉菜单可能有英语和日语或英语和日本人。视当地方言而定。在网络世界中,我将拥有 ID 1 和 2,而文本无关紧要。有一些方法我可以看到绕过它,但希望有一种更清洁的方法。有时会在许多地方使用一些相当大的列表。
我看过一些本地化教程,但没有一个解决下拉菜单和本地化文本的问题。
我可以在创建下拉列表或执行几个查询(使用 Sqlite)时构建一个字典,但实际上不如只有一个与选项关联的唯一 ID 有效。
解决方案
我为我们的游戏这样做了。不漂亮,但它有效。
var index = 0;
MapDropdown.AddOptions(MapConfigs.Instance.Configs.Select((c, i) => {
if(c.Id == config.Id) {
index = i;
}
return new Dropdown.OptionData { text = c.Name };
}).ToList());
MapDropdown.value = index;
MapChanged (index);
MapDropdown.onValueChanged.AddListener (MapChanged);
推荐阅读
- rest - 200状态码可以作为POST请求的响应吗
- redis - 如何在网络上通过 ip 集群 redis
- java - 比较Java中列表映射中的每个对象
- svn - 通过本地托管的 readthedocs.org 服务器在 subversion 中构建 sphinx 文档
- go - 如何知道将安装哪个版本?如果我使用“go get ./...”来安装依赖项
- angular-material - CSS未应用于角度材质对话框
- java - 有没有办法从每行的数组中打印出不同数量的元素
- python - 如何在 Spark 的 Logistic 回归分类器中将多个列作为特征传递?
- python - Django:如何预取模型实例的相关信息。也许通过包装查询集?
- oauth-2.0 - oidc 中多个提供商的相同重定向 uri