diff --git a/Assets/ime_config.xml b/Assets/ime_config.xml
new file mode 100644
index 0000000..ef42fb8
--- /dev/null
+++ b/Assets/ime_config.xml
@@ -0,0 +1,506 @@
+
+
+
+ 微软拼音
+ MSPinyin
+ GFxIME_Ch_Simp_MSPinyin
+
+ Chinese (Simplified) - Microsoft Pinyin IME 3.0
+ MSPinyin IME 3.0
+ GFxIME_Ch_Simp_MSPinyin_3_0
+
+ Chinese (Simplified) - Microsoft Pinyin IME
+ MSPinyin IME
+ GFxIME_Ch_Simp_MSPinyin
+
+ Chinese (Simplified) - Microsoft Pinyin New Experience Input Style
+ MSPinyin IME
+ GFxIME_Ch_Simp_MSPinyin
+
+ Microsoft Pinyin SimpleFast
+ MSPinyin IME
+ GFxIME_Ch_Simp_MSPinyin
+
+ 中文(简体) - 微软拼音新体验输入风格
+ MSPinyin IME
+ GFxIME_Ch_Simp_MSPinyin
+
+ Chinese (Simplified) - NeiMa
+ NeiMa
+ GFxIME_NotSupported
+
+ Chinese (Simplified) - QuanPin
+ Quan Pin
+ GFxIME_Ch_Simp_QuanPin
+
+ Chinese (Simplified) - ShuangPin
+ Shuang Pin
+ GFxIME_Ch_Simp_ShuangPin
+
+ Chinese (Simplified) - US Keyboard
+ Chinese (Simplified)
+ GFxIME_Ch_Simp
+
+ Chinese (Simplified) - ZhengMa
+ ZhengMa
+ GFxIME_Ch_Simp_ZhengMa
+
+ Chinese Simplified QuanPin (version 6.0)
+ Quan Pin
+ GFxIME_Ch_Simp_QuanPin
+
+ 简体中文全拼(版本 6.0)
+ Quan Pin
+ GFxIME_Ch_Simp_QuanPin
+
+ Chinese Simplified ShuangPin (version 6.0)
+ Shuang Pin
+ GFxIME_Ch_Simp_ShuangPin
+
+ 简体中文双拼(版本 6.0)
+ Shuang Pin
+ GFxIME_Ch_Simp_ShuangPin
+
+ Chinese Simplified ZhengMa (version 6.0)
+ Zheng Ma
+ GFxIME_Ch_Simp_ZhengMa
+
+ 简体中文郑码(版本 6.0)
+ Zheng Ma
+ GFxIME_Ch_Simp_ZhengMa
+
+ Chinese (Simplified) - Microsoft Pinyin ABC Input Style
+ ABC
+ GFxIME_Ch_Simp_ABC
+
+ 中文(简体) - 微软拼音 ABC 输入风格
+ ABC
+ GFxIME_Ch_Simp_ABC
+
+ IMSC14.IME
+ Microsoft Pinyin IME 2010
+ GFxIME_Ch_Simp_MSPinyin1_2010
+
+ IMSC12li.IME
+ Microsoft Pinyin IME 2007
+ GFxIME_Ch_Simp_MSPinyin1_2010
+
+ IMSC40A.IME
+ Microsoft Pinyin IME 3.0
+ GFxIME_Ch_Simp_MSPinyin_3_0
+
+ pintlgnt.ime
+ Microsoft Pinyin IME 3.0
+ GFxIME_Ch_Simp_MSPinyin_3_0
+
+ winpy.ime
+ Quan Pin
+ GFxIME_Ch_Simp_QuanPin
+
+ winsp.ime
+ Shuang Pin
+ GFxIME_Ch_Simp_ShuangPin
+
+ winzm.ime
+ ZhengMa
+ GFxIME_Ch_Simp_ZhengMa
+
+ Google Pinyin
+ 谷歌拼音输入法
+ GFxIME_GooglePinyin
+
+ Google Pinyin
+ 谷歌拼音输入法 2
+ GFxIME_GooglePinyin
+
+ Google Pinyin
+ 谷歌拼音输入法 2.0
+ GFxIME_GooglePinyin
+
+ Google Pinyin
+ 中文 (简体) - 谷歌拼音输入法
+ GFxIME_GooglePinyin
+
+ QQPINYIN.IME
+ 中文 - QQ拼音输入法
+ GFxIME_Ch_Simp_QQPinyin
+
+ GOOGLEPINYIN2.IME
+ 中文 (简体) - 谷歌拼音输入法
+ GFxIME_GooglePinyin
+
+ GOOGLEPINYIN3.IME
+ 中文 (简体) - 谷歌拼音输入法
+ GFxIME_GooglePinyin
+
+ ARRAY.IME
+ ArrayCL
+ GFxIME_Ch_Trad_ArrayCL
+
+ IMSC14WR.IME
+ Microsoft Pinyin New Experience 2010
+ GFxIME_Ch_Simp_MSPinyin1_2010
+
+ IMSCE14WR.IME
+ Microsoft Pinyin Simple Fast 2010
+ GFxIME_Ch_Simp_MSPinyin1_2010
+
+ Sogou Pinyin
+ 搜狗拼音输入法
+ GFxIME_SogouPinyin
+
+ 搜狗拼音输入法
+ 搜狗拼音输入法
+ GFxIME_SogouPinyin
+
+ 搜狗输入法
+ 搜狗输入法
+ GFxIME_SogouPinyin
+
+ Sogou Pinyin IME
+ 中文(简体) - 搜狗拼音输入法
+ GFxIME_SogouPinyin
+
+ Sogou Pinyin
+ 中文 (简体) - 搜狗拼音输入法
+ GFxIME_SogouPinyin
+
+ SOGOUPY.IME
+ 中文 (简体) - 搜狗拼音输入法
+ GFxIME_SogouPinyin
+
+ 搜狗五笔输入法
+ Sougou Wubi
+ GFxIME_SogouPinyin
+
+ 중국어 (번체) - New ChangJie
+ New ChangJie
+ GFxIME_Ch_Trad_NewChangJie
+
+ 中文 (简体) - 加加输入法5.0
+ JJ Pinyin
+ GFxIME_Ch_Simp_JJ
+
+ BAIDUCN.IME
+ 中文 (简体) - 百度拼音输入法
+ GFxIME_BaiduPinyin
+
+ 中文(简体) - 百度输入法
+ 中文(简体) - 百度输入法
+ GFxIME_BaiduPinyin
+
+ QQWUBI.IME
+ 中文 - QQ五笔输入法
+ GFxIME_Ch_Trad_ArrayCL
+
+ WINABCX.IME
+ itABC v5.30
+ GFxIME_Ch_Trad_ArrayCL
+
+ KUNLUN.IME
+ 中文 (简体) - 必应 Bing 输入法
+ GFxIME_BingPinyin
+
+ WN_INPUT.IME
+ 中文(简体) - 万能五笔外挂版
+ GFxIME_Ch_Trad_ArrayCL
+
+ WN.IME
+ 中文(简体) - 万能五笔输入法
+ GFxIME_Ch_Trad_ArrayCL
+
+ freeime.ime
+ 中文(简体) - 极点五笔
+ GFxIME_Ch_Trad_ArrayCL
+
+ 中文 - QQ五笔输入法
+ QQPinyin
+ GFxIME_Ch_Simp_QQPinyin
+
+ 中文 - QQ拼音输入法
+ QQPinyin
+ GFxIME_Ch_Simp_QQPinyin
+
+ Microsoft Pinyin
+ MSPinyin IME
+ GFxIME_Ch_Simp_MSPinyin
+
+ Microsoft Wubi
+ Microsoft Wubi
+ GFxIME_Ch_Simp_MSPinyin
+
+ 中文(简体) - 手心输入法
+ 中文(简体) - 手心输入法
+ GFxIME_Ch_Simp
+
+
+
+
+
+ Chinese (Traditional) - Alphanumeric
+ Alphanumeric
+ GFxIME_NotSupported
+
+ Chinese (Traditional) - Array
+ Array
+ GFxIME_Ch_Trad_Array
+
+ Chinese (Traditional) - Big5 Code
+ Big5
+ GFxIME_NotSupported
+
+ Chinese (Traditional) - ChangJie
+ ChangJie
+ GFxIME_Ch_Trad_ChangJie
+
+ 中文 (繁體) - 倉頡
+ ChangJie
+ GFxIME_Ch_Trad_ChangJie
+
+ Chinese (Traditional) - DaYi
+ DaYi
+ GFxIME_Ch_Trad_DaYi
+
+ Chinese (Traditional) - New ChangJie
+ {F3BA907A-6C7E-11D4-97FA-0080C882687E}
+ New ChangJie
+ GFxIME_Ch_Trad_NewChangJie
+
+ 中文 (繁體) - 新倉頡
+ New ChangJie
+ GFxIME_Ch_Trad_NewChangJie
+
+ Microsoft ChangJie
+ {4BDF9F03-C7D3-11D4-B2AB-0080C882687E}
+ ChangJie
+ GFxIME_Ch_Trad_NewChangJie
+
+ Chinese (Traditional) - New Phonetic
+ {B2F9C502-1742-11D4-9790-0080C882687E}
+ New Phonetic
+ GFxIME_Ch_Trad_NewPhonetic
+
+ 中文 (繁體) - 新注音
+ New Phonetic
+ GFxIME_Ch_Trad_NewPhonetic
+
+ Chinese (Traditional) - Phonetic
+ Phonetic
+ GFxIME_Ch_Trad_Phonetic
+
+ 中文 (繁體) - 注音
+ Phonetic
+ GFxIME_Ch_Trad_Phonetic
+
+ Chinese (Traditional) - Quick
+ Quick
+ GFxIME_Ch_Trad_Quick
+
+ 中文 (繁體) - 速成
+ Quick
+ GFxIME_Ch_Trad_Quick
+
+ Chinese (Traditional) - US Keyboard
+ Unknown
+ GFxIME_Ch_Trad
+
+ Chinese (Traditional) - Unicode
+ Unicode
+ GFxIME_NotSupported
+
+ Chinese Traditional Array (version 6.0)
+ Array
+ GFxIME_Ch_Trad_Array
+
+ 中文繁體行列 (version 6.0)
+ Array
+ GFxIME_Ch_Trad_Array
+
+ Chinese Traditional DaYi (version 6.0)
+ DaYi
+ GFxIME_Ch_Trad_DaYi
+
+ 中文繁體大易 (version 6.0)
+ DaYi
+ GFxIME_Ch_Trad_DaYi
+
+ winar30.ime
+ Array
+ GFxIME_Ch_Trad_Array
+
+ chajei.ime
+ ChangJie
+ GFxIME_Ch_Trad_ChangJie
+
+ dayi.ime
+ DaYi
+ GFxIME_Ch_Trad_DaYi
+
+ CINTLGNT.IME
+ New ChangJie
+ GFxIME_Ch_Trad_NewChangJie
+
+ MSTCICJA.IME
+ New ChangJie
+ GFxIME_Ch_Trad_NewChangJie
+
+ IMTCC14.IME
+ New ChangJie 2010
+ GFxIME_Ch_Trad_NewChangJie2010
+
+ MSTCIPHA.IME
+ New Phonetic
+ GFxIME_Ch_Trad_NewPhonetic
+
+ TINTLGNT.IME
+ New Phonetic
+ GFxIME_Ch_Trad_NewPhonetic
+
+ IMTCP14.IME
+ New Phonetic 2010
+ GFxIME_Ch_Trad_NewPhonetic2010
+
+ IMTCQ14.IME
+ New Quick 2010
+ GFxIME_Ch_Trad_NewQuick2010
+
+ phon.ime
+ Phonetic
+ GFxIME_Ch_Trad_Phonetic
+
+ quick.ime
+ Quick
+ GFxIME_Ch_Trad_Quick
+
+ Microsoft Quick
+ Microsoft Quick
+ GFxIME_Ch_Trad_Quick
+
+ Microsoft ChangJie
+ Microsoft ChangJie
+ GFxIME_Ch_Trad_ChangJie
+
+ CHEWING.IME
+ New Chewing IME
+ GFxIME_Ch_Trad_NewChewing
+
+ ChangJie (Майкрософт)
+ Microsoft ChangJie
+ GFxIME_Ch_Trad_ChangJie
+
+
+
+
+
+ 微软输入法
+ 微软输入法
+ GFxIME_Jp
+
+ Google Japanese Input
+ Google Japanese Input
+ GFxIME_Jp_GOOG2010
+
+ Microsoft IME
+ Japanese Microsoft IME
+ GFxIME_Jp
+
+ imjp81.ime
+ Japanese Microsoft IME
+ GFxIME_Jp
+
+ Japanese Input System (MS-IME2002)
+ MS-IME 2002
+ GFxIME_Jp_2002
+
+ imjp8.ime
+ Microsoft IME Standard 2002
+ GFxIME_Jp_2002
+
+ imjp9.ime
+ Microsoft IME Standard 2003
+ GFxIME_Jp_2003
+
+ imjp12.ime
+ MS-IME 2007
+ GFxIME_Jp_2007
+
+ imjp14.ime
+ Japanese IME 2010
+ GFxIME_Jp_2010
+
+ ATOK 2008
+ ATOK 2008
+ GFxIME_Jp_ATOK2008
+
+ ATOK 2009
+ ATOK 2009
+ GFxIME_Jp_ATOK2009
+
+ ATOK22W.IME
+ ATOK 2009
+ GFxIME_Jp_ATOK2009
+
+ Google Japanese Input
+ Google Japanese Input
+ GFxIME_Jp_GOOG2010
+
+ ATOK26W.IME
+ ATOK 2013
+ GFxIME_Jp_ATOK2008
+
+
+
+
+
+ 微软输入法
+ 微软输入法
+ GFxIME_Kr
+
+ Microsoft IME
+ Korean Microsoft IME
+ GFxIME_Kr
+
+ Korean Input System (IME 2000)
+ Korean 2000
+ GFxIME_Kr
+
+ Korean
+ Korean
+ GFxIME_Kr
+
+ imekr61.ime
+ Korean IME 2000
+ GFxIME_Kr_2000
+
+ imekr.ime
+ Korean IME 2002
+ GFxIME_Kr_2002
+
+ imekr70.ime
+ Korean IME 2003
+ GFxIME_Kr_2003
+
+ imkr12.ime
+ Korean IME 2007
+ GFxIME_Kr_2007
+
+ imkr14.ime
+ Korean IME 2010
+ GFxIME_Kr_2010
+
+ Korean IME 2007
+ Microsoft 입력기
+ GFxIME_Kr_2007
+
+ Korean Microsoft IME
+ Microsoft 한글 입력기
+ GFxIME_Kr_8_6001
+
+ Microsoft 입력기
+ Korean Microsoft IME
+ GFxIME_Kr
+
+
+
+
+
diff --git a/src/KorabliChsMod.Core/KorabliChsMod.Core.csproj b/src/KorabliChsMod.Core/KorabliChsMod.Core.csproj
index 20ec92b..0b92e61 100644
--- a/src/KorabliChsMod.Core/KorabliChsMod.Core.csproj
+++ b/src/KorabliChsMod.Core/KorabliChsMod.Core.csproj
@@ -9,6 +9,9 @@
+
+ Always
+
diff --git a/src/KorabliChsMod.Core/Services/ChsModService.cs b/src/KorabliChsMod.Core/Services/ChsModService.cs
index 7e72e63..9bfc9b6 100644
--- a/src/KorabliChsMod.Core/Services/ChsModService.cs
+++ b/src/KorabliChsMod.Core/Services/ChsModService.cs
@@ -38,7 +38,8 @@ public partial class ChsModService(NetworkEngine networkEngine, FileCachePool fi
/// 成功返回true,失败返回false
public async Task Install(GameDetectModel gameDetectModel, CancellationToken cancellationToken = default)
{
- return await this.PathXmlAddon(gameDetectModel, cancellationToken) && await this.CorePackInstall(gameDetectModel, cancellationToken);
+ return await this.PathXmlAddon(gameDetectModel, cancellationToken) && await this.CorePackInstall(gameDetectModel, cancellationToken)&& await this.ImeConfigInstall(gameDetectModel, cancellationToken)
+;
}
///
@@ -52,6 +53,7 @@ public bool Uninstall(GameDetectModel gameDetectModel, CancellationToken cancell
try
{
IOExtension.DeleteFile(gameDetectModel.ChsModFilePath);
+ IOExtension.DeleteFile(Path.Combine(gameDetectModel.ModFolder, "gui", "flash", "ime_config.xml"));
return true;
}
catch (Exception e)
@@ -184,6 +186,38 @@ internal async Task CorePackInstall(GameDetectModel gameDetectModel, Cance
return false;
}
}
+
+
+ internal Task ImeConfigInstall(GameDetectModel gameDetectModel, CancellationToken cancellationToken = default)
+ {
+ return Task.Run(() =>
+ {
+ try
+ {
+ // 源文件:程序目录下的 Assets/ime_config.xml
+ var source = Path.Combine(AppContext.BaseDirectory, "Assets", "ime_config.xml");
+ if (!File.Exists(source))
+ {
+ // 你可以选择:当作失败 or 直接跳过。
+ // “打包内置”的目标是必有,所以我建议:缺失就当失败,方便发现打包问题
+ throw new FileNotFoundException("未找到内置 ime_config.xml,请检查安装包是否包含 Assets/ime_config.xml", source);
+ }
+
+ // 目标文件:.../res_mods//gui/flash/ime_config.xml
+ var target = Path.Combine(gameDetectModel.ModFolder, "gui", "flash", "ime_config.xml");
+ var targetDir = Path.GetDirectoryName(target)!;
+ Directory.CreateDirectory(targetDir);
+
+ File.Copy(source, target, overwrite: true);
+ return true;
+ }
+ catch (Exception e)
+ {
+ this.ServiceEvent?.Invoke(this, new ServiceEventArg { Exception = e });
+ return false;
+ }
+ }, cancellationToken);
+ }
}
}