Chat相关表现&逻辑分离,新增ChatController

新增情绪机器人逻辑,
新增情绪切换视频逻辑
This commit is contained in:
2025-08-26 19:41:13 +08:00
parent 58bac34580
commit 1507fff7c5
25 changed files with 2763 additions and 6933 deletions
+49 -7
View File
@@ -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,
}