diff --git a/CharacterPreview/Api/ModConfigApi.cs b/CharacterPreview/Api/ModConfigApi.cs
new file mode 100644
index 0000000..1d00ea9
--- /dev/null
+++ b/CharacterPreview/Api/ModConfigApi.cs
@@ -0,0 +1,488 @@
+using System;
+using System.Linq;
+using System.Reflection;
+using UnityEngine;
+
+//替换为你的mod命名空间, 防止多个同名ModConfigAPI冲突
+namespace CharacterPreview.Api {
+///
+/// ModConfig 安全接口封装类 - 提供不抛异常的静态接口
+/// ModConfig Safe API Wrapper Class - Provides non-throwing static interfaces
+///
+public static class ModConfigAPI
+{
+ public static string ModConfigName = "ModConfig";
+
+ //Ensure this match the number of ModConfig.ModBehaviour.VERSION
+ //这里确保版本号与ModConfig.ModBehaviour.VERSION匹配
+ private const int ModConfigVersion = 1;
+
+ private static string TAG = $"ModConfig_v{ModConfigVersion}";
+
+ private static Type modBehaviourType;
+ private static Type optionsManagerType;
+ public static bool isInitialized = false;
+ private static bool versionChecked = false;
+ private static bool isVersionCompatible = false;
+
+ ///
+ /// 检查版本兼容性
+ /// Check version compatibility
+ ///
+ private static bool CheckVersionCompatibility()
+ {
+ if (versionChecked)
+ return isVersionCompatible;
+
+ try
+ {
+ // 尝试获取 ModConfig 的版本号
+ // Try to get ModConfig version number
+ var versionField = modBehaviourType.GetField("VERSION", BindingFlags.Public | BindingFlags.Static);
+ if (versionField != null && versionField.FieldType == typeof(int))
+ {
+ var modConfigVersion = (int)versionField.GetValue(null);
+ isVersionCompatible = (modConfigVersion == ModConfigVersion);
+
+ if (!isVersionCompatible)
+ {
+ Debug.LogError($"[{TAG}] 版本不匹配!API版本: {ModConfigVersion}, ModConfig版本: {modConfigVersion}");
+ return false;
+ }
+
+ Debug.Log($"[{TAG}] 版本检查通过: {ModConfigVersion}");
+ versionChecked = true;
+ return true;
+ }
+ else
+ {
+ // 如果找不到版本字段,发出警告但继续运行(向后兼容)
+ // If version field not found, warn but continue (backward compatibility)
+ Debug.LogWarning($"[{TAG}] 未找到版本信息字段,跳过版本检查");
+ isVersionCompatible = true;
+ versionChecked = true;
+ return true;
+ }
+ }
+ catch (Exception ex)
+ {
+ Debug.LogError($"[{TAG}] 版本检查失败: {ex.Message}");
+ isVersionCompatible = false;
+ versionChecked = true;
+ return false;
+ }
+ }
+
+ ///
+ /// 初始化 ModConfigAPI,检查必要的函数是否存在
+ /// Initialize ModConfigAPI, check if necessary functions exist
+ ///
+ public static bool Initialize()
+ {
+ try
+ {
+ if (isInitialized)
+ return true;
+
+ // 获取 ModBehaviour 类型
+ // Get ModBehaviour type
+ modBehaviourType = FindTypeInAssemblies("ModConfig.ModBehaviour");
+ if (modBehaviourType == null)
+ {
+ Debug.LogWarning($"[{TAG}] ModConfig.ModBehaviour 类型未找到,ModConfig 可能未加载");
+ return false;
+ }
+
+ // 获取 OptionsManager_Mod 类型
+ // Get OptionsManager_Mod type
+ optionsManagerType = FindTypeInAssemblies("ModConfig.OptionsManager_Mod");
+ if (optionsManagerType == null)
+ {
+ Debug.LogWarning($"[{TAG}] ModConfig.OptionsManager_Mod 类型未找到");
+ return false;
+ }
+
+ // 检查版本兼容性
+ // Check version compatibility
+ if (!CheckVersionCompatibility())
+ {
+ Debug.LogWarning($"[{TAG}] ModConfig version mismatch!!!");
+ return false;
+ }
+
+ // 检查必要的静态方法是否存在
+ // Check if necessary static methods exist
+ string[] requiredMethods = {
+ "AddDropdownList",
+ "AddInputWithSlider",
+ "AddBoolDropdownList",
+ "AddOnOptionsChangedDelegate",
+ "RemoveOnOptionsChangedDelegate",
+ };
+
+ foreach (var methodName in requiredMethods)
+ {
+ var method = modBehaviourType.GetMethod(methodName, BindingFlags.Public | BindingFlags.Static);
+ if (method == null)
+ {
+ Debug.LogError($"[{TAG}] 必要方法 {methodName} 未找到");
+ return false;
+ }
+ }
+
+ isInitialized = true;
+ Debug.Log($"[{TAG}] ModConfigAPI 初始化成功");
+ return true;
+ }
+ catch (Exception ex)
+ {
+ Debug.LogError($"[{TAG}] 初始化失败: {ex.Message}");
+ return false;
+ }
+ }
+
+ ///
+ /// 在所有已加载的程序集中查找类型
+ ///
+ private static Type FindTypeInAssemblies(string typeName)
+ {
+ try
+ {
+ // 获取当前域中的所有程序集
+ Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies();
+
+ foreach (var assembly in assemblies)
+ {
+ try
+ {
+ // 检查程序集名称是否包含 ModConfig
+ if (assembly.FullName.Contains("ModConfig"))
+ {
+ Debug.Log($"[{TAG}] 找到 ModConfig 相关程序集: {assembly.FullName}");
+ }
+
+ // 尝试在该程序集中查找类型
+ var type = assembly.GetType(typeName);
+ if (type != null)
+ {
+ Debug.Log($"[{TAG}] 在程序集 {assembly.FullName} 中找到类型 {typeName}");
+ return type;
+ }
+ }
+ catch (Exception ex)
+ {
+ // 忽略单个程序集的查找错误
+ continue;
+ }
+ }
+
+ // 记录所有已加载的程序集用于调试
+ Debug.LogWarning($"[{TAG}] 在所有程序集中未找到类型 {typeName},已加载程序集数量: {assemblies.Length}");
+ foreach (var assembly in assemblies.Where(a => a.FullName.Contains("ModConfig")))
+ {
+ Debug.Log($"[{TAG}] ModConfig 相关程序集: {assembly.FullName}");
+ }
+
+ return null;
+ }
+ catch (Exception ex)
+ {
+ Debug.LogError($"[{TAG}] 程序集扫描失败: {ex.Message}");
+ return null;
+ }
+ }
+
+ ///
+ /// 安全地添加选项变更事件委托
+ /// Safely add options changed event delegate
+ ///
+ /// 事件处理委托,参数为变更的选项键名
+ /// 是否成功添加
+ public static bool SafeAddOnOptionsChangedDelegate(Action action)
+ {
+ if (!Initialize())
+ return false;
+
+ if (action == null)
+ {
+ Debug.LogWarning($"[{TAG}] 不能添加空的事件委托");
+ return false;
+ }
+
+ try
+ {
+ var method = modBehaviourType.GetMethod("AddOnOptionsChangedDelegate", BindingFlags.Public | BindingFlags.Static);
+ method.Invoke(null, new object[] { action });
+
+ Debug.Log($"[{TAG}] 成功添加选项变更事件委托");
+ return true;
+ }
+ catch (Exception ex)
+ {
+ Debug.LogError($"[{TAG}] 添加选项变更事件委托失败: {ex.Message}");
+ return false;
+ }
+ }
+
+ ///
+ /// 安全地移除选项变更事件委托
+ /// Safely remove options changed event delegate
+ ///
+ /// 要移除的事件处理委托
+ /// 是否成功移除
+ public static bool SafeRemoveOnOptionsChangedDelegate(Action action)
+ {
+ if (!Initialize())
+ return false;
+
+ if (action == null)
+ {
+ Debug.LogWarning($"[{TAG}] 不能移除空的事件委托");
+ return false;
+ }
+
+ try
+ {
+ var method = modBehaviourType.GetMethod("RemoveOnOptionsChangedDelegate", BindingFlags.Public | BindingFlags.Static);
+ method.Invoke(null, new object[] { action });
+
+ Debug.Log($"[{TAG}] 成功移除选项变更事件委托");
+ return true;
+ }
+ catch (Exception ex)
+ {
+ Debug.LogError($"[{TAG}] 移除选项变更事件委托失败: {ex.Message}");
+ return false;
+ }
+ }
+
+ ///
+ /// 安全地添加下拉列表配置项
+ /// Safely add dropdown list configuration item
+ ///
+ public static bool SafeAddDropdownList(string modName, string key, string description, System.Collections.Generic.SortedDictionary options, Type valueType, object defaultValue)
+ {
+ key = $"{modName}_{key}";
+
+ if (!Initialize())
+ return false;
+
+ try
+ {
+ var method = modBehaviourType.GetMethod("AddDropdownList", BindingFlags.Public | BindingFlags.Static);
+ method.Invoke(null, new object[] { modName, key, description, options, valueType, defaultValue });
+
+ Debug.Log($"[{TAG}] 成功添加下拉列表: {modName}.{key}");
+ return true;
+ }
+ catch (Exception ex)
+ {
+ Debug.LogError($"[{TAG}] 添加下拉列表失败 {modName}.{key}: {ex.Message}");
+ return false;
+ }
+ }
+
+ ///
+ /// 安全地添加带滑条的输入框配置项
+ /// Safely add input box with slider configuration item
+ ///
+ public static bool SafeAddInputWithSlider(string modName, string key, string description, Type valueType, object defaultValue, UnityEngine.Vector2? sliderRange = null)
+ {
+ key = $"{modName}_{key}";
+
+ if (!Initialize())
+ return false;
+
+ try
+ {
+ var method = modBehaviourType.GetMethod("AddInputWithSlider", BindingFlags.Public | BindingFlags.Static);
+
+ // 处理可空参数
+ // Handle nullable parameters
+ var parameters = sliderRange.HasValue ?
+ new object[] { modName, key, description, valueType, defaultValue, sliderRange.Value } :
+ new object[] { modName, key, description, valueType, defaultValue, null };
+
+ method.Invoke(null, parameters);
+
+ Debug.Log($"[{TAG}] 成功添加滑条输入框: {modName}.{key}");
+ return true;
+ }
+ catch (Exception ex)
+ {
+ Debug.LogError($"[{TAG}] 添加滑条输入框失败 {modName}.{key}: {ex.Message}");
+ return false;
+ }
+ }
+
+ ///
+ /// 安全地添加布尔下拉列表配置项
+ /// Safely add boolean dropdown list configuration item
+ ///
+ public static bool SafeAddBoolDropdownList(string modName, string key, string description, bool defaultValue)
+ {
+ key = $"{modName}_{key}";
+
+ if (!Initialize())
+ return false;
+
+ try
+ {
+ var method = modBehaviourType.GetMethod("AddBoolDropdownList", BindingFlags.Public | BindingFlags.Static);
+ method.Invoke(null, new object[] { modName, key, description, defaultValue });
+
+ Debug.Log($"[{TAG}] 成功添加布尔下拉列表: {modName}.{key}");
+ return true;
+ }
+ catch (Exception ex)
+ {
+ Debug.LogError($"[{TAG}] 添加布尔下拉列表失败 {modName}.{key}: {ex.Message}");
+ return false;
+ }
+ }
+
+ ///
+ /// 安全地加载配置值
+ /// Safely load configuration value
+ ///
+ /// 值的类型
+ /// 配置键
+ /// 默认值
+ /// 加载的值或默认值
+ public static T SafeLoad(string mod_name, string key, T defaultValue = default(T))
+ {
+ key = $"{mod_name}_{key}";
+
+ if (!Initialize())
+ return defaultValue;
+
+ if (string.IsNullOrEmpty(key))
+ {
+ Debug.LogWarning($"[{TAG}] 配置键不能为空");
+ return defaultValue;
+ }
+
+ try
+ {
+ var loadMethod = optionsManagerType.GetMethod("Load", BindingFlags.Public | BindingFlags.Static);
+ if (loadMethod == null)
+ {
+ Debug.LogError($"[{TAG}] 未找到 OptionsManager_Mod.Load 方法");
+ return defaultValue;
+ }
+
+ // 获取泛型方法
+ var genericLoadMethod = loadMethod.MakeGenericMethod(typeof(T));
+ var result = genericLoadMethod.Invoke(null, new object[] { key, defaultValue });
+
+ Debug.Log($"[{TAG}] 成功加载配置: {key} = {result}");
+ return (T)result;
+ }
+ catch (Exception ex)
+ {
+ Debug.LogError($"[{TAG}] 加载配置失败 {key}: {ex.Message}");
+ return defaultValue;
+ }
+ }
+
+ ///
+ /// 安全地保存配置值
+ /// Safely save configuration value
+ ///
+ /// 值的类型
+ /// 配置键
+ /// 要保存的值
+ /// 是否保存成功
+ public static bool SafeSave(string mod_name, string key, T value)
+ {
+ key = $"{mod_name}_{key}";
+
+ if (!Initialize())
+ return false;
+
+ if (string.IsNullOrEmpty(key))
+ {
+ Debug.LogWarning($"[{TAG}] 配置键不能为空");
+ return false;
+ }
+
+ try
+ {
+ var saveMethod = optionsManagerType.GetMethod("Save", BindingFlags.Public | BindingFlags.Static);
+ if (saveMethod == null)
+ {
+ Debug.LogError($"[{TAG}] 未找到 OptionsManager_Mod.Save 方法");
+ return false;
+ }
+
+ // 获取泛型方法
+ var genericSaveMethod = saveMethod.MakeGenericMethod(typeof(T));
+ genericSaveMethod.Invoke(null, new object[] { key, value });
+
+ Debug.Log($"[{TAG}] 成功保存配置: {key} = {value}");
+ return true;
+ }
+ catch (Exception ex)
+ {
+ Debug.LogError($"[{TAG}] 保存配置失败 {key}: {ex.Message}");
+ return false;
+ }
+ }
+
+ ///
+ /// 检查 ModConfig 是否可用
+ /// Check if ModConfig is available
+ ///
+ public static bool IsAvailable()
+ {
+ return Initialize();
+ }
+
+ ///
+ /// 获取 ModConfig 版本信息(如果存在)
+ /// Get ModConfig version information (if exists)
+ ///
+ public static string GetVersionInfo()
+ {
+ if (!Initialize())
+ return "ModConfig 未加载 | ModConfig not loaded";
+
+ try
+ {
+ // 尝试获取版本信息(如果 ModBehaviour 有相关字段或属性)
+ // Try to get version information (if ModBehaviour has related fields or properties)
+ var versionField = modBehaviourType.GetField("VERSION", BindingFlags.Public | BindingFlags.Static);
+ if (versionField != null && versionField.FieldType == typeof(int))
+ {
+ var modConfigVersion = (int)versionField.GetValue(null);
+ var compatibility = (modConfigVersion == ModConfigVersion) ? "兼容" : "不兼容";
+ return $"ModConfig v{modConfigVersion} (API v{ModConfigVersion}, {compatibility})";
+ }
+
+ var versionProperty = modBehaviourType.GetProperty("VERSION", BindingFlags.Public | BindingFlags.Static);
+ if (versionProperty != null)
+ {
+ var versionValue = versionProperty.GetValue(null);
+ return versionValue?.ToString() ?? "未知版本 | Unknown version";
+ }
+
+ return "ModConfig 已加载(版本信息不可用) | ModConfig loaded (version info unavailable)";
+ }
+ catch
+ {
+ return "ModConfig 已加载(版本检查失败) | ModConfig loaded (version check failed)";
+ }
+ }
+
+ ///
+ /// 检查版本兼容性
+ /// Check version compatibility
+ ///
+ public static bool IsVersionCompatible()
+ {
+ if (!Initialize())
+ return false;
+ return isVersionCompatible;
+ }
+}
+}
\ No newline at end of file
diff --git a/CharacterPreview/Config.cs b/CharacterPreview/Config.cs
index 07098eb..c4b132c 100644
--- a/CharacterPreview/Config.cs
+++ b/CharacterPreview/Config.cs
@@ -22,10 +22,12 @@ namespace CharacterPreview
[Serializable]
public class Config
{
+ private const string MOD_ID = "CharacterPreview";
+
private string configSavePath;
-
+
public ConfigData data = new ConfigData();
-
+
public Config(string savePath)
{
configSavePath = savePath;
@@ -58,7 +60,58 @@ namespace CharacterPreview
var config = new Config(savePath);
config.data = loadedData ?? new ConfigData();
+ config.GenerateSetting();
return config;
}
+
+ public void GenerateSetting()
+ {
+ if (!Api.ModConfigAPI.Initialize())
+ return;
+ Api.ModConfigAPI.SafeAddBoolDropdownList(MOD_ID, "use", "使用配置中保存的位置数据", data.use);
+ Api.ModConfigAPI.SafeAddBoolDropdownList(MOD_ID, "tip", "开启操作提示", data.tip);
+ Api.ModConfigAPI.SafeAddBoolDropdownList(MOD_ID,"hideCamera","隐藏摄像机模型", data.hideCamera);
+ Api.ModConfigAPI.SafeAddBoolDropdownList(MOD_ID, "showSetEditButton", "显示启用编辑按钮", data.showSetEditButton);
+ Api.ModConfigAPI.SafeAddBoolDropdownList(MOD_ID, "canEdit", "是否启用编辑", data.canEdit);
+ Api.ModConfigAPI.SafeAddBoolDropdownList(MOD_ID, "showEquipment", "显示装备", data.showEquipment);
+ Api.ModConfigAPI.SafeAddInputWithSlider(MOD_ID, "editSpeed", "编辑灵敏度", typeof(float), 1,
+ new Vector2(0.1f, 10));
+
+
+ Api.ModConfigAPI.SafeAddOnOptionsChangedDelegate(OnSettingChange);
+ }
+
+ public void OnSettingChange(string key)
+ {
+ var content = key.Split('_');
+ if(content.Length<2||content[0]!=MOD_ID)
+ return;
+ key = content[1];
+ Debug.Log($"OnSettingChange_{key}");
+ switch (key)
+ {
+ case "use":
+ data.use = Api.ModConfigAPI.SafeLoad(MOD_ID, "use", false);
+ break;
+ case "tip":
+ data.tip = Api.ModConfigAPI.SafeLoad(MOD_ID, "tip", true);
+ break;
+ case "hideCamera":
+ data.hideCamera = Api.ModConfigAPI.SafeLoad(MOD_ID, "hideCamera", true);
+ break;
+ case "showSetEditButton":
+ data.showSetEditButton = Api.ModConfigAPI.SafeLoad(MOD_ID, "showSetEditButton", true);
+ break;
+ case "canEdit":
+ data.canEdit = Api.ModConfigAPI.SafeLoad(MOD_ID, "canEdit", true);
+ break;
+ case "showEquipment":
+ data.showEquipment = Api.ModConfigAPI.SafeLoad(MOD_ID, "showEquipment", true);
+ break;
+ case "editSpeed":
+ data.editSpeed = Api.ModConfigAPI.SafeLoad(MOD_ID, "editSpeed", 1f);
+ break;
+ }
+ }
}
}
\ No newline at end of file
diff --git a/CharacterPreview/ModBehaviour.cs b/CharacterPreview/ModBehaviour.cs
index f2147c7..d8951ac 100644
--- a/CharacterPreview/ModBehaviour.cs
+++ b/CharacterPreview/ModBehaviour.cs
@@ -176,13 +176,7 @@ namespace CharacterPreview
// SetModelShow(false);
}
- private static void SetModelShow(bool show)
- {
- if (characterControl)
- {
- characterControl.gameObject.SetActive(show);
- }
- }
+
private static void HideCamera()
diff --git a/CharacterPreview/ShowListen.cs b/CharacterPreview/ShowListen.cs
index 93832cb..7bae071 100644
--- a/CharacterPreview/ShowListen.cs
+++ b/CharacterPreview/ShowListen.cs
@@ -6,7 +6,17 @@ namespace CharacterPreview
{
public class ShowListen:MonoBehaviour
{
+ private void Awake()
+ {
+
+ }
+
private void OnEnable()
+ {
+ CreateModel();
+ }
+
+ private void CreateModel()
{
try
{
diff --git a/CharacterPreview/obj/Release/CharacterPreview.AssemblyInfo.cs b/CharacterPreview/obj/Release/CharacterPreview.AssemblyInfo.cs
index 307b5e3..7faf897 100644
--- a/CharacterPreview/obj/Release/CharacterPreview.AssemblyInfo.cs
+++ b/CharacterPreview/obj/Release/CharacterPreview.AssemblyInfo.cs
@@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("CharacterPreview")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6cb89ba4398ec37a8aa131d176c6f4b85ddbf3b0")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+bef0d4379272d5efa12a376799b16fdaaed6b62f")]
[assembly: System.Reflection.AssemblyProductAttribute("CharacterPreview")]
[assembly: System.Reflection.AssemblyTitleAttribute("CharacterPreview")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
diff --git a/CharacterPreview/obj/Release/CharacterPreview.AssemblyInfoInputs.cache b/CharacterPreview/obj/Release/CharacterPreview.AssemblyInfoInputs.cache
index 4d303ea..5edbd67 100644
--- a/CharacterPreview/obj/Release/CharacterPreview.AssemblyInfoInputs.cache
+++ b/CharacterPreview/obj/Release/CharacterPreview.AssemblyInfoInputs.cache
@@ -1 +1 @@
-cbee91e822d9ef04e2d67aa8b9bb2a276fe0b999202eacd0c7845f2ebd98f435
+a42f5308ba7e48ab4e94e1da1f5b2ea1c754320ab8ae20476f1311f0955685b5
diff --git a/CharacterPreview/obj/Release/CharacterPreview.csproj.AssemblyReference.cache b/CharacterPreview/obj/Release/CharacterPreview.csproj.AssemblyReference.cache
index fe5ac04..8e96548 100644
Binary files a/CharacterPreview/obj/Release/CharacterPreview.csproj.AssemblyReference.cache and b/CharacterPreview/obj/Release/CharacterPreview.csproj.AssemblyReference.cache differ
diff --git a/CharacterPreview/obj/Release/CharacterPreview.csproj.CoreCompileInputs.cache b/CharacterPreview/obj/Release/CharacterPreview.csproj.CoreCompileInputs.cache
index 87a82b2..a7a5db4 100644
--- a/CharacterPreview/obj/Release/CharacterPreview.csproj.CoreCompileInputs.cache
+++ b/CharacterPreview/obj/Release/CharacterPreview.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-c0134ee1afbfeb7d9ea2fc05c8c4e57fa94629a377c1dde9e9b9bbb913bac608
+debe5be4a23d52ab9f28d95bc69bf4543c45285e88e03fb2a50aeaa25990c758
diff --git a/CharacterPreview/obj/Release/CharacterPreview.dll b/CharacterPreview/obj/Release/CharacterPreview.dll
index f586aac..92d4a47 100644
Binary files a/CharacterPreview/obj/Release/CharacterPreview.dll and b/CharacterPreview/obj/Release/CharacterPreview.dll differ
diff --git a/HideCharacter/obj/Release/HideCharacter.AssemblyInfo.cs b/HideCharacter/obj/Release/HideCharacter.AssemblyInfo.cs
index af5d69b..aadeac8 100644
--- a/HideCharacter/obj/Release/HideCharacter.AssemblyInfo.cs
+++ b/HideCharacter/obj/Release/HideCharacter.AssemblyInfo.cs
@@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("折纸的小箱子")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.1")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.1+8fcbdc5649e0b93fd1b771001f53cdbb81da2c78")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.1+bef0d4379272d5efa12a376799b16fdaaed6b62f")]
[assembly: System.Reflection.AssemblyProductAttribute("HideCharacter")]
[assembly: System.Reflection.AssemblyTitleAttribute("HideCharacter")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.1")]
diff --git a/HideCharacter/obj/Release/HideCharacter.AssemblyInfoInputs.cache b/HideCharacter/obj/Release/HideCharacter.AssemblyInfoInputs.cache
index 93eba82..2f68706 100644
--- a/HideCharacter/obj/Release/HideCharacter.AssemblyInfoInputs.cache
+++ b/HideCharacter/obj/Release/HideCharacter.AssemblyInfoInputs.cache
@@ -1 +1 @@
-5947386f6162b5b02c7300baa77b21c77fa4ed061a138d3fc81f970ad239b319
+d76c4ba68444a407e65caba3b97339bd2f8684bd333f390c29c7da3203c22bc2
diff --git a/HitFeedback/obj/Release/HitFeedback.AssemblyInfo.cs b/HitFeedback/obj/Release/HitFeedback.AssemblyInfo.cs
index bc755ee..aaee443 100644
--- a/HitFeedback/obj/Release/HitFeedback.AssemblyInfo.cs
+++ b/HitFeedback/obj/Release/HitFeedback.AssemblyInfo.cs
@@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("HitFeedback")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+8fcbdc5649e0b93fd1b771001f53cdbb81da2c78")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+bef0d4379272d5efa12a376799b16fdaaed6b62f")]
[assembly: System.Reflection.AssemblyProductAttribute("HitFeedback")]
[assembly: System.Reflection.AssemblyTitleAttribute("HitFeedback")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
diff --git a/HitFeedback/obj/Release/HitFeedback.AssemblyInfoInputs.cache b/HitFeedback/obj/Release/HitFeedback.AssemblyInfoInputs.cache
index 7e2ffd7..f9f7bc0 100644
--- a/HitFeedback/obj/Release/HitFeedback.AssemblyInfoInputs.cache
+++ b/HitFeedback/obj/Release/HitFeedback.AssemblyInfoInputs.cache
@@ -1 +1 @@
-91dac8144f7f4643815b8939a0d98f00568590da27297be94ea52497a9430f21
+acb938162d1c64e1817aecf8e6baac4e930f90bfd0fa558410cac6f0a7c21a51
diff --git a/SceneSnapshot/obj/Release/SceneSnapshot.AssemblyInfo.cs b/SceneSnapshot/obj/Release/SceneSnapshot.AssemblyInfo.cs
index 79043e7..325b2aa 100644
--- a/SceneSnapshot/obj/Release/SceneSnapshot.AssemblyInfo.cs
+++ b/SceneSnapshot/obj/Release/SceneSnapshot.AssemblyInfo.cs
@@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("折纸的小箱子")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+8fcbdc5649e0b93fd1b771001f53cdbb81da2c78")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+bef0d4379272d5efa12a376799b16fdaaed6b62f")]
[assembly: System.Reflection.AssemblyProductAttribute("SceneSnapshot")]
[assembly: System.Reflection.AssemblyTitleAttribute("SceneSnapshot")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0")]
diff --git a/SceneSnapshot/obj/Release/SceneSnapshot.AssemblyInfoInputs.cache b/SceneSnapshot/obj/Release/SceneSnapshot.AssemblyInfoInputs.cache
index 0b6c0c3..fbc1b54 100644
--- a/SceneSnapshot/obj/Release/SceneSnapshot.AssemblyInfoInputs.cache
+++ b/SceneSnapshot/obj/Release/SceneSnapshot.AssemblyInfoInputs.cache
@@ -1 +1 @@
-9bf7075992c2ab1ad22b59ed877ab0388f5a130c6bb74696247e17e3ba773369
+bbee6248b3f74773c40d99f439b4fc037fbbeba7941c4deb9a846c191a483987
diff --git a/SceneView/obj/Release/SceneView.AssemblyInfo.cs b/SceneView/obj/Release/SceneView.AssemblyInfo.cs
index 0497d3d..ce4d943 100644
--- a/SceneView/obj/Release/SceneView.AssemblyInfo.cs
+++ b/SceneView/obj/Release/SceneView.AssemblyInfo.cs
@@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("SceneView")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+8fcbdc5649e0b93fd1b771001f53cdbb81da2c78")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+bef0d4379272d5efa12a376799b16fdaaed6b62f")]
[assembly: System.Reflection.AssemblyProductAttribute("SceneView")]
[assembly: System.Reflection.AssemblyTitleAttribute("SceneView")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
diff --git a/SceneView/obj/Release/SceneView.AssemblyInfoInputs.cache b/SceneView/obj/Release/SceneView.AssemblyInfoInputs.cache
index 5289bce..f8242a0 100644
--- a/SceneView/obj/Release/SceneView.AssemblyInfoInputs.cache
+++ b/SceneView/obj/Release/SceneView.AssemblyInfoInputs.cache
@@ -1 +1 @@
-ec6dec26bcfd53d3c84a0a001bc8365bda3279f794af569d235a57241c814223
+0067b0822f508515ae4d849787f007d073fa7495afc4f8389f6796fcaccab4f5
diff --git a/Theme/obj/Release/Theme.AssemblyInfo.cs b/Theme/obj/Release/Theme.AssemblyInfo.cs
index 3400721..b1e3f2b 100644
--- a/Theme/obj/Release/Theme.AssemblyInfo.cs
+++ b/Theme/obj/Release/Theme.AssemblyInfo.cs
@@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Theme")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+8fcbdc5649e0b93fd1b771001f53cdbb81da2c78")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+bef0d4379272d5efa12a376799b16fdaaed6b62f")]
[assembly: System.Reflection.AssemblyProductAttribute("Theme")]
[assembly: System.Reflection.AssemblyTitleAttribute("Theme")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
diff --git a/Theme/obj/Release/Theme.AssemblyInfoInputs.cache b/Theme/obj/Release/Theme.AssemblyInfoInputs.cache
index a63bae7..1e286b7 100644
--- a/Theme/obj/Release/Theme.AssemblyInfoInputs.cache
+++ b/Theme/obj/Release/Theme.AssemblyInfoInputs.cache
@@ -1 +1 @@
-d47d995ae9d6a870d3b9433f945c9b6cd782a4c69f3dea86ba112fc6f23eaffd
+a8d1921bdeafad5ec2a906c7966636001ac666755a7301126d4a45e3c9f7d5f4
diff --git a/UIFrame/obj/Release/UIFrame.AssemblyInfo.cs b/UIFrame/obj/Release/UIFrame.AssemblyInfo.cs
index badcce1..1c9753a 100644
--- a/UIFrame/obj/Release/UIFrame.AssemblyInfo.cs
+++ b/UIFrame/obj/Release/UIFrame.AssemblyInfo.cs
@@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("UIFrame")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+8fcbdc5649e0b93fd1b771001f53cdbb81da2c78")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+bef0d4379272d5efa12a376799b16fdaaed6b62f")]
[assembly: System.Reflection.AssemblyProductAttribute("UIFrame")]
[assembly: System.Reflection.AssemblyTitleAttribute("UIFrame")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
diff --git a/UIFrame/obj/Release/UIFrame.AssemblyInfoInputs.cache b/UIFrame/obj/Release/UIFrame.AssemblyInfoInputs.cache
index c51bc29..6800134 100644
--- a/UIFrame/obj/Release/UIFrame.AssemblyInfoInputs.cache
+++ b/UIFrame/obj/Release/UIFrame.AssemblyInfoInputs.cache
@@ -1 +1 @@
-5cacd6c5da721af1fa92623c1281494f48f6512910f19617f14a84da7edfc68a
+49e2c52c8d65b0149b702deabe688d5227cfec39da0371b9c72dda7fccb84064