Chat相关表现&逻辑分离,新增ChatController
新增情绪机器人逻辑, 新增情绪切换视频逻辑
This commit is contained in:
@@ -145,18 +145,60 @@ export default class LanguageUtils {
|
||||
return text;
|
||||
}
|
||||
|
||||
public static getTextWithParams(
|
||||
public static getTextByLanguage(
|
||||
key: string,
|
||||
params: { [key: string]: any },
|
||||
language: LanguageType = LanguageType.EN,
|
||||
defaultText: string = ""
|
||||
): string {
|
||||
let text = this.getText(key, defaultText);
|
||||
|
||||
for (let paramKey in params) {
|
||||
const regex = new RegExp(`{${paramKey}}`, "g");
|
||||
text = text.replace(regex, params[paramKey].toString());
|
||||
if (!this.isInitialized) {
|
||||
this.init();
|
||||
}
|
||||
|
||||
if (!key) {
|
||||
return defaultText;
|
||||
}
|
||||
|
||||
if (this.languageCache.has(key)) {
|
||||
return this.languageCache.get(key);
|
||||
}
|
||||
|
||||
if (!ConfigManager.tables || !ConfigManager.tables.TbLanguage) {
|
||||
console.warn("Language table not loaded yet");
|
||||
return defaultText || key;
|
||||
}
|
||||
|
||||
const languageData = ConfigManager.tables.TbLanguage.get(key);
|
||||
if (!languageData) {
|
||||
console.warn(`Language key not found: ${key}`);
|
||||
return defaultText || key;
|
||||
}
|
||||
|
||||
let text: string = "";
|
||||
switch (language) {
|
||||
case LanguageType.EN:
|
||||
text = languageData.languageEn;
|
||||
break;
|
||||
case LanguageType.CN:
|
||||
text = languageData.languageCn;
|
||||
break;
|
||||
case LanguageType.HI:
|
||||
text = languageData.languageHi;
|
||||
break;
|
||||
case LanguageType.FR:
|
||||
text = languageData.languageFr;
|
||||
break;
|
||||
case LanguageType.DE:
|
||||
text = languageData.languageDe;
|
||||
break;
|
||||
default:
|
||||
text = languageData.languageEn;
|
||||
}
|
||||
|
||||
if (!text || text.length === 0) {
|
||||
text = languageData.languageEn || defaultText || key;
|
||||
}
|
||||
|
||||
this.languageCache.set(key, text);
|
||||
return text;
|
||||
}
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@ export enum InnerMsgCode {
|
||||
BgVideo_End, //背景视频播放完毕
|
||||
|
||||
Chat_DialogRefresh,
|
||||
Chat_EmotionInitialized,
|
||||
SimplePlayVide,
|
||||
LanguageChange,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user