From 0206a83f56b5a794fe2f173b4a047cc4f0d4cd90 Mon Sep 17 00:00:00 2001 From: m0_75251201 Date: Mon, 3 Nov 2025 18:56:20 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=9C=BA=E6=99=AF=E5=BF=AB=E7=85=A7?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E6=89=93=E5=8D=B0=E7=BB=84=E4=BB=B6=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DuckovMods.sln | 6 + DuckovMods.sln.DotSettings.user | 4 + HideCharacter/HideCharacter.csproj | 4 + HideCharacter/HideCharacterComponent.cs | 44 +-- HideCharacter/ModBehaviour.cs | 68 +++- ....GeneratedMSBuildEditorConfig.editorconfig | 2 +- .../obj/Debug/HideCharacter.assets.cache | Bin 1408 -> 1408 bytes ...deCharacter.csproj.AssemblyReference.cache | Bin 120775 -> 92590 bytes .../obj/Release/HideCharacter.AssemblyInfo.cs | 2 +- .../HideCharacter.AssemblyInfoInputs.cache | 2 +- ...deCharacter.csproj.AssemblyReference.cache | Bin 120775 -> 92590 bytes ...deCharacter.csproj.CoreCompileInputs.cache | 2 +- HideCharacter/obj/Release/HideCharacter.dll | Bin 11264 -> 19456 bytes .../obj/Release/HitFeedback.AssemblyInfo.cs | 2 +- .../HitFeedback.AssemblyInfoInputs.cache | 2 +- ...HitFeedback.csproj.AssemblyReference.cache | Bin 120473 -> 91219 bytes SceneSnapshot/PrintTool.cs | 324 +++++++++++++++++- SceneSnapshot/SceneSnapshot.csproj | 7 +- SceneSnapshot/bin/Release/SceneSnapshot.dll | Bin 9728 -> 15872 bytes SceneSnapshot/bin/Release/SceneSnapshot.pdb | Bin 15860 -> 17704 bytes ....GeneratedMSBuildEditorConfig.editorconfig | 2 +- .../obj/Debug/SceneSnapshot.assets.cache | Bin 750 -> 750 bytes .../obj/Release/SceneSnapshot.AssemblyInfo.cs | 2 +- .../SceneSnapshot.AssemblyInfoInputs.cache | 2 +- ...eneSnapshot.csproj.AssemblyReference.cache | Bin 93187 -> 120964 bytes .../SceneSnapshot.csproj.FileListAbsolute.txt | 10 + SceneSnapshot/obj/Release/SceneSnapshot.dll | Bin 9728 -> 15872 bytes SceneSnapshot/obj/Release/SceneSnapshot.pdb | Bin 15860 -> 0 bytes UIFrame/ModBehaviour.cs | 17 + UIFrame/UIFrameAPI.cs | 7 + UIFrame/UIManager.cs | 7 + 31 files changed, 455 insertions(+), 61 deletions(-) delete mode 100644 SceneSnapshot/obj/Release/SceneSnapshot.pdb create mode 100644 UIFrame/ModBehaviour.cs create mode 100644 UIFrame/UIFrameAPI.cs create mode 100644 UIFrame/UIManager.cs diff --git a/DuckovMods.sln b/DuckovMods.sln index dd6fa68..2388e59 100644 --- a/DuckovMods.sln +++ b/DuckovMods.sln @@ -9,6 +9,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HideCharacter", "HideCharac EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HitFeedback", "HitFeedback\HitFeedback.csproj", "{FEA30679-27B6-4413-91A5-EB08FCD9F02B}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UIFrame", "UIFrame\UIFrame.csproj", "{78BAF98F-64B2-41EB-BA04-2381E1D37AC8}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -27,6 +29,10 @@ Global {FEA30679-27B6-4413-91A5-EB08FCD9F02B}.Debug|Any CPU.Build.0 = Debug|Any CPU {FEA30679-27B6-4413-91A5-EB08FCD9F02B}.Release|Any CPU.ActiveCfg = Release|Any CPU {FEA30679-27B6-4413-91A5-EB08FCD9F02B}.Release|Any CPU.Build.0 = Release|Any CPU + {78BAF98F-64B2-41EB-BA04-2381E1D37AC8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {78BAF98F-64B2-41EB-BA04-2381E1D37AC8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {78BAF98F-64B2-41EB-BA04-2381E1D37AC8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {78BAF98F-64B2-41EB-BA04-2381E1D37AC8}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/DuckovMods.sln.DotSettings.user b/DuckovMods.sln.DotSettings.user index 7bbf89a..80fb4fb 100644 --- a/DuckovMods.sln.DotSettings.user +++ b/DuckovMods.sln.DotSettings.user @@ -4,6 +4,7 @@ ForceIncluded ForceIncluded ForceIncluded + ForceIncluded ForceIncluded ForceIncluded ForceIncluded @@ -12,13 +13,16 @@ ForceIncluded ForceIncluded ForceIncluded + ForceIncluded ForceIncluded ForceIncluded ForceIncluded ForceIncluded + ForceIncluded ForceIncluded ForceIncluded ForceIncluded + ForceIncluded ForceIncluded ForceIncluded ForceIncluded diff --git a/HideCharacter/HideCharacter.csproj b/HideCharacter/HideCharacter.csproj index 0fe0968..7ab7c62 100644 --- a/HideCharacter/HideCharacter.csproj +++ b/HideCharacter/HideCharacter.csproj @@ -49,4 +49,8 @@ + + + + diff --git a/HideCharacter/HideCharacterComponent.cs b/HideCharacter/HideCharacterComponent.cs index d5d481a..258d417 100644 --- a/HideCharacter/HideCharacterComponent.cs +++ b/HideCharacter/HideCharacterComponent.cs @@ -12,7 +12,7 @@ namespace HideCharacter public class HideCharacterComponent : MonoBehaviour { - public HideList? hideList = new HideList(); + public bool hide { get; private set; } = false; private List rendererList = new List(); private GameObject? @@ -39,45 +39,6 @@ namespace HideCharacter LevelManager.OnLevelInitialized+=OnSceneLoaded; SceneManager.sceneUnloaded += OnSceneUnloaded; - var dllDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); - var configFilePath = Path.Combine(dllDirectory, "config.json"); - if (File.Exists(configFilePath)) - { - try - { - var jsonString = File.ReadAllText(configFilePath); - hideList = JsonConvert.DeserializeObject(jsonString); - } - catch (JsonSerializationException ex) // 捕获 Newtonsoft.Json 特有的异常 - { - Debug.LogError($"JSON 反序列化错误 (Newtonsoft.Json): {ex.Message}"); - } - catch (IOException ex) - { - Debug.LogError($"文件读取错误: {ex.Message}"); - } - catch (Exception ex) - { - Debug.LogError($"加载配置文件时发生未知错误: {ex.Message}"); - } - } - else - { - Debug.LogWarning($"配置文件 '{configFilePath}' 不存在。将使用默认设置。"); - try - { - var jsonString = JsonConvert.SerializeObject(hideList, Formatting.Indented); - File.WriteAllText(configFilePath, jsonString); - } - catch (IOException ex) - { - Debug.LogError($"创建配置文件时发生错误: {ex.Message}"); - } - catch (Exception ex) - { - Debug.LogError($"创建配置文件时发生未知错误: {ex.Message}"); - } - } } private void OnDisable() @@ -205,7 +166,7 @@ namespace HideCharacter private void Update() { - if (Input.GetKeyDown(hideList?.hotkey ?? KeyCode.F5)) + if (Input.GetKeyDown(ModBehaviour.hideList?.hotkey ?? KeyCode.F5)) { hide = !hide; SetCharacterHide(hide); @@ -214,6 +175,7 @@ namespace HideCharacter public void SetCharacterHide(bool hide) { + var hideList = ModBehaviour.hideList; if (hideList != null) { tail?.SetActive(!(hide && hideList.hideTail)); diff --git a/HideCharacter/ModBehaviour.cs b/HideCharacter/ModBehaviour.cs index 891bf90..cb28a0e 100644 --- a/HideCharacter/ModBehaviour.cs +++ b/HideCharacter/ModBehaviour.cs @@ -1,5 +1,9 @@  +using System; +using System.IO; +using System.Reflection; using HarmonyLib; +using Newtonsoft.Json; using UnityEngine; using Object = UnityEngine.Object; // 确保引入 UnityEngine 命名空间 @@ -10,9 +14,18 @@ namespace HideCharacter public static HideCharacterComponent? hideHideCharacterManager=null; private const string CHILD_GAMEOBJECT_NAME = "HideCharacterManager"; - public string MOD_ID = "HideCharacter"; + public const string MOD_ID = "HideCharacter"; + public const string MOD_NAME = "隐藏角色设置"; private Harmony _harmony; + + public bool loadedConfigApi = false; + public static HideList? hideList = new HideList(); + private void Awake() + { + loadedConfigApi = Api.ModConfigAPI.Initialize(); + } + protected override void OnAfterSetup() { AddHideComponent(); @@ -21,6 +34,47 @@ namespace HideCharacter _harmony=new Harmony(MOD_ID); _harmony.PatchAll(); } + var dllDirectory = info.path; + var configFilePath = Path.Combine(dllDirectory, "config.json"); + if (File.Exists(configFilePath)) + { + try + { + var jsonString = File.ReadAllText(configFilePath); + hideList = JsonConvert.DeserializeObject(jsonString); + } + catch (JsonSerializationException ex) // 捕获 Newtonsoft.Json 特有的异常 + { + Debug.LogError($"JSON 反序列化错误 (Newtonsoft.Json): {ex.Message}"); + } + catch (IOException ex) + { + Debug.LogError($"文件读取错误: {ex.Message}"); + } + catch (Exception ex) + { + Debug.LogError($"加载配置文件时发生未知错误: {ex.Message}"); + } + } + else + { + Debug.LogWarning($"配置文件 '{configFilePath}' 不存在。将使用默认设置。"); + try + { + var jsonString = JsonConvert.SerializeObject(hideList, Formatting.Indented); + File.WriteAllText(configFilePath, jsonString); + } + catch (IOException ex) + { + Debug.LogError($"创建配置文件时发生错误: {ex.Message}"); + } + catch (Exception ex) + { + Debug.LogError($"创建配置文件时发生未知错误: {ex.Message}"); + } + } + if(Api.ModConfigAPI.IsAvailable()) + AddConfigSetting(); } protected override void OnBeforeDeactivate() @@ -48,6 +102,18 @@ namespace HideCharacter if (hideHideCharacterManager) Destroy(hideHideCharacterManager?.gameObject); } + + private void AddConfigSetting() + { + + Api.ModConfigAPI.SafeAddBoolDropdownList(MOD_NAME,"hideArmor","隐藏装备",hideList.hideArmor); + + } + + private void OnConfigChange() + { + + } } } diff --git a/HideCharacter/obj/Debug/HideCharacter.GeneratedMSBuildEditorConfig.editorconfig b/HideCharacter/obj/Debug/HideCharacter.GeneratedMSBuildEditorConfig.editorconfig index 63f724d..77304fd 100644 --- a/HideCharacter/obj/Debug/HideCharacter.GeneratedMSBuildEditorConfig.editorconfig +++ b/HideCharacter/obj/Debug/HideCharacter.GeneratedMSBuildEditorConfig.editorconfig @@ -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 diff --git a/HideCharacter/obj/Debug/HideCharacter.assets.cache b/HideCharacter/obj/Debug/HideCharacter.assets.cache index 558bae3c0062e6556aec6dc5b63056ee439b7cc4..7ab4973082339378c4148d3744e0dc4a6fa20710 100644 GIT binary patch delta 49 zcmV-10M7q_3xEqKP)kQa3;+NC=XFmT?4JeF4&;i&^*+nCz!I4ue$K;tAz;>D4T;E9 Hu_#yt&cqZx delta 49 zcmZqRZs67k@OF3PVPIhB@@ENJR`&3+baPpj2w8SCuYdTiPEeK)xY5j&T20-Sp< z@B4nw`#kUa+&$;RPwtHf7lO?^9*nu9g99@03w8VJz#<0bmT46xrpJKa@BLzQG6&I^a0l6q4LKoT?xGJ0oAq4STGY}RY_I+>Yrw{j_k&Wd#;rI`P) zlsDnfF)KWLs+t_)!_+}IE^Nf%%=i$g1`pk4@=zYPsoRbIZ)YJY=jVq&v^Z-N zO5++~6kiQ@3r%qK+A1iJmBFLY6;Sp2SUBFTNj6e0%IfT@c22-O+gr|-dxM`B614cG zQ4;98LsB@Br1KrySMv@W7u4W_6RMq7T1z>WQvu-5{`?ngt+|4niDA9TS)c*l;x8b$ z;=Zn4Qx7o+xM+kkTsWdeN$R0$XDWsp4!sw^9w8@%8$X>%Zj2~u;HK;5EVbK1xr~&j zWhvvZG7g*3mI9X=N`M--uRQJp9v z{3yH#*W33P7$iK=iFI&wfu7VHDXeF)c^bn+Ztqi((!B$GAoa#%04+M86duVe#lOAM zY3S-`JSdV%w05Swopu#eGD`qTG9AXG#;LB}E@?Tgx%3&~DER?EBIU4lcQUl4)v45U zxZEDIi=iC04m;&>LMnSsZc-2cN`uqESd@)SyRwe9c35aD(U=%>9(}XY;d9xuVU}_c zC?gHj8*4bQ`V3lZD5$Ba~oy{MraXEW+C)2U57FsAwXFm>!5SC4}e7GL52= zHdBn!?CPLREr{@)T<)3L(3EhHg!jR8WHeo$yq0_a~?z#?# zhiRj^68w5b087~?;J7_=64r|l>u+*14^=Z!XIPB$sZxUKVwq-^eko#FheK(y&B85`8DU!4c4xN(1?_;XreL*9^W&BMIluMEWHQp)DXV*=v zWd0IqXIkk2!=UVA(6xJWn$4kFMq%SzD)8U;G?L-!>FH? zq|DZ2&5!hyyW2!9rwch)I6McVW=~RUw0|hVjeTY!b4=Rr4%H$Qo{5R}^|896jdn2> zH*O{&D;5!6W~@#)#Qr@J>)m7ok=~&NKmzCPl;IiSRmsrCn-Z5A0FZM5YN;lq$#=B< zaO>))S@`{2}#5y=xWTJ zG##)#^#{|~60S=_cluE|J1Fv}sL@_0^UddSLW8XEup=8Pr?8eI;GK@jps2WZnOSGg-1fO_WFD_83luxLhEO-*CRk{chgY?aG!P?kqqIrjW z)@&rY@PVdaZP&tQg_UHeu~tEYXczNH{b3D{|2$PrYloctj?v)7^VUgM*DSb;U z*>!M?mWCfVvFRU%<+`zBeZy(R@mIQ}d-3if9z;VqO5zi-j`C3cX)KrdE*ff-T4!6ki*~z_ zO~vG9g$0N|NQA^BX0nEwLJH*25((}8bs6y6X(6BwJgFA!)GhOV92`X-hFIYEXm zz&m>SR)1X~jxZ&pI98*-4EV&_xdv9G=|1Pk9oFRFoKKLe4E0tC&Haz=4E$~&a=JDr z;3K(={;_}nnBX&!(VRccn_&Y}S#ExNZFbrBw~t(J8u;doTlp30?ASF)_oI8xEWUkl z`}Du~IiXPR;C@X>}ZZ#Rt{_~wf8uAsbj;MxV=ID6KL_*Ik1T1> z^JS+AH-k+t4+!AZJhKddSRWm=PP-jhdPGIMYjRYa7@Z zf{_0ozCDys#Vcp1^i#{1>R&Eh!1R!%~rfU zHbil|fyc@w13CSA51O1FCTLs-@h#|8Ks>o*5X+nK%Uk_Jq|F^=%dF@9Vtm9gfOH=; zc@O-$dhq_%j@SNv^Rd|8ZTb8$#gx3>b|{N^Ug1j^>uzuCAKVOBYMGoOt}}%@xjtbHkL8D+Yg~x*GxWe$^rzyKlXe+;wpe*tPM+ w!Wp(17pk_Mh|EpASF&Q*)AM%2iW)(~uBA3vrOgn%kFcAYO3;UCWB}9u0x;fdwg3PC diff --git a/HideCharacter/obj/Release/HideCharacter.AssemblyInfo.cs b/HideCharacter/obj/Release/HideCharacter.AssemblyInfo.cs index 5aaf9c3..0cb9f47 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+2af09007f967b42ac04776167f814297d14582e3")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.1+2b7943339c8fff4147e07028e81b3fff19ff0d80")] [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 b46af9b..1f63b6c 100644 --- a/HideCharacter/obj/Release/HideCharacter.AssemblyInfoInputs.cache +++ b/HideCharacter/obj/Release/HideCharacter.AssemblyInfoInputs.cache @@ -1 +1 @@ -a90e2d9f75649545c1c6af7e34c572d4df6020158a0438630a9add7fb701918c +881e0b84476729ea6e67f155d7d840fd64b730af85f17eb2df102486efe4db4b diff --git a/HideCharacter/obj/Release/HideCharacter.csproj.AssemblyReference.cache b/HideCharacter/obj/Release/HideCharacter.csproj.AssemblyReference.cache index 3b144c9f73c5ed2f889fa78b3aaa1f493a092570..305f460e79932e384d922899c33872a86ba955fc 100644 GIT binary patch delta 27 jcmX@Uo_*bAR#rB~dbaPpj2w8SCuYdTiPEeK)xY5j&T20-Sp< z@B4nw`#kUa+&$;RPwtHf7lO?^9*nu9g99@03w8VJz#<0bmT46xrpJKa@BLzQG6&I^a0l6q4LKoT?xGJ0oAq4STGY}RY_I+>Yrw{j_k&Wd#;rI`P) zlsDnfF)KWLs+t_)!_+}IE^Nf%%=i$g1`pk4@=zYPsoRbIZ)YJY=jVq&v^Z-N zO5++~6kiQ@3r%qK+A1iJmBFLY6;Sp2SUBFTNj6e0%IfT@c22-O+gr|-dxM`B614cG zQ4;98LsB@Br1KrySMv@W7u4W_6RMq7T1z>WQvu-5{`?ngt+|4niDA9TS)c*l;x8b$ z;=Zn4Qx7o+xM+kkTsWdeN$R0$XDWsp4!sw^9w8@%8$X>%Zj2~u;HK;5EVbK1xr~&j zWhvvZG7g*3mI9X=N`M--uRQJp9v z{3yH#*W33P7$iK=iFI&wfu7VHDXeF)c^bn+Ztqi((!B$GAoa#%04+M86duVe#lOAM zY3S-`JSdV%w05Swopu#eGD`qTG9AXG#;LB}E@?Tgx%3&~DER?EBIU4lcQUl4)v45U zxZEDIi=iC04m;&>LMnSsZc-2cN`uqESd@)SyRwe9c35aD(U=%>9(}XY;d9xuVU}_c zC?gHj8*4bQ`V3lZD5$Ba~oy{MraXEW+C)2U57FsAwXFm>!5SC4}e7GL52= zHdBn!?CPLREr{@)T<)3L(3EhHg!jR8WHeo$yq0_a~?z#?# zhiRj^68w5b087~?;J7_=64r|l>u+*14^=Z!XIPB$sZxUKVwq-^eko#FheK(y&B85`8DU!4c4xN(1?_;XreL*9^W&BMIluMEWHQp)DXV*=v zWd0IqXIkk2!=UVA(6xJWn$4kFMq%SzD)8U;G?L-!>FH? zq|DZ2&5!hyyW2!9rwch)I6McVW=~RUw0|hVjeTY!b4=Rr4%H$Qo{5R}^|896jdn2> zH*O{&D;5!6W~@#)#Qr@J>)m7ok=~&NKmzCPl;IiSRmsrCn-Z5A0FZM5YN;lq$#=B< zaO>))S@`{2}#5y=xWTJ zG##)#^#{|~60S=_cluE|J1Fv}sL@_0^UddSLW8XEup=8Pr?8eI;GK@jps2WZnOSGg-1fO_WFD_83luxLhEO-*CRk{chgY?aG!P?kqqIrjW z)@&rY@PVdaZP&tQg_UHeu~tEYXczNH{b3D{|2$PrYloctj?v)7^VUgM*DSb;U z*>!M?mWCfVvFRU%<+`zBeZy(R@mIQ}d-3if9z;VqO5zi-j`C3cX)KrdE*ff-T4!6ki*~z_ zO~vG9g$0N|NQA^BX0nEwLJH*25((}8bs6y6X(6BwJgFA!)GhOV92`X-hFIYEXm zz&m>SR)1X~jxZ&pI98*-4EV&_xdv9G=|1Pk9oFRFoKKLe4E0tC&Haz=4E$~&a=JDr z;3K(={;_}nnBX&!(VRccn_&Y}S#ExNZFbrBw~t(J8u;doTlp30?ASF)_oI8xEWUkl z`}Du~IiXPR;C@X>}ZZ#Rt{_~wf8uAsbj;MxV=ID6KL_*Ik1T1> z^JS+AH-k+t4+!AZJhKddSRWm=PP-jhdPGIMYjRYa7@Z zf{_0ozCDys#Vcp1^i#{1>R&Eh!1R!%~rfU zHbil|fyc@w13CSA51O1FCTLs-@h#|8Ks>o*5X+nK%Uk_Jq|F^=%dF@9Vtm9gfOH=; zc@O-$dhq_%j@SNv^Rd|8ZTb8$#gx3>b|{N^Ug1j^>uzuCAKVOBYMGoOt}}%@xjtbHkL8D+Yg~x*GxWe$^rzyKlXe+;wpe*tPM+ w!Wp(17pk_Mh|EpASF&Q*)AM%2iW)(~uBA3vrOgn%kFcAYO3;UCWB}9u0x;fdwg3PC diff --git a/HideCharacter/obj/Release/HideCharacter.csproj.CoreCompileInputs.cache b/HideCharacter/obj/Release/HideCharacter.csproj.CoreCompileInputs.cache index 3811e62..de05f33 100644 --- a/HideCharacter/obj/Release/HideCharacter.csproj.CoreCompileInputs.cache +++ b/HideCharacter/obj/Release/HideCharacter.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -e42d4e2d526b5e9021369ff53676b171dbb78a79de1d260ce81d1d37d0e46cf2 +cd9d2ad4bfd553f20993642bd029f6938ef1781f8d488fae23bb311c819125fb diff --git a/HideCharacter/obj/Release/HideCharacter.dll b/HideCharacter/obj/Release/HideCharacter.dll index 9de155ba2dcb451be9d513bd53302adefdfbf59a..808fe70b45a2d018ed98e7aa067fc9a098aeb4a3 100644 GIT binary patch literal 19456 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 literal 11264 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 diff --git a/SceneSnapshot/PrintTool.cs b/SceneSnapshot/PrintTool.cs index 284a555..68fb704 100644 --- a/SceneSnapshot/PrintTool.cs +++ b/SceneSnapshot/PrintTool.cs @@ -1,6 +1,8 @@ using System; +using System.Collections; using System.Collections.Generic; using System.IO; +using System.Reflection; using System.Text; using UnityEngine; using UnityEngine.EventSystems; @@ -11,6 +13,8 @@ namespace SceneSnapshot internal class PrintTool : MonoBehaviour { private const string FOLDER_NAME = "GameObjectSnapshots"; + private const int MAX_REFLECTION_DEPTH = 3; // 最大反射深度,防止循环引用或过深的对象图 + private const int MAX_COLLECTION_ELEMENTS_TO_PRINT = 5; // 集合最多打印的元素数量 private void Update() { @@ -19,7 +23,6 @@ namespace SceneSnapshot private void CaptureAndPrintSceneInfo() { - var desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); var outputFolderPath = Path.Combine(desktopPath, FOLDER_NAME); @@ -36,7 +39,7 @@ namespace SceneSnapshot Debug.LogError($"创建文件夹失败: {outputFolderPath} - {ex.Message}"); return; } - + var activeSceneName = SceneManager.GetActiveScene().name; var timestamp = DateTime.Now.ToString("yyyyMMdd_HHmmss"); var fileName = $"{activeSceneName}_FullSnapshot_{timestamp}.txt"; // 修改文件名以示区别 @@ -75,7 +78,7 @@ namespace SceneSnapshot sb.AppendLine("================================================="); - + try { File.WriteAllText(fullFilePath, sb.ToString(), Encoding.UTF8); @@ -116,7 +119,7 @@ namespace SceneSnapshot } /// - /// 尝试检测鼠标位置下方的UI元素或场景对象,并将其路径追加到StringBuilder。 + /// 尝试检测鼠标位置下方的UI元素或场景对象,并将其路径和组件信息追加到StringBuilder。 /// /// StringBuilder实例。 private void AppendMouseHoverObjectInfo(StringBuilder sb) @@ -125,8 +128,10 @@ namespace SceneSnapshot var eventDataCurrentPosition = new PointerEventData(EventSystem.current); eventDataCurrentPosition.position = new Vector2(Input.mousePosition.x, Input.mousePosition.y); var results = new List(); - - if (EventSystem.current) EventSystem.current.RaycastAll(eventDataCurrentPosition, results); + if (EventSystem.current) + { + EventSystem.current.RaycastAll(eventDataCurrentPosition, results); + } if (results.Count > 0) { @@ -134,7 +139,11 @@ namespace SceneSnapshot var uiObject = results[0].gameObject; var uiPath = GetGameObjectPath(uiObject); sb.AppendLine($"鼠标下方UI路径: {uiPath}"); - sb.AppendLine($" - 所在场景: {uiObject.scene.name}"); // 添加所在场景信息 + sb.AppendLine($" - 所在场景: {uiObject.scene.name}"); + + // 添加UI对象组件信息 + sb.AppendLine(" - UI对象组件信息:"); + AppendGameObjectComponentInfo(sb, uiObject, " "); // 增加缩进 return; } @@ -143,12 +152,15 @@ namespace SceneSnapshot { var ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; - if (Physics.Raycast(ray, out hit)) { var sceneObjectPath = GetGameObjectPath(hit.collider.gameObject); sb.AppendLine($"鼠标下方场景对象路径: {sceneObjectPath}"); - sb.AppendLine($" - 所在场景: {hit.collider.gameObject.scene.name}"); // 添加所在场景信息 + sb.AppendLine($" - 所在场景: {hit.collider.gameObject.scene.name}"); + + // 添加场景对象组件信息 + sb.AppendLine(" - 场景对象组件信息:"); + AppendGameObjectComponentInfo(sb, hit.collider.gameObject, " "); // 增加缩进 return; } } @@ -160,6 +172,299 @@ namespace SceneSnapshot sb.AppendLine("鼠标位置处没有检测到UI元素或场景对象。"); } + /// + /// 为指定的GameObject追加其所有组件的信息。 + /// + /// StringBuilder实例。 + /// 目标GameObject。 + /// 当前的缩进字符串。 + private void AppendGameObjectComponentInfo(StringBuilder sb, GameObject obj, string indent) + { + Component[] components = obj.GetComponents(); + if (components.Length == 0) + { + sb.AppendLine($"{indent} - 无组件"); + return; + } + + foreach (var component in components) + { + if (component == null) + { + sb.AppendLine($"{indent} - (空组件)"); + continue; + } + + // 尝试获取Behaviour的enabled状态 + string enabledStatus = (component is Behaviour behaviour) ? behaviour.enabled.ToString() : "N/A"; + sb.AppendLine($"{indent} - 组件: {component.GetType().Name} (Enabled: {enabledStatus})"); + AppendComponentPropertiesAndFields(sb, component, indent + " "); // 更深一层缩进,显示组件的属性/字段 + } + } + + /// + /// 利用反射为指定的组件追加其公共属性和字段的信息。 + /// + /// StringBuilder实例。 + /// 目标组件。 + /// 当前的缩进字符串。 + private void AppendComponentPropertiesAndFields(StringBuilder sb, Component component, string indent) + { + var bindingFlags = BindingFlags.Public | BindingFlags.Instance; + var componentType = component.GetType(); + // 收集所有公共实例属性和字段 + var members = new List(); + members.AddRange(componentType.GetProperties(bindingFlags)); + members.AddRange(componentType.GetFields(bindingFlags)); + bool hasPrintedAnything = false; + foreach (var member in members) + { + // 排除一些常见或特定组件上可能导致冗余或问题的属性/字段 + if (IsMemberToExclude(member, component)) continue; + object value = null; + string memberName = member.Name; + try + { + if (member is PropertyInfo pi) + { + if (pi.CanRead) // 确保属性可读 + { + value = pi.GetValue(component); + } + else + { + // 忽略不可读的属性 + continue; + } + } + else if (member is FieldInfo fi) + { + value = fi.GetValue(component); + } + } + catch (Exception ex) + { + // 捕获获取值时可能发生的异常 + sb.AppendLine($"{indent}- {memberName}: <获取失败: {ex.GetType().Name}>"); + hasPrintedAnything = true; + continue; + } + + // 格式化值进行显示,初始深度为0 + string formattedValue = FormatValueForDisplay(value, 0); + sb.AppendLine($"{indent}- {memberName}: {formattedValue}"); + hasPrintedAnything = true; + } + + if (!hasPrintedAnything) + { + sb.AppendLine($"{indent}- (无公共属性或字段)"); + } + } + + /// + /// 判断一个成员是否应该被排除在打印列表之外。 + /// 用于过滤掉冗余或可能导致深度递归的成员。 + /// + /// 要检查的MemberInfo。 + /// 该成员所属的组件实例。 + /// 如果应排除则返回true。 + private bool IsMemberToExclude(MemberInfo member, Component component) + { + // 排除从UnityEngine.Object继承的常见属性,这些通常是GameObject级别的元数据, + // 或者可能导致不必要的递归。 + // 特别是gameObject和transform,它们的类型就是GameObject和Transform,递归它们没有意义, + // 且其值就是组件所依附的GameObject和Transform,已经通过GetGameObjectPath显示了。 + switch (member.Name) + { + case "hideFlags": // Unity内部的标志,通常不需要显示 + case "name": // GameObject的名称,已在路径中显示 + case "tag": // GameObject的标签,可从GameObject直接获取 + case "layer": // GameObject的层,可从GameObject直接获取 + case "useGUILayout": // Unity内部GUI相关的,通常不作为组件值关心 + case "runInEditMode": // Unity编辑器模式相关,通常不作为组件值关心 + // 对于Component基类上的gameObject和transform属性,它们直接指向宿主对象和其Transform。 + // 打印它们本身就是重复的且可能误导(不是组件内部的独特“值”)。 + case "gameObject": + case "transform": + case "isStatic": // GameObject的isStatic状态 + return true; + } + + // 进一步过滤掉一些Unity内部或编辑器相关的属性,这些属性通常在运行时不提供有用的组件值信息。 + if (member.DeclaringType == typeof(Behaviour) || member.DeclaringType == typeof(MonoBehaviour)) + { + switch (member.Name) + { + case "isActiveAndEnabled": // 行为体的激活状态,通常与enabled一起考虑 + return true; + } + } + + return false; + } + + /// + /// 格式化对象值以进行显示,特别是针对Unity的常见类型,以避免循环打印和提供简洁输出。 + /// + /// 要格式化的值。 + /// 当前的递归深度。 + /// 格式化后的字符串。 + private string FormatValueForDisplay(object value, int currentDepth = 0) + { + if (value == null) return "null"; + Type type = value.GetType(); + // 深度限制检查:如果超过最大深度,则返回提示信息 + if (currentDepth >= MAX_REFLECTION_DEPTH) + { + // 对于集合,提供更具体一些的信息 + if (value is Array array1) return $"Array (Count: {array1.Length}, Max Depth Reached)"; + if (value is IList list1) return $"List (Count: {list1.Count}, Max Depth Reached)"; + if (value is IDictionary dictionary) return $"Dictionary (Count: {dictionary.Count}, Max Depth Reached)"; + return $"[{type.Name} (Max Depth Reached)]"; + } + + // 1. 基本类型、字符串、枚举:直接ToString() + if (type.IsPrimitive || type == typeof(string) || type.IsEnum) + { + return value.ToString(); + } + + // 2. 常见的Unity结构体:特殊格式化,避免深度递归并提供简洁输出 + if (value is Vector2 vec2) return $"({vec2.x:F2}, {vec2.y:F2})"; + if (value is Vector3 vec3) return $"({vec3.x:F2}, {vec3.y:F2}, {vec3.z:F2})"; + if (value is Vector4 vec4) return $"({vec4.x:F2}, {vec4.y:F2}, {vec4.z:F2}, {vec4.w:F2})"; + + // Quaternion默认ToString()会显示x,y,z,w,但有时EulerAngles更直观。 + if (value is Quaternion q) + return + $"Q({q.x:F2}, {q.y:F2}, {q.z:F2}, {q.w:F2}) (Euler: {q.eulerAngles.x:F2}, {q.eulerAngles.y:F2}, {q.eulerAngles.z:F2})"; + + if (value is Color color) return $"RGBA({color.r:F2}, {color.g:F2}, {color.b:F2}, {color.a:F2})"; + if (value is Rect rect) + return $"Rect(Pos:({rect.xMin:F2},{rect.yMin:F2}) Size:({rect.width:F2},{rect.height:F2}))"; + if (value is Bounds bounds) + return + $"Bounds(Center:({bounds.center.x:F2},{bounds.center.y:F2},{bounds.center.z:F2}) Extents:({bounds.extents.x:F2},{bounds.extents.y:F2},{bounds.extents.z:F2}))"; + if (value is LayerMask layerMask) + { + // LayerMask的值可能代表多个层,或一个单一层。LayerToName只能转换单一层。 + // 对于多个层,返回其原始值更有意义。 + return $"LayerMask(Value: {layerMask.value})"; + } + + // 3. GameObject/Component引用:只打印名称或类型,避免无限递归 + if (value is GameObject go) return $"GameObject:'{go.name}'"; + if (value is Component comp) + return $"Component:'{comp.GetType().Name}' on GameObject:'{comp.gameObject.name}'"; + + // 4. 集合类型:现在会打印内容,调用专门的辅助方法 + if (value is Array array) + { + return FormatCollectionForDisplay(array, currentDepth + 1); + } + + if (value is IList list) + { + return FormatCollectionForDisplay(list, currentDepth + 1); + } + + if (value is IDictionary dict) + { + return FormatCollectionForDisplay(dict, currentDepth + 1); + } + + // 对于其他不可转换为Array/IList/IDictionary的IEnumerable,但又不是字符串的类型 + if (value is IEnumerable enumerable && !(value is string)) + { + return FormatCollectionForDisplay(enumerable, currentDepth + 1); + } + + // 5. 其他复杂引用类型:只打印其类型名称,默认不深入其内部 (除非深度允许,但在深度限制前这里只会显示类型名) + return type.Name; // 例如: Material, Texture2D等,只显示类型名 + } + + /// + /// 格式化集合对象以进行显示,支持深度限制和元素数量限制。 + /// + /// 要格式化的集合。 + /// 当前的递归深度。 + /// 格式化后的集合字符串。 + private string FormatCollectionForDisplay(IEnumerable collection, int currentDepth) + { + if (collection == null) return "null collection"; + Type collectionType = collection.GetType(); + StringBuilder sb = new StringBuilder(); + // 尝试获取集合的类型名,去除可能的反引号(用于泛型类型) + string collectionTypeName = collectionType.IsGenericType + ? collectionType.Name.Substring(0, collectionType.Name.IndexOf('`')) + : collectionType.Name.Replace("[]", ""); + sb.Append(collectionTypeName); + + sb.Append(" ["); + int i = 0; + foreach (var item in collection) + { + if (i >= MAX_COLLECTION_ELEMENTS_TO_PRINT) + { + sb.Append(", ..."); + break; + } + + if (i > 0) sb.Append(", "); + if (item is DictionaryEntry entry) // 针对非泛型IDictionary + { + sb.Append( + $"{{{FormatValueForDisplay(entry.Key, currentDepth + 1)}: {FormatValueForDisplay(entry.Value, currentDepth + 1)}}}"); + } + else + { + Type itemType = item?.GetType(); + // 针对泛型IDictionary,其元素是KeyValuePair + if (itemType != null && itemType.IsGenericType && + itemType.GetGenericTypeDefinition() == typeof(KeyValuePair<,>)) + { + // 使用反射获取Key和Value属性 + PropertyInfo keyProperty = itemType.GetProperty("Key"); + PropertyInfo valueProperty = itemType.GetProperty("Value"); + if (keyProperty != null && valueProperty != null) + { + object key = keyProperty.GetValue(item); + object value = valueProperty.GetValue(item); + sb.Append( + $"{{{FormatValueForDisplay(key, currentDepth + 1)}: {FormatValueForDisplay(value, currentDepth + 1)}}}"); + } + else + { + // Fallback in case Key/Value properties aren't found + sb.Append(FormatValueForDisplay(item, currentDepth + 1)); + } + } + else + { + // 格式化普通集合元素 + sb.Append(FormatValueForDisplay(item, currentDepth + 1)); + } + } + + i++; + } + + // 尝试获取集合的实际数量 + string countInfo = "N/A"; + if (collection is ICollection c) + { + countInfo = c.Count.ToString(); + } + else if (collection is Array a) + { + countInfo = a.Length.ToString(); + } + + sb.Append($"] (Count: {countInfo})"); + return sb.ToString(); + } + /// /// 获取给定游戏对象的完整层次路径。 /// @@ -180,5 +485,6 @@ namespace SceneSnapshot return path; } + } } \ No newline at end of file diff --git a/SceneSnapshot/SceneSnapshot.csproj b/SceneSnapshot/SceneSnapshot.csproj index 39addd0..a64f2f9 100644 --- a/SceneSnapshot/SceneSnapshot.csproj +++ b/SceneSnapshot/SceneSnapshot.csproj @@ -12,7 +12,12 @@ 1.0.0 - + + D:\steam\steamapps\common\Escape from Duckov\Duckov_Data\Mods\SceneSnapshot + false + none + + False diff --git a/SceneSnapshot/bin/Release/SceneSnapshot.dll b/SceneSnapshot/bin/Release/SceneSnapshot.dll index 9a5dddd3729b639e2b2ce2e5a0d951a0cfe41683..5351299e1e0ea8e81dc8fef1b9275771c7d93db5 100644 GIT binary patch literal 15872 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 delta 2826 zcmY*b4Nz3q6+Y+v!m>VL`BBlu<<|x2%0GzI0YM`mzXH~%gDd;MRounhwF%S2T}EhQ zi;Z~4beuG{YIWk+#_Vjy3{CoD5^HR9Ol+NmnWRmpvD(RWVyyjf(rVAWtfqNzzjwZK z&OPVcbKl`&@b;0 znY!jO=8|^@x6}hv$Wz&=)~x_m;w38pdRVqp%r@c@%l1X2a?r?P-^DDWLME}E1`q0B z=Wuc2R+11YK)sNT9;4e3H`vkYRN->y&J`I5r@q%Y{Xx%g@k`=g*V< zl>nCG`SWFeISG?4vK-G}Ap5HXW5?8}EQ5>nY8x`v=^6eOQl~05#o0=NRZ4Ig>WwnTkyQvot3)(PGj4+%Q|x z*JiY$EXmo;ZrhwIt+ZvidjX!L`@1^H>q7yrZzw1_M@79&ZO-jo56L#Zk0d|V+uTHV z2XUv&`cezR)kOKm^9`Y5sMP@7G>}GGoO79vhkgLJWzMkbHNy=0#utN>W20WpTq6YKT zE?t9fDVd4^eHhg=n1@^rXrpMrhlComsB<&}vK20$giOT-eQ=i|BkTYhoY3y7889h4 zH&HGFCP)rv!YZAIm;yfS3Z;J*3d9P2FR!L`oYpyhqHugsOpD3fbAmh#s8D$+`($2R z6u8fFDp7+YR2CTM*bAQAG0W^l!&U{|CFZegc` zXZZGfkLXPJ8;|Ixh%oYq-6j@(#JKJIg1rU*pp_v!7iVu!FA$CjHU?`2dpFLO3HC3+ z9wvMcx4kB8X<@P8F*qoKuFVCy#^4p@pOmmOZ)L;Rj1qun1p_DM349f*+5ZElROW;O4pV3 zEk6;4Lfnmep%lBdal#Y&erQ0CwilZ5tb7oT(BEO9IYOES^&o6S2OfiCVBldm4LkHx zgs0>)^Z@hFQ!t1xlmAZboRD89|Bc#t@{j2k2_4#1(%ALu(1oYu!w`1ke3$_*Zqffp zHU2>RH`TsXe!x?zG9vOcQJB!VW~Y{jQE1YVu?wHWML32kS$VlRcnSK{LOc&&XfDFF zr!b&DPWTStkuas%LS~;bfL5`B{dhy(O>(OKG@(@) z!@r6KMqx942ajQcGD#TH4`CE*_2=<(NK#Ky`rBFw>=zLXdjI?!U62Gxk_%EHjc_59 z6Xrr4;ZhhUEQcQwhF8F8x-|-Hg;z*kPuK{X;3A=ga6rfdad`kPOZ$XopU~`s0r%76x)>7y*2SWZpS^QoOLuRPIw`WZa)V29Ndxp)Gu%=^O z)9UX2_J+3A(ChPtMpyfWygt*_+YIYRgCTR5tGR<+T~uA@Geg0U+vjlyJkV;6Hu^oL z2-ju?gYF>{nwz}A5r5FVjlF1p-@3-@^K@+6LFqdNV`sB|hwN2HE3;-7vBB)ES*!g1 zVbkps^LM$uzK5y0&B0-FfYs$JXW^V4dy_XH>K|?P4fEuTHdmR_C3SH?rp;++n(3VUdt~xUER$Q8$Fh-}LloHv`dQ03wO-PI9-V+Rfh#_KyVoeCId!Z1)B{on|2D_cgkAnE^Lj zS5@J9IPY?N9#4PdH#NtbF9bim*%&=k9slH`aL`r9UaHEJ8td3^tDLdVtL(^-(0vda#b}4IF@hVO0Nu=*v{zdAki>1_k JhEpZ_{{R5$F_i!S diff --git a/SceneSnapshot/bin/Release/SceneSnapshot.pdb b/SceneSnapshot/bin/Release/SceneSnapshot.pdb index c67b77268f9276fd85e43a6b5a8e0fea16cf00ce..3e3de12453862556a2111d670e68c220cf22e38b 100644 GIT binary patch delta 2853 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 diff --git a/SceneSnapshot/obj/Debug/SceneSnapshot.GeneratedMSBuildEditorConfig.editorconfig b/SceneSnapshot/obj/Debug/SceneSnapshot.GeneratedMSBuildEditorConfig.editorconfig index 7ec4bf6..1724fc1 100644 --- a/SceneSnapshot/obj/Debug/SceneSnapshot.GeneratedMSBuildEditorConfig.editorconfig +++ b/SceneSnapshot/obj/Debug/SceneSnapshot.GeneratedMSBuildEditorConfig.editorconfig @@ -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 diff --git a/SceneSnapshot/obj/Debug/SceneSnapshot.assets.cache b/SceneSnapshot/obj/Debug/SceneSnapshot.assets.cache index 6e8413bbf3349af9aacaa752588b594a582d4cb8..5bdef6f59bada03c29ae84d985684a495827772e 100644 GIT binary patch delta 49 zcmV-10M7sJ1?~kXP)kQa3;+NC`NZki?o9^1V=@TCAGbxzcrmn9RVBI}vU-!i<|Bk9 Hu_(p@^}!U^ delta 49 zcmV-10M7sJ1?~kXP)kQa3;+NCtCwTi)!&sO#(Amp(kVO@_9;g4V-<#wE_tD!&SsoB Hu_(p@27DF8 diff --git a/SceneSnapshot/obj/Release/SceneSnapshot.AssemblyInfo.cs b/SceneSnapshot/obj/Release/SceneSnapshot.AssemblyInfo.cs index f90e06b..64be909 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+2af09007f967b42ac04776167f814297d14582e3")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+2b7943339c8fff4147e07028e81b3fff19ff0d80")] [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 ae46ee9..03b67a3 100644 --- a/SceneSnapshot/obj/Release/SceneSnapshot.AssemblyInfoInputs.cache +++ b/SceneSnapshot/obj/Release/SceneSnapshot.AssemblyInfoInputs.cache @@ -1 +1 @@ -059d393a593444cbbfade46bc154efc9d0e32b1f1b1636870bc8de347b95447d +2f140dae1dc23271ae8c394fe95f090beff12b9a0cf8188ff19a7e6d42bca22f diff --git a/SceneSnapshot/obj/Release/SceneSnapshot.csproj.AssemblyReference.cache b/SceneSnapshot/obj/Release/SceneSnapshot.csproj.AssemblyReference.cache index e17280e414f6aee31693604d70e73fe70ad6baaa..6391f5fe58dfcd7817ffdc3db3dbb762c1416d48 100644 GIT binary patch delta 4868 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 E1yORX3IG5A delta 27 jcmZqK$liQ|m6eS#pMha=yo<}^1)`jdL0f|uH)aC>cdZE8 diff --git a/SceneSnapshot/obj/Release/SceneSnapshot.csproj.FileListAbsolute.txt b/SceneSnapshot/obj/Release/SceneSnapshot.csproj.FileListAbsolute.txt index b232b9e..f3d21c6 100644 --- a/SceneSnapshot/obj/Release/SceneSnapshot.csproj.FileListAbsolute.txt +++ b/SceneSnapshot/obj/Release/SceneSnapshot.csproj.FileListAbsolute.txt @@ -8,3 +8,13 @@ D:\vs_project\ThirdPersonCamera\SceneSnapshot\obj\Release\SceneSnapshot.Assembly D:\vs_project\ThirdPersonCamera\SceneSnapshot\obj\Release\SceneSnapshot.csproj.CoreCompileInputs.cache D:\vs_project\ThirdPersonCamera\SceneSnapshot\obj\Release\SceneSnapshot.dll D:\vs_project\ThirdPersonCamera\SceneSnapshot\obj\Release\SceneSnapshot.pdb +D:\vs_project\DuckovMods\SceneSnapshot\bin\Release\SceneSnapshot.deps.json +D:\vs_project\DuckovMods\SceneSnapshot\bin\Release\SceneSnapshot.dll +D:\vs_project\DuckovMods\SceneSnapshot\bin\Release\SceneSnapshot.pdb +D:\vs_project\DuckovMods\SceneSnapshot\obj\Release\SceneSnapshot.csproj.AssemblyReference.cache +D:\vs_project\DuckovMods\SceneSnapshot\obj\Release\SceneSnapshot.GeneratedMSBuildEditorConfig.editorconfig +D:\vs_project\DuckovMods\SceneSnapshot\obj\Release\SceneSnapshot.AssemblyInfoInputs.cache +D:\vs_project\DuckovMods\SceneSnapshot\obj\Release\SceneSnapshot.AssemblyInfo.cs +D:\vs_project\DuckovMods\SceneSnapshot\obj\Release\SceneSnapshot.csproj.CoreCompileInputs.cache +D:\vs_project\DuckovMods\SceneSnapshot\obj\Release\SceneSnapshot.dll +D:\steam\steamapps\common\Escape from Duckov\Duckov_Data\Mods\SceneSnapshot\SceneSnapshot.dll diff --git a/SceneSnapshot/obj/Release/SceneSnapshot.dll b/SceneSnapshot/obj/Release/SceneSnapshot.dll index 9a5dddd3729b639e2b2ce2e5a0d951a0cfe41683..fa5efa25804b4a086cd925c47440e8d4e85bc3ba 100644 GIT binary patch literal 15872 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 W?Emp+7<(Vv&dc>*KmXz)@IL`RiGUaY delta 2866 zcmY*b3s98T6+Y*G^70p!hlqm9V{t)>yhWrL5HvjG{jf$HT-YC2#Qkx1ZNfBhmr>H# zVk6!$9Vd;gTAesHH9MOzLz6yCVvG|V6I&-?CTY`YtadV;SZg0n+Sqe1Xqq4H_n+^a zbMHC#+`IR`p(jI|4nET~VlBE13(qHzWsk)ofDBS-^U8s0dfTbhPy>h;vIL+A`qdjk zGuH}@#pK<_Ej0jT@=Ru8+;)IC;zjEKx>=@Fz_#GZn33hAvQx`o-@^=}OeV308Xwfo z&f$va?IckY$YH<7tkgQ51U(JZBv9d&gXClYcD_83wO2S;yJW)^kwGb0&dUctM~Zgb zu|&4Y0b-6jQe~@@gy}-E9Cs|0tqQ@|F*Pj9P{?|;%_*Do6sw8UiHc2eHj@x1ML7-j zhF0-NzO#jRl9S@a6zmYhxt?UJmB6MsX}&Q9{Sry-T$@7RG^l=wy6pR}#Cr6qvV7UM zM22z8Nw!?s_v}NNl1(g<#k^F21UbpMn2)CUW@YxWEqPT3u~=Qq!*`x~X-=wROpI=E z!+c8LnA7qzBxfhPZF4>nN2`{-2jB^Mzo(Pj74Uhy!+udbO6nb|baqb{#M}5%lKf~- zV?Dj?#GNwhP0S6hAM;O*)`1 zhTqT-8f=!PWesxVCPjmY#Bp5U0fBb})<{i3GTcPoxkFAPxm4pQNoh(9jH&_IfXCGd z)F4&u&^7pulBO8Yi(yTJCCFu;Hh~6wM5sZNx=1r1Q{nPSNKljb6^<{8ZV{P#PLZbpWhzf) zugsGR1NT`=DQa+plB2##6D5(X+*J)KKaUb6uub43#Z3vq6wNOMBtl-$Ob(PW5sZiH z__134kQGv?Iinv6*VliKki>=(V(neEH%*QVJ+-8Dbz8uBv~;T(IOD*b&Ny zTi9;r5uQ$Ui^>GQ^^kss2;&dgZDPTPjN5)7*jw-qni;}#3+xT51;SCmCZR#F_ZHY{ z!Tu%KgMjxJY_ADhQcz5I5)O(%8?u3(Nq9y1Ck1TJnP-=j`>4RQW1d}H`CPkXwf*O zbiz`cl^+j69`3?DP>h}0KEf0FeyByawg(#Vtb7oT(BEO9IYOFR^&o6PJ062$VBldm z4Ws%g!c+1Y+Q5A185qKs$$y7-PROs5{}$~$`A77Ngm&#JY0~xU(1EAq!w_^~D$Icg zx9NYN9Dk_&n{wYS-{&D!84-DyFih!OvqOuO0ET?u}|s78T9Fo5xz@!BuHVlk=d&ZVw{-4e!L;?A~{ii ziZD)@#J`9FhM^C?i^s55nI;VAhcJv)`t$fVh*eKg_}f|$>=z>#^a=U}7D6n=l~5 zFbIE_-h?bjli#Fc#xB>w7Pti^cm_vN3GuD@|4#uO)6!Qu1;RK*A5J{VKW@qAgzMLP zRB-bZf`OaDnhu$?fiqzj9f73SRy2Wzu9y1?- zjcuFiH+1&5*0yYb9A`?zVwZ3g0#qIh*lYWUtzrSzKm58_L|C zvEH)AOqW;m-|6yrAB5^OhsMl7R-Lt$1+%)->peb^|3ssA$bw-D+Pt+x0n^uI26m6L ztn3=*&+cbh&g!Vv-D6{}fiaVfsE zROd5Y0drw+HkX@DM`uJ{`K6S))c#|AB(`@T?I{&1E(0^MWixFa-kT5gMR6AXl4X?S ztq5Jv>_}ZN&{>`kx+H0Fs$IgkIIc|yU138dxywTDN7;#7Cwnw~ElG+`m{9Ft3w_K! zDy@i-wRBa|=-*(4Woc|z*;&?I{zS>^v+}2aE$#fO<)*fet{3~##Uusr{gg;;CAC{* zyOqw~F3$*dcGY*i^rZKh8vk1j(GNCO zI@eCq=j!VkG`(h**EQ}Ru>yV8z-V8mNxQ*se%(?y?jC@yhT4+y3V0Ca@k?`JKID^Jcs`WaW0gm- tlHIG!#-vF4+A}B@fyUmgTE&{yy-Ih=?r6FP^P8)?I+9TRInEU6{{w|fMDG9q diff --git a/SceneSnapshot/obj/Release/SceneSnapshot.pdb b/SceneSnapshot/obj/Release/SceneSnapshot.pdb deleted file mode 100644 index c67b77268f9276fd85e43a6b5a8e0fea16cf00ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15860 zcmai52V4_N6W@g1K~(JWY=|X-3W6vCNq`VS2OB6M2@niPOrcmQqM+EYgCdHG6%YXt zP^|dGh8;Whg1uou{dVszm;;_4KQ6h=&3|TgcXoDWch4=*%Z&mk0R0)l%a7q^8D~qg z!F~YRU=F;Q1h4*n{0Q{hRd`9Musja{h6VtQu-rdTArp$DfGXmZ0!63@{}y0+As*)N>IN^w3(|oJkklRC zDd6{P_}u`%AH(nd6bcwYK@{Xa3fOH=0k`4x3|>^EBBbs%h6?t=Yn1~Pyn|OLtSOSA z0lDF-=)kgeo3f5tc?5i}t5)s_%leQ5mB1st4b;j8P&HK6h0jOAXZ?xida&FDirhk! z^?Na%joX~Q8t0)D0pv8lucoI7rgHaFC$2A zM$pqB43*7c*&jahCZ2bJ<=yap22t(`%g5n;AiRtry#;~ygk|(6!akA3P_VwDf_!+d z0owxE7BWpO451Bf!FxRr13&eN+Lyq4V~__wO|Yi`T!Hr*U?2R{!Ylx92MRa>f1!d} z?CE&;sSPf|PaO~pKLHTHivr@XdkVN}kF0tiXN%kxG%s9a8#n712N`#J(g-g;c3IXke>aEi& z%*@>uEr~ZyTer9C*9iX!wK`YKRs@2hzWLNGTCaYU)n}%9t-a+Qv7n0GpzFbzC)Nw~ zF1&Ttv@%9v1gMO$`f>8Ev=DIAZg@Pt$zjPoN=mZEv0jtd`lEsv8yvLsOjNaNXd@M_mfdNj6;d(`cIQXqwIN zQM8eEqwVcz4nresxQ<+YM5Mhf-##+JUJyB2U^hx&<7j7R7s<7cu#dELaE#;$B7ul2 zj#6@?1c2Tj$YIm-1jCU{59djg&>Ths+)Rhhfc60xiDGW7kjE8?61|1u83MkyFha(a zB?5^QnwxMI7c)K?-mX9@;wmsRbrmPlrAi=!453lB>g-6fq1oCD71&1FIyyMmM+!!b zvK#GaKZ-k=JI2w5=iq1`F)Gs0(H<(wAH%h4)wGp?1Dv$PaAa{KL;}DRV_$qhq);pX zK>@CG=CA;!H`6tcISh4hkgE^FHGrXhKXSUQdeL^e&2-;@=^g=0*C1v9`HAg+J{kF+ zPe%RclhObA#O^7yLiZ*Xs3>Fl)&ff{@cF`A@l%6e?%PeCESUR!i@rO@mk}%$ zDpVYAjM7R$4%?t|n!tZ`f1lDb(+W;zyVkN4f>=1h6!O4CIlLvfh78?U1sW+}&5it- zR%0G=iWk)Xv{bULbA&vZL@tR`&?XASqejx;0FQ-kEe?)8T=DIx?{9-70OEGC2KIlI z@3AK8VXA)Cq%*N{obgp$bct9YNKg>;vC}heAO%FBdp>N^ig7Co zUApa)=i^#}-c1=935O~{{3vL3IU;V#UX(Co#U)NUi>sM@4oC@Nx3Qa?*r#-c#j_4zPhz0Z+&k31+hI55-DW9zZ?Z!YIX&gdA!M3bc(bohK%d7@ZV z>GjX@_9GtWb36`h){rokEJ#VKUbE$4$2{7ZqIJOJtq2~}oER)V7slB?V`_YDbN4MB z!-Eo~0@%mUX)6RWqT8)R^mb2@x-U z)RI`S)s(T$#kg?Rm)~PsiDfFvUfz2?Bg%580UmSS>~Jf8w62JL$Y%;ciGl{y3(y@9 zddy+-&LhA!spnyr%~ySj3I-I6SKfxl&v)(!hSUzkW`9EF_lrkM zkj!syZm%+RN@XQ?uZn!QBxCx2fMGI70KFw&FgqG)=PX_IZ7_S?!?_9P8WTv)oX4&lbX_RP9ZUBTI*AE=hA%vL#%>sp|DuFhut6wAZxtjd6JohckOjd9G z_d7f)2sFzV^RzJDMpy+K+`OZH)bY*6Ynge~FM=BqtW=)54F-)Tf*Y>z-p#YW zB9YEN8y1>BOJJw;O5Y?}Xj;>;$SFc8;y{SLaqV&~!X6$vC|hywF0-_U)ACw>k;5M> zE@O7ESuvu!FfV69Z<}eJ`Qc4-E)1R%{fDldT9iYMHxcBR#>3Llt}M?*D<;ijyiIEC z5WmQ__P})izG(Ef?QR@wFFi6V3<-R=P)Q$3A@z4KI2a995VyGA& z7YNsd1YA{sXC_^b%~mZ;<>nK=7cq;d8>4D!o~wcpm_p1X>hsfO5T=!!Q%Cu6WiVZVAqQ?* z=JHI;0=LX-pju7#@jW1#(tYpuAqUhU{z`!?5hW7@=Capm%q0w^W!~HUZY6z9(Vc+; zFxL*OQv*U zFY)7NWnZtqtw!jnP)G^3Svy@Y70%|`X@7g=#ICe&%ysCs>a!X(T7(D?KxAkn^ef+WYOy*_poo{qW}wj^i^bg<-c+4if|`(qdn0FmcN1rO z<%Ei=mtN1>sD}0X?K z_d zKPd?)xVjU`xHa`&FaLT^c0rA$&MQ`APj!TZHv^^wM3d!TU3C=!1|D+s-(s-RD|2uC z?P&*IvDE+*1reSCE?lh0F;Yf4kcusz#_M+6qw#VL0`P3`cB`_0@cxeBACcXY&x=m;UtUDzECJq7H%Sh@^E+V`*1o9eb%y zS~SOKm~Zy7lbMX8zf=~DuOQ)3JuW8ZTq-u|zuw4kD(zFpuI#?f?Nt6sdqSxIK_rpy z&=^8FT;t+J!;mXMl|p*-I=&oLNyInN>ZJ&0Ep68CdTVLrn)Ya1n!}NgNr*mt-^Wd- z3)j*&r)cb`bTU;XEo#!3Fo`5u;*qmm6#^w>OgghXH_4@7XQ$1=u~QA&3&B7vZ!A$# z9~>Ju9Zf?VF6f3BeBAlgt3=rEaiDpGYN~82)>{}At%w((PeKJf&*}`sU=B07^K2fK zu}@wxeCn>Pr#n!g?W7-4dk&j#jtrXMwrS%ow+eUq{YMENXWB#CO;z=iZ(`|T&FPgf zO9UaV>u=X8-#rS;Y=z=0Kyq3DX5WOaS1Jl#B3)%h!xa`c_OQ}N^eO6ZG9jh|6prU$ zQ-Ugd-AQl8;xOIwvaTuDO*rW`y-)6D8?)NM@d%g@`gq65LrAFitvrikLneCedZ$}g zk~e0y3PnV1D3gTKn=DWuixa}YofaaLE4d;%!6nA&3pOB&R$H3u=7oAyC2+o{^mgjh zh6`>>i3Lv|wfZHU`NVRg&Gu^296l>d&`03d|hx@Fe6S-DCrTbK_QiX!LV`~NKuV$sVNdT4HAS$gfIb$?*)Z(jFTE?#f}ny`-j z>$+iiFe@wvw@ta>(%v0iiPqu2Xh2mF=G zq*zr*GAFU(7iz_?!j~Jq82Yf+mhYYU*4|2$rnJsybP-n=tE#!Hyx%PZdO4zK!uZ3H z>_x8KOMkz^O61l}o=<_c2#J|KZZKMRqsbN~Rvm z_I*A`_pe;&a#d7PS&*|HDWN;8g|9i|IgbR-&Xw<&J^<`{6BGn)|11(5szL* zziw_G7vNSL>vpn=8U5q0Jlb`E)4889kb(-}#>3?f*T7YF~9%OpD+M><@J z5k|r#ZM3$JTlLra1T4lFEju={`l=o~_t(B5JC*xIZFxZ@#5|#ttLn$(=U*-(9Y#(u zl1&OObgMa^a(eTtZsu)qSl%6|xLla=gB`sX>4 zp1u9(og|$`w^eobVtx*JSKS_sDNj_ijGBshuUlQCri4}XV=nsD)A{E5?yB`AHJve( zA6yzDkkkDeo*;RR-x^D#t6ezxHDp~zxxFV$>NGWYiv}!Zz zv22*V!EkohOq%J%LUH*-4NR_Fl_WTaLcGESV>HhCSvt6pR8EzZ! zCGo1ReegLGTdo{cc11U2?I3n`V$g{n0WDhyu74cy-tHGl(DZK%4x1S0obgOQJ9+t2 z*`P6MglZ`(%^?MA{ntIXoxhfSrDy8qOuUp^s+#-|TRey&MKzugEiaJfp07vArd*jt zUlU$_a*vJqa5Wj^IS=ao5YatU(!yDuDgpQt7lXaqkRw?S$A+e%1AZ@M`b14M}W?6-^6F3D;pJs$lci%?_sWfag zjRKwLSokop`nmtzH(9LQs)*SZcF`W{Ftnvjm>)k=AKNQ9Ic#wf#pD8gn|JVrQ@K`N z?a15KX?Q_$HflYMvqpjU>gM?rTSrG8sFpnlf@=pD19-0%oA zb_XAVXBXx^v+>%$(*N_=T}9SyA;Aiv2yQa9&H|=R0l&}+rF~<`h;xg$zA0`-DPvt< z<+b8CLb1?W0{23Nvm~k^vijQ|Y%<#v+>|Hj)r*<0*4jCs5=1 zw>WzgM-)%XII5kC1KgA{xhl)Z8K!)UPC*Pc=wt9&$J1l=1P3A0;qD!E%3wHbBUNi1 z8^ZO&Ksd~PX}fbTB^NR`28RvEdg<5?2mHx*RjL$ZL@fg@I$-m*7Tx_AfZK-tfGFh{o~`R7#~1nMy~Q_WCl^sTSY4*Y)De~g z7>nJHZEWgYGmM~?N!*n1dmM5e5;KAA=epl{Tc$-`_nI~cyvaOoG8ZEDxrM{xY~9?vmld4a zKZL$@yNVc|k&&VGQK*)H27g4yFJJ%|7>!ngh{F(s+{+WIv4tnC^{K@Zdl!0VK29*P zT@cFbh!xr>gC0wjFyXoc?;ckKl61jPJ6iEv>TFip%v)Md?2mu>3xkgIs95;|%QL;2 zSGj-eG?c#ge9V~Inkh>=W`lF^K=}euE9{&q zm?iv`XePMz87YivQ_XjCo?=^b;sh(n=deATJ*POPcD?)j`hU#Gjdgot&SH>f2&`*= zfB0&;*X!Vg2TR9%=s^tE0Jux@r{m=9dQRodf~?OJqVD$$Pnr-jX1v$Nw_e8{HCJv@ z>C(~a#>?E`Ds{fF;o1 zzl9wPb{Xro=k!wLl{aoa1Xha7Or_iKqIrA4Q7ULmi>UaJ)7P{3d-u=hglThdS`@i+ z1ah>LM%dq+(zx@$MH`GwUmV=K^bx%>xyy$=ueK1AL=X(@FeAnlnYi)F3lL5Pc9Q0v z7R@a7<|8GGcWt^1XMyoH?oBUe7P;V(lxp4MEZ;0UGXrb6{Uo` z=rSyTAc0>G9$k&V=I7GVi{mD`6-{`v(^u)PRIemmgn@C#A&`;quLRqZ5k7R;@X7Ku zYrGdle9r#o%E@OWJUTBVR(MOed=mD|{pKcw^|NW#`Ou%v+04ICa^A+AOUBB`EgN`m z0?c5#09ruy39UCd?#VNETx{ZtCX+xgo{SC4hERsB`jdc_xs}Zb=zOZrmc2;@-dj66#YC3aI;#V5|B*eQ=qHLuUp;8L zm7L)~&thlr!tB3mt5Y%p{jj-&B!d6cqy-tx`XcKy#WhU!dWL01!-9cp)qx&xXNwLS zvrRWloI3IW8pQFrCkLK4ILq2Pc8Al%nRj-RpyaVsF}iUR^6!Tie|)s?qkz48JI&+} zeflF3L?$G6*@(PrM^P(`IXsi{_{%A`ot+Y12Jg60qz>|wDBx+*ww*o8{v+nzqXu>5 zJhn?`=FPn|v@FUUpH2uXWyQkHQ~XR2+M_2mPW;Ki&yeH=a;rmYzqGKDW^V61llnuZ zE}6xFN9{?deqW6~080(9s#&Yke*01E!fr1Vwi~Wjkx(eA_7+5Od1TkNE_6U6mi7Et z6-?`!>A9kEVE(sD~~n&X;QppGUIEo=pu1TGwwfGyd#wEXmcad)!&))5zKl;;e0 zsDph%SPYgc2^O;jrd&q>xO}hv&1&`o_tf{#3>Li!u~LV@H5!-?s7^nS;D?rv{fRv5 z^~(MM(OJ(uGP-O^685-`N7h8g!jsO}j;fdkw`DsTmWM*VU`LCV+Lte#TU*8`tn3+9 z|JjV>hWw%v#RDI2<2GtBq@HV&{vE(PJ9>X&(CBxT)ytZ zYBZSTtEltK`VRIu^egPlv8NRzHwJ_%$DOdn>OGRP-y@&Uv7 zFPt~3>ji^hnShV&z=*jba=p@DChR~Klziu)*|4si+&4U5RZBNl3@72G=tvg_E;Evv zBzdC&Hh(77=*KdAaM zn?k~3XE55%0!AMX9Y@VoRCFOYC#J}!tfg@R%i_vO5>gp~PR8=cGS3H7E zlB=K37WtJd` zlW~P)&-e7*ta=pmtaj_t@axbw)|%#7YcGadlA;0vM+^~C3s)+2Hz1AkziiMs>U`LD zqxm`N%cryJ)a!~OW)y|G!qhNQfo9^aM)9%QubFVT;y*z~sa;2r&i1GX{Nd41w; ze|$HNgvOVXNQ$51c3Ft>aDS(Cy^7o8>3cS0#d1am%q8Kx14$S?rq&VEUS1EZ^qZRo zGq(>Ey)7+HaZ$&#uB2pTNLPX+O;Ei1;;G9Iet91_?G*fCTk}vdF%vFy!8x034xQ*L z&Vf7&P+0%yX)nKKmqS0g>n^V-Q$b$59K2O+geU+K>?BCJDOg9IS zq{YIw5J(l;)uh~xjNR~3>aQo`qS(6{azmGtd`l&v(7|=z-!a>1JB0%eEjOanULUvcYIli=F*XQsV|G?w=nj6kPJ9{-nDl-IGp{( zF!&;Y7oSgCiDb)<&>DsrhP!P@at@tg$$8rztdxmJNViPMNrZfmS`ss*){uQr^ODx| z;g|f{A%oz#8kjCBBs>Y3!@W|iWYl;e)`sKwX0sVbq)jy%#gn?V;{X@riSs$=MVXFr zf+^02FvIeHJ?z%mMX8+pJE6<7U*Es@H&*RZgu%AG@1q*|eCOJQpLTa&W4_Y$b=+95 zzc3-S$d1>$_o3u#|D7gk(aTCk-iVW5NR60XXOge)Y~bYG zn50qqF3$KbY$i^eNYX@Oh+`cx=8T^opSrL$+^hZNSC&@ZC52`of@l> zdvsb_g3&!HbNBpLXT6#YND)?u`y`Su0|)UnRPEF&$Ge+U-E=81>%VwO;Oar@`i2Pk z0&+gKIQ3u=vf4i1%j16jn8QjPS~b%ANuQl$luQB7Sm2G+)^CNLmOMpu%$i`)@Y3}* zr>f;Nvv{99o5X;eb=L3f)re|$>e!IX5`9~*BK`!Ymy@&Zt3%M94yk&D>yO<+pxpy6 zyS>O^v#W;9*k5D8U!)G2M3xizm9`K0^oyPMo%f2c^W3o0ZGHbhhcgBMfUf#R+JHh$ zG$YoU|D514P~)ggDKDp#|BC=UO>jUDcyDK6WCZLrb@hP_6}}rehzcMt&6((pOh-#d z)|Cq1S+v&FH9)_bLcl*}Muwm#U?7op#D;ATLbCcIJMn^s9`T6ft2&~D+MYBZv9}v= zGI>umjcM2mX!wB~&Q$n<>0n)5 zT`){jR|gEC0{HHy=1eN+Oa)Zntf|`z=uqK~f}?(-32=lz16L}1t#ll!VQ)>K1L&IY zjnGk4_!_4b74!mhDlD2(;Tx;{wBcP}bcYp3prW3(K75~23(z#@>rs+&wSfZ|uMIi% zLL&N8b&b&bNd}sObkMgph}8j>n(?spwE=Z*H~8YLaELZ+Mh`_|dmM@`+{coF^<3WfC$8ks^h;cL7!O|}6gsZJZXfDyWor9O2Ce2x?pY63lKye_O7 z1j8AeI=8bnFx2misbd1B8iR4b%?y%Ghq}Obk||Jv#|%vXSV<{H24ET$z9>5wDcnsH zzFzAFMjC>yn!b8qpti0VQcxERM2$9@3M^4;Qb0G|L?bXxQ`ZEwk{)o?)a{H+$s9G` zP@IILpJ)gMX~Pd#k>Oe}olhz<(t~YisSV6ExjJ9~6;=!CG*lPww@$!ncA_ybMDKY2 E58s?cD*ylh diff --git a/UIFrame/ModBehaviour.cs b/UIFrame/ModBehaviour.cs new file mode 100644 index 0000000..7964916 --- /dev/null +++ b/UIFrame/ModBehaviour.cs @@ -0,0 +1,17 @@ +using UnityEngine; + +namespace UIFrame +{ + public class ModBehaviour:Duckov.Modding.ModBehaviour + { + protected override void OnAfterSetup() + { + Debug.Log("OnAfterSetup"); + } + + protected override void OnBeforeDeactivate() + { + Debug.Log("OnBeforeDeactivate"); + } + } +} \ No newline at end of file diff --git a/UIFrame/UIFrameAPI.cs b/UIFrame/UIFrameAPI.cs new file mode 100644 index 0000000..7ca993d --- /dev/null +++ b/UIFrame/UIFrameAPI.cs @@ -0,0 +1,7 @@ +namespace UIFrame +{ + public class UIFrameAPI + { + + } +} \ No newline at end of file diff --git a/UIFrame/UIManager.cs b/UIFrame/UIManager.cs new file mode 100644 index 0000000..69328db --- /dev/null +++ b/UIFrame/UIManager.cs @@ -0,0 +1,7 @@ +namespace UIFrame +{ + public static class UIManager + { + + } +} \ No newline at end of file