feat: 添加了受击反馈mod chore: 优化了隐藏角色的代码
This commit is contained in:
@@ -1,19 +1,28 @@
|
||||
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
|
||||
<s:Boolean x:Key="/Default/AddReferences/RecentPaths/=D_003A_005Csteam_005Csteamapps_005Ccommon_005CEscape_0020from_0020Duckov_005CDuckov_005FData_005CManaged_005CFMODUnity_002Edll/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/AddReferences/RecentPaths/=D_003A_005Csteam_005Csteamapps_005Cworkshop_005Ccontent_005C3167020_005C3596659565_005CCustomQuack_002Edll/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AAimTargetFinder_002Ecs_002Fl_003AC_0021_003FUsers_003FLenovo_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F492b6cef9eac4cd497c1ffcbfcb9161f197200_003Fa9_003F4ac92f25_003FAimTargetFinder_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AAudioManager_002Ecs_002Fl_003AC_0021_003FUsers_003FLenovo_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fae7b55f2e79e4a30b19151f53aa9af29197600_003F95_003F5092a809_003FAudioManager_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ABehaviour_002Ecs_002Fl_003AC_0021_003FUsers_003FLenovo_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fc39a522eee05469b8171a6cfeb646c591543b0_003Fc1_003Faa1a31b2_003FBehaviour_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACameraArmControl_002Ecs_002Fl_003AC_0021_003FUsers_003FLenovo_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F492b6cef9eac4cd497c1ffcbfcb9161f197200_003Ff5_003F4622470d_003FCameraArmControl_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACameraArm_002Ecs_002Fl_003AC_0021_003FUsers_003FLenovo_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F492b6cef9eac4cd497c1ffcbfcb9161f197200_003Fdc_003Fc73e8a9f_003FCameraArm_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACameraArm_002Ecs_002Fl_003AC_0021_003FUsers_003FLenovo_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fae7b55f2e79e4a30b19151f53aa9af29197600_003Ff6_003F5678008c_003FCameraArm_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACharacterCreator_002Ecs_002Fl_003AC_0021_003FUsers_003FLenovo_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F492b6cef9eac4cd497c1ffcbfcb9161f197200_003F06_003Ff3fe5490_003FCharacterCreator_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACharacterCreator_002Ecs_002Fl_003AC_0021_003FUsers_003FLenovo_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fae7b55f2e79e4a30b19151f53aa9af29197600_003Fd3_003F2e360998_003FCharacterCreator_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACharacterEquipmentController_002Ecs_002Fl_003AC_0021_003FUsers_003FLenovo_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fae7b55f2e79e4a30b19151f53aa9af29197600_003F35_003F0c1fbbe5_003FCharacterEquipmentController_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACharacterMainControl_002Ecs_002Fl_003AC_0021_003FUsers_003FLenovo_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F492b6cef9eac4cd497c1ffcbfcb9161f197200_003F2c_003Fe5626d7e_003FCharacterMainControl_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACharacterMainControl_002Ecs_002Fl_003AC_0021_003FUsers_003FLenovo_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fae7b55f2e79e4a30b19151f53aa9af29197600_003F4c_003Faffc257a_003FCharacterMainControl_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACustomFaceInstance_002Ecs_002Fl_003AC_0021_003FUsers_003FLenovo_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fae7b55f2e79e4a30b19151f53aa9af29197600_003Ff5_003F7e299618_003FCustomFaceInstance_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ADuckovScreenCapturer_002Ecs_002Fl_003AC_0021_003FUsers_003FLenovo_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F492b6cef9eac4cd497c1ffcbfcb9161f197200_003F59_003F92754824_003FDuckovScreenCapturer_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AGameCamera_002Ecs_002Fl_003AC_0021_003FUsers_003FLenovo_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F492b6cef9eac4cd497c1ffcbfcb9161f197200_003Fd2_003F4160411a_003FGameCamera_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AGameplayDataSettings_002Ecs_002Fl_003AC_0021_003FUsers_003FLenovo_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F492b6cef9eac4cd497c1ffcbfcb9161f197200_003Fa4_003Ffea6779d_003FGameplayDataSettings_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AInventoryData_002Ecs_002Fl_003AC_0021_003FUsers_003FLenovo_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F71a3d79537274de2b084d0fd207549d617200_003F5e_003F6152b6b7_003FInventoryData_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ALevelConfig_002Ecs_002Fl_003AC_0021_003FUsers_003FLenovo_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F492b6cef9eac4cd497c1ffcbfcb9161f197200_003Fcc_003Fcfd90334_003FLevelConfig_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ALevelManager_002Ecs_002Fl_003AC_0021_003FUsers_003FLenovo_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fae7b55f2e79e4a30b19151f53aa9af29197600_003Fe0_003F6f24caa1_003FLevelManager_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AModBehaviour_002Ecs_002Fl_003AC_0021_003FUsers_003FLenovo_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F15eaac0daac842bca117926c0c9be2781a00_003F37_003Fa09d99b2_003FModBehaviour_002Ecs_002Fz_003A4_002D3/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AModBehaviour_002Ecs_002Fl_003AC_0021_003FUsers_003FLenovo_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fae7b55f2e79e4a30b19151f53aa9af29197600_003Ff3_003Ff5f2b19a_003FModBehaviour_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AModInfo_002Ecs_002Fl_003AC_0021_003FUsers_003FLenovo_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fae7b55f2e79e4a30b19151f53aa9af29197600_003F3c_003F9c6fe4cd_003FModInfo_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AModManager_002Ecs_002Fl_003AC_0021_003FUsers_003FLenovo_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fae7b55f2e79e4a30b19151f53aa9af29197600_003Fe5_003Ff729e34a_003FModManager_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AMonoBehaviour_002Ecs_002Fl_003AC_0021_003FUsers_003FLenovo_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fc39a522eee05469b8171a6cfeb646c591543b0_003F02_003F65608a5e_003FMonoBehaviour_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AOcclusionFadeChecker_002Ecs_002Fl_003AC_0021_003FUsers_003FLenovo_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F492b6cef9eac4cd497c1ffcbfcb9161f197200_003F05_003F7aa60d94_003FOcclusionFadeChecker_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AOcclusionFadeChecker_002Ecs_002Fl_003AC_0021_003FUsers_003FLenovo_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fae7b55f2e79e4a30b19151f53aa9af29197600_003Fa8_003Fd12e1cf7_003FOcclusionFadeChecker_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
|
||||
@@ -15,9 +15,12 @@
|
||||
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
||||
<OutputPath>D:\steam\steamapps\common\Escape from Duckov\Duckov_Data\Mods\HideCharacter</OutputPath>
|
||||
<!-- 禁用生成 deps.json 文件 -->
|
||||
<GenerateDependencyFile>false</GenerateDependencyFile>
|
||||
<!-- 禁用生成 .pdb 调试符号文件 -->
|
||||
<DebugType>none</DebugType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
|
||||
<OutputPath>D:\steam\steamapps\common\Escape from Duckov\Duckov_Data\Mods\HideCharacter</OutputPath>
|
||||
<GenerateDependencyFile>false</GenerateDependencyFile>
|
||||
<DebugType>none</DebugType>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
@@ -15,8 +15,6 @@ namespace HideCharacter
|
||||
public HideList? hideList = new HideList();
|
||||
public bool hide { get; private set; } = false;
|
||||
private List<Renderer> rendererList = new List<Renderer>();
|
||||
private bool needRefresh = true;
|
||||
|
||||
private GameObject?
|
||||
bodyPartObject,
|
||||
tail,
|
||||
@@ -38,8 +36,8 @@ namespace HideCharacter
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
SceneManager.sceneLoaded += OnSceneLoaded;
|
||||
|
||||
LevelManager.OnLevelInitialized+=OnSceneLoaded;
|
||||
SceneManager.sceneUnloaded += OnSceneUnloaded;
|
||||
|
||||
var dllDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
|
||||
var configFilePath = Path.Combine(dllDirectory, "config.json");
|
||||
@@ -84,25 +82,56 @@ namespace HideCharacter
|
||||
|
||||
private void OnDisable()
|
||||
{
|
||||
SceneManager.sceneLoaded -= OnSceneLoaded;
|
||||
LevelManager.OnLevelInitialized-=OnSceneLoaded;
|
||||
SceneManager.sceneUnloaded -= OnSceneUnloaded;
|
||||
}
|
||||
|
||||
private void OnSceneLoaded(Scene scene, LoadSceneMode mode)
|
||||
private void OnSceneLoaded()
|
||||
{
|
||||
rendererList.Clear();
|
||||
hide = false;
|
||||
|
||||
var obj = GameObject.Find("ModelRoot");
|
||||
if (!obj) return;
|
||||
//角色的模型是最先加载的,就直接先查找了,避免找到其他实体的身体
|
||||
bodyPartObject = GameObject.Find("Pelvis");
|
||||
healthBar = GameObject.Find("HealthBars");
|
||||
needRefresh = true;
|
||||
//身体的SkinnedMeshRenderer如果不隐藏会发现身体无法恢复
|
||||
foreach (var skinnedMeshRenderer in obj.GetComponentsInChildren<SkinnedMeshRenderer>())
|
||||
{
|
||||
rendererList.Add(skinnedMeshRenderer);
|
||||
}
|
||||
|
||||
Refresh();
|
||||
}
|
||||
|
||||
private void OnSceneUnloaded(Scene scene)
|
||||
{
|
||||
hide = false;
|
||||
SetCharacterHide(false);
|
||||
}
|
||||
|
||||
public void Refresh()
|
||||
{
|
||||
tail = null;
|
||||
eye = null;
|
||||
eyebrow = null;
|
||||
mouth = null;
|
||||
hair = null;
|
||||
armLeft = null;
|
||||
armRight = null;
|
||||
thighLeft = null;
|
||||
thighRight = null;
|
||||
weapon = null;
|
||||
healthBar = null;
|
||||
helmet = null;
|
||||
glasses = null;
|
||||
headTip = null;
|
||||
armor = null;
|
||||
backpack = null;
|
||||
if (bodyPartObject != null)
|
||||
FindChildObjectsRecursively(bodyPartObject.transform);
|
||||
}
|
||||
/// <summary>
|
||||
/// 查找身体部件,不使用对Meshderer的隐藏是因为测试的时候发现没有正确隐藏,
|
||||
/// 可能是测试逻辑错了,就先这样写了
|
||||
@@ -187,13 +216,6 @@ namespace HideCharacter
|
||||
{
|
||||
if (hideList != null)
|
||||
{
|
||||
//使用懒刷新是因为发现在开始查找的时候会找不到眼睛和眉毛,可能是还没有创建,就改为在切换时刷新了
|
||||
if (needRefresh)
|
||||
{
|
||||
if (bodyPartObject != null)
|
||||
FindChildObjectsRecursively(bodyPartObject.transform);
|
||||
needRefresh=false;
|
||||
}
|
||||
tail?.SetActive(!(hide && hideList.hideTail));
|
||||
eye?.SetActive(!(hide && hideList.hideEyes));
|
||||
eyebrow?.SetActive(!(hide && hideList.hideEyebrow));
|
||||
|
||||
@@ -10,7 +10,8 @@ namespace HideCharacter
|
||||
var manage = ModBehaviour.hideHideCharacterManager;
|
||||
if (manage!=null)
|
||||
{
|
||||
manage.SetCharacterHide(manage.hide);
|
||||
if(manage.hide)
|
||||
manage.SetCharacterHide(manage.hide);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("折纸的小箱子")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.1")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.1+5cec8711ddabae774b7b55087269b881165af0e7")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.1+2af09007f967b42ac04776167f814297d14582e3")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("HideCharacter")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("HideCharacter")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.1")]
|
||||
|
||||
@@ -1 +1 @@
|
||||
3d62d92adb7f9a12cf46bc278adfa279e7b9149f58da50080fcbc57375d7389a
|
||||
7182d425771de7b27f8f319b51a9341c4aa1ff6099af2487fa0a697a586e5ebb
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
is_global = true
|
||||
build_property.RootNamespace = HideCharacter
|
||||
build_property.ProjectDir = d:\vs_project\DuckovMods\HideCharacter\
|
||||
build_property.ProjectDir = D:\vs_project\DuckovMods\HideCharacter\
|
||||
build_property.EnableComHosting =
|
||||
build_property.EnableGeneratedComInterfaceComImportInterop =
|
||||
build_property.CsWinRTUseWindowsUIXamlProjections = false
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
||||
550877d5c7f8c3d392c8fe9197974700440e729c966f37ad9d800284f2a8a83b
|
||||
bfbf8f24eac374a808530bfd826b4ac67fd68b16390e779378456c151d4baf40
|
||||
|
||||
@@ -18,6 +18,5 @@ D:\vs_project\DuckovMods\HideCharacter\obj\Debug\HideCharacter.GeneratedMSBuildE
|
||||
D:\vs_project\DuckovMods\HideCharacter\obj\Debug\HideCharacter.AssemblyInfoInputs.cache
|
||||
D:\vs_project\DuckovMods\HideCharacter\obj\Debug\HideCharacter.AssemblyInfo.cs
|
||||
D:\vs_project\DuckovMods\HideCharacter\obj\Debug\HideCharacter.csproj.CoreCompileInputs.cache
|
||||
D:\vs_project\DuckovMods\HideCharacter\obj\Debug\HideCharacter.sourcelink.json
|
||||
D:\vs_project\DuckovMods\HideCharacter\obj\Debug\HideCharacter.dll
|
||||
D:\vs_project\DuckovMods\HideCharacter\obj\Debug\HideCharacter.pdb
|
||||
D:\steam\steamapps\common\Escape from Duckov\Duckov_Data\Mods\HideCharacter\HideCharacter.dll
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -1 +0,0 @@
|
||||
{"documents":{"D:\\vs_project\\DuckovMods\\*":"https://raw.githubusercontent.com/thisMiniBox/DuckovMods/4f144bef9a53a82ec1d3853545c53fd70357c810/*"}}
|
||||
@@ -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+5cec8711ddabae774b7b55087269b881165af0e7")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.1+2af09007f967b42ac04776167f814297d14582e3")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("HideCharacter")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("HideCharacter")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.1")]
|
||||
|
||||
@@ -1 +1 @@
|
||||
ee5e91bf3a8d718914859649bac466f7260515b7c2ac316863334e9e783b2fee
|
||||
a90e2d9f75649545c1c6af7e34c572d4df6020158a0438630a9add7fb701918c
|
||||
|
||||
Binary file not shown.
9
HitFeedback/Config.cs
Normal file
9
HitFeedback/Config.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace HitFeedback
|
||||
{
|
||||
public class Config
|
||||
{
|
||||
public Dictionary<string, float> probability = new Dictionary<string, float>();
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,19 @@
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.1</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<DuckovPath>D:\steam\steamapps\common\Escape from Duckov</DuckovPath>
|
||||
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
||||
<OutputPath>D:\steam\steamapps\common\Escape from Duckov\Duckov_Data\Mods\HitFeedback</OutputPath>
|
||||
<GenerateDependencyFile>false</GenerateDependencyFile>
|
||||
<DebugType>none</DebugType>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="$(DuckovPath)\Duckov_Data\Managed\TeamSoda.*" Private="False" />
|
||||
<Reference Include="$(DuckovPath)\Duckov_Data\Managed\ItemStatsSystem.dll" Private="False" />
|
||||
<Reference Include="$(DuckovPath)\Duckov_Data\Managed\Unity*" Private="False" />
|
||||
<Reference Include="$(DuckovPath)\Duckov_Data\Managed\FMODUnity.dll" Private="False" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
||||
@@ -1,7 +1,116 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using Duckov;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Networking;
|
||||
using UnityEngine.SceneManagement;
|
||||
using Object = UnityEngine.Object;
|
||||
using Random = UnityEngine.Random;
|
||||
|
||||
namespace HitFeedback
|
||||
{
|
||||
public class ModBehaviour:Duckov.Modding.ModBehaviour
|
||||
{
|
||||
public const string AudioFolderName = "audio";
|
||||
public string audioFolderPath;
|
||||
|
||||
public List<string> audioFilePath = new List<string>();
|
||||
|
||||
public Health health;
|
||||
|
||||
public Config config=new Config();
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (Input.GetKeyDown(KeyCode.F8))
|
||||
{
|
||||
PlayRandomAudioClip();
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnAfterSetup()
|
||||
{
|
||||
LevelManager.OnLevelInitialized += OnSceneLoaded;
|
||||
audioFolderPath=Path.Combine(info.path,AudioFolderName);
|
||||
FindWavFiles();
|
||||
}
|
||||
protected override void OnBeforeDeactivate()
|
||||
{
|
||||
|
||||
LevelManager.OnLevelInitialized -= OnSceneLoaded;
|
||||
}
|
||||
private void FindWavFiles()
|
||||
{
|
||||
audioFilePath.Clear();
|
||||
if (!Directory.Exists(audioFolderPath))
|
||||
{
|
||||
return;
|
||||
}
|
||||
try
|
||||
{
|
||||
string[] files = Directory.GetFiles(audioFolderPath, "*.wav", SearchOption.TopDirectoryOnly);
|
||||
if (files.Length > 0)
|
||||
{
|
||||
foreach (string filePath in files)
|
||||
{
|
||||
audioFilePath.Add(filePath);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (UnauthorizedAccessException ex)
|
||||
{
|
||||
Debug.LogError($"Error: Access to '{audioFolderPath}' is denied. {ex.Message}");
|
||||
}
|
||||
catch (DirectoryNotFoundException ex)
|
||||
{
|
||||
Debug.LogError($"Error: Directory '{audioFolderPath}' not found. {ex.Message}");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Debug.LogError($"An unexpected error occurred: {ex.Message}");
|
||||
}
|
||||
}
|
||||
|
||||
private void OnSceneLoaded()
|
||||
{
|
||||
TryAddListener();
|
||||
}
|
||||
|
||||
private void TryAddListener()
|
||||
{
|
||||
if (health)
|
||||
{
|
||||
health.OnHurtEvent.RemoveListener(OnHurtEvent);
|
||||
}
|
||||
health = CharacterMainControl.Main?.Health;
|
||||
if (health)
|
||||
{
|
||||
health.OnHurtEvent.AddListener(OnHurtEvent);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void OnHurtEvent(DamageInfo damageInfo)
|
||||
{
|
||||
PlayRandomAudioClip();
|
||||
}
|
||||
|
||||
public void PlayRandomAudioClip()
|
||||
{
|
||||
if (audioFilePath.Count > 0)
|
||||
{
|
||||
var randomIndex = Random.Range(0, audioFilePath.Count);
|
||||
var filePath = audioFilePath[randomIndex];
|
||||
AudioManager.PostCustomSFX(filePath);
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogWarning("Mod Feedback: No audio clips loaded to play.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -13,7 +13,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("HitFeedback")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+5cec8711ddabae774b7b55087269b881165af0e7")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+2af09007f967b42ac04776167f814297d14582e3")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("HitFeedback")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("HitFeedback")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
@@ -1 +1 @@
|
||||
84a0140b62d51a4d1e1db6c69a6d53266a2de1b9a06e96eda7354c706b34ce28
|
||||
21bb5d42a925e2609f95fd6bae7df27510f6f676c220089a05b657a9435715db
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
is_global = true
|
||||
build_property.RootNamespace = HitFeedback
|
||||
build_property.ProjectDir = d:\vs_project\DuckovMods\HitFeedback\
|
||||
build_property.ProjectDir = D:\vs_project\DuckovMods\HitFeedback\
|
||||
build_property.EnableComHosting =
|
||||
build_property.EnableGeneratedComInterfaceComImportInterop =
|
||||
build_property.CsWinRTUseWindowsUIXamlProjections = false
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,4 @@
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
|
||||
22
HitFeedback/obj/Release/HitFeedback.AssemblyInfo.cs
Normal file
22
HitFeedback/obj/Release/HitFeedback.AssemblyInfo.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
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+2af09007f967b42ac04776167f814297d14582e3")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("HitFeedback")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("HitFeedback")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
// 由 MSBuild WriteCodeFragment 类生成。
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
af2244db1221597efe6147a09f74a909205fbb96bd2548e7cd4320372ffd41b1
|
||||
@@ -0,0 +1,8 @@
|
||||
is_global = true
|
||||
build_property.RootNamespace = HitFeedback
|
||||
build_property.ProjectDir = D:\vs_project\DuckovMods\HitFeedback\
|
||||
build_property.EnableComHosting =
|
||||
build_property.EnableGeneratedComInterfaceComImportInterop =
|
||||
build_property.CsWinRTUseWindowsUIXamlProjections = false
|
||||
build_property.EffectiveAnalysisLevelStyle =
|
||||
build_property.EnableCodeStyleSeverity =
|
||||
BIN
HitFeedback/obj/Release/HitFeedback.assets.cache
Normal file
BIN
HitFeedback/obj/Release/HitFeedback.assets.cache
Normal file
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
|
||||
17059da2b4ba38151f18bb4edeeed66662c124b29efddf4c48967bc01f547046
|
||||
@@ -0,0 +1,7 @@
|
||||
D:\steam\steamapps\common\Escape from Duckov\Duckov_Data\Mods\HitFeedback\HitFeedback.dll
|
||||
D:\vs_project\DuckovMods\HitFeedback\obj\Release\HitFeedback.csproj.AssemblyReference.cache
|
||||
D:\vs_project\DuckovMods\HitFeedback\obj\Release\HitFeedback.GeneratedMSBuildEditorConfig.editorconfig
|
||||
D:\vs_project\DuckovMods\HitFeedback\obj\Release\HitFeedback.AssemblyInfoInputs.cache
|
||||
D:\vs_project\DuckovMods\HitFeedback\obj\Release\HitFeedback.AssemblyInfo.cs
|
||||
D:\vs_project\DuckovMods\HitFeedback\obj\Release\HitFeedback.csproj.CoreCompileInputs.cache
|
||||
D:\vs_project\DuckovMods\HitFeedback\obj\Release\HitFeedback.dll
|
||||
BIN
HitFeedback/obj/Release/HitFeedback.dll
Normal file
BIN
HitFeedback/obj/Release/HitFeedback.dll
Normal file
Binary file not shown.
@@ -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+5cec8711ddabae774b7b55087269b881165af0e7")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+2af09007f967b42ac04776167f814297d14582e3")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("HitFeedback")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("HitFeedback")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
@@ -1 +1 @@
|
||||
6dfdb835a50972dc3b35cbc3ef11e4b4945b330f1030bb4e87d430fed92effb8
|
||||
af2244db1221597efe6147a09f74a909205fbb96bd2548e7cd4320372ffd41b1
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
7453d4b6fcee39c7a7d800c9763c938846bec2244ebefaa4c34d16a8d8390f64
|
||||
@@ -0,0 +1,8 @@
|
||||
D:\steam\steamapps\common\Escape from Duckov\Duckov_Data\Mods\HitFeedback\netstandard2.1\HitFeedback.dll
|
||||
D:\vs_project\DuckovMods\HitFeedback\obj\Release\netstandard2.1\HitFeedback.csproj.AssemblyReference.cache
|
||||
D:\vs_project\DuckovMods\HitFeedback\obj\Release\netstandard2.1\HitFeedback.GeneratedMSBuildEditorConfig.editorconfig
|
||||
D:\vs_project\DuckovMods\HitFeedback\obj\Release\netstandard2.1\HitFeedback.AssemblyInfoInputs.cache
|
||||
D:\vs_project\DuckovMods\HitFeedback\obj\Release\netstandard2.1\HitFeedback.AssemblyInfo.cs
|
||||
D:\vs_project\DuckovMods\HitFeedback\obj\Release\netstandard2.1\HitFeedback.csproj.CoreCompileInputs.cache
|
||||
D:\vs_project\DuckovMods\HitFeedback\obj\Release\netstandard2.1\HitFeedb.24A289A1.Up2Date
|
||||
D:\vs_project\DuckovMods\HitFeedback\obj\Release\netstandard2.1\HitFeedback.dll
|
||||
BIN
HitFeedback/obj/Release/netstandard2.1/HitFeedback.dll
Normal file
BIN
HitFeedback/obj/Release/netstandard2.1/HitFeedback.dll
Normal file
Binary file not shown.
1
HitFeedback/obj/rider.project.model.nuget.info
Normal file
1
HitFeedback/obj/rider.project.model.nuget.info
Normal file
@@ -0,0 +1 @@
|
||||
17620100186005303
|
||||
@@ -13,7 +13,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("折纸的小箱子")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+5cec8711ddabae774b7b55087269b881165af0e7")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+2af09007f967b42ac04776167f814297d14582e3")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("SceneSnapshot")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("SceneSnapshot")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0")]
|
||||
|
||||
@@ -1 +1 @@
|
||||
6d12d4fd5fee7e2efe092fe372fcbb1c60ef5b2f01d26ead67c9644a196af9d9
|
||||
6db670cc723431582928e8b99ce9debac67aa7935e1b8f3b8518bcd6a23d4ca5
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
is_global = true
|
||||
build_property.RootNamespace = SceneSnapshot
|
||||
build_property.ProjectDir = d:\vs_project\DuckovMods\SceneSnapshot\
|
||||
build_property.ProjectDir = D:\vs_project\DuckovMods\SceneSnapshot\
|
||||
build_property.EnableComHosting =
|
||||
build_property.EnableGeneratedComInterfaceComImportInterop =
|
||||
build_property.CsWinRTUseWindowsUIXamlProjections = false
|
||||
|
||||
Binary file not shown.
@@ -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+5cec8711ddabae774b7b55087269b881165af0e7")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+2af09007f967b42ac04776167f814297d14582e3")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("SceneSnapshot")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("SceneSnapshot")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0")]
|
||||
|
||||
@@ -1 +1 @@
|
||||
93f0b5a057af3dc21a82cd67b141e8721d34c29387ba1b1257abf8a37633195f
|
||||
059d393a593444cbbfade46bc154efc9d0e32b1f1b1636870bc8de347b95447d
|
||||
|
||||
Reference in New Issue
Block a user