feat: 添加了受击反馈mod chore: 优化了隐藏角色的代码
This commit is contained in:
@@ -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.
Reference in New Issue
Block a user