前言
此模块是用于语言本地化,可以让开发出的游戏走向国际化,接下就来看看Gameframework是如何实现语言切换的。
1.本地化原理
首先看一下作者提供的Star Force工程里,可以看到有两个地方出现了解析本地化配置文件,在游戏最先启动流程里(ProcedureLaunch)还有一个是游戏预制体加载流程里(ProcedurePreload),如图所示:


函数目的都是解析xml文件然后按照键值对的形式添加到Dictionary<string,string>,它会调用LocalizationComponent组件下ParseDictionary或者LoadDictionary去解析文件,LocalizationComponent下有默认本地文件解析助手,默认提供的解析文件助手支持的格式是回车表示分组,Table按键表示Key和Value分开,具体的判断标识如下:
private static readonly string[] RowSplitSeparator = new string[] { "\r\n", "\r", "\n" };
private static readonly string[] ColumnSplitSeparator = new string[] { "\t" };
//资源格式
key1 value1
key2 value2

本文深入解析游戏框架Gameframework的语言本地化模块,阐述其如何通过解析不同格式的配置文件(如XML)实现游戏的多语言支持,并探讨本地化配置文件解析步骤的合理性与资源热更新的关系。


被折叠的 条评论
为什么被折叠?



