feat: 场景快照和隐藏角色

This commit is contained in:
m0_75251201
2025-11-01 15:18:34 +08:00
commit 997656613e
116 changed files with 2140 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
using System.Reflection;
using UnityEngine;
namespace SceneSnapshot
{
public class ModBehaviour : Duckov.Modding.ModBehaviour
{
protected override void OnAfterSetup()
{
AddPrintToolToScene();
}
protected override void OnBeforeDeactivate()
{
RemovePrintToolFromScene();
}
/// <summary>
/// 检查场景中是否已存在PrintTool如果不存在则添加一个新的。
/// </summary>
private void AddPrintToolToScene()
{
if (GameObject.FindObjectOfType<PrintTool>() == null)
{
var printToolGO = new GameObject("PrintTool_Monitor");
printToolGO.transform.SetParent(this.transform);
printToolGO.AddComponent<PrintTool>();
}
}
private void RemovePrintToolFromScene()
{
var printTool = GameObject.FindObjectOfType<PrintTool>();
if (printTool != null)
{
GameObject.Destroy(printTool.gameObject);
}
}
}
}

184
SceneSnapshot/PrintTool.cs Normal file
View File

@@ -0,0 +1,184 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.SceneManagement;
namespace SceneSnapshot
{
internal class PrintTool : MonoBehaviour
{
private const string FOLDER_NAME = "GameObjectSnapshots";
private void Update()
{
if (Input.GetKeyDown(KeyCode.F2)) CaptureAndPrintSceneInfo();
}
private void CaptureAndPrintSceneInfo()
{
var desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
var outputFolderPath = Path.Combine(desktopPath, FOLDER_NAME);
try
{
if (!Directory.Exists(outputFolderPath))
{
Directory.CreateDirectory(outputFolderPath);
Debug.Log($"创建输出文件夹: {outputFolderPath}");
}
}
catch (Exception ex)
{
Debug.LogError($"创建文件夹失败: {outputFolderPath} - {ex.Message}");
return;
}
var activeSceneName = SceneManager.GetActiveScene().name;
var timestamp = DateTime.Now.ToString("yyyyMMdd_HHmmss");
var fileName = $"{activeSceneName}_FullSnapshot_{timestamp}.txt"; // 修改文件名以示区别
var fullFilePath = Path.Combine(outputFolderPath, fileName);
var sb = new StringBuilder();
sb.AppendLine("=================================================");
sb.AppendLine($"场景信息快照 - 活跃场景: {activeSceneName}");
sb.AppendLine($"生成时间: {DateTime.Now}");
sb.AppendLine("=================================================");
sb.AppendLine();
sb.AppendLine("--- 鼠标位置对象信息 ---");
AppendMouseHoverObjectInfo(sb);
sb.AppendLine();
sb.AppendLine("--- 所有加载场景的活跃游戏对象层次结构及其组件 ---");
// 遍历所有已加载的场景
for (var i = 0; i < SceneManager.sceneCount; i++)
{
var currentScene = SceneManager.GetSceneAt(i);
// 打印场景名称作为分割线
sb.AppendLine($"\n===== 场景: {currentScene.name} ===== " +
(currentScene == SceneManager.GetActiveScene() ? "(活跃场景)" : ""));
GameObject[] rootObjects = currentScene.GetRootGameObjects();
if (rootObjects.Length == 0)
sb.AppendLine(" - 该场景没有根游戏对象。");
else
foreach (var go in rootObjects)
AppendGameObjectInfo(go, 0, sb);
}
sb.AppendLine("=================================================");
try
{
File.WriteAllText(fullFilePath, sb.ToString(), Encoding.UTF8);
Debug.Log($"场景信息已成功保存到: {fullFilePath}");
}
catch (Exception ex)
{
Debug.LogError($"保存文件失败: {fullFilePath} - {ex.Message}");
}
}
/// <summary>
/// 递归地将游戏对象的名称、活跃状态、组件及其子对象的层次结构追加到StringBuilder。
/// **注意:此方法只会处理活跃状态为 activeSelf 的对象。**
/// </summary>
/// <param name="go">要处理的游戏对象。</param>
/// <param name="indentLevel">当前缩进级别。</param>
/// <param name="sb">StringBuilder实例。</param>
private void AppendGameObjectInfo(GameObject go, int indentLevel, StringBuilder sb)
{
// 只有当对象自身是激活状态时才处理和打印
if (!go || !go.activeSelf) return;
var indent = new string(' ', indentLevel * 4); // 每个层级使用4个空格缩进
// 打印游戏对象名称和活跃状态
sb.AppendLine(
$"{indent}[{go.name}] (ActiveSelf: {go.activeSelf}, ActiveInHierarchy: {go.activeInHierarchy})");
// 打印所有组件
var components = go.GetComponents<Component>();
foreach (var comp in components)
if (comp) // 某些组件可能在运行时被销毁
sb.AppendLine($"{indent} - Component: {comp.GetType().Name}");
// 递归处理子对象
foreach (Transform child in go.transform) AppendGameObjectInfo(child.gameObject, indentLevel + 1, sb);
}
/// <summary>
/// 尝试检测鼠标位置下方的UI元素或场景对象并将其路径追加到StringBuilder。
/// </summary>
/// <param name="sb">StringBuilder实例。</param>
private void AppendMouseHoverObjectInfo(StringBuilder sb)
{
// 首先尝试Raycast UI元素
var eventDataCurrentPosition = new PointerEventData(EventSystem.current);
eventDataCurrentPosition.position = new Vector2(Input.mousePosition.x, Input.mousePosition.y);
var results = new List<RaycastResult>();
if (EventSystem.current) EventSystem.current.RaycastAll(eventDataCurrentPosition, results);
if (results.Count > 0)
{
// UI元素优先级更高
var uiObject = results[0].gameObject;
var uiPath = GetGameObjectPath(uiObject);
sb.AppendLine($"鼠标下方UI路径: {uiPath}");
sb.AppendLine($" - 所在场景: {uiObject.scene.name}"); // 添加所在场景信息
return;
}
// 如果没有UI元素尝试Raycast场景对象
if (Camera.main != null)
{
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}"); // 添加所在场景信息
return;
}
}
else
{
sb.AppendLine("警告: 场景中没有主摄像机(Camera.main)或未被标记为 'MainCamera'。无法检测鼠标下的场景对象。");
}
sb.AppendLine("鼠标位置处没有检测到UI元素或场景对象。");
}
/// <summary>
/// 获取给定游戏对象的完整层次路径。
/// </summary>
/// <param name="go">要获取路径的游戏对象。</param>
/// <returns>游戏对象的完整路径,例如 "Parent/Child/Object"。</returns>
private string GetGameObjectPath(GameObject go)
{
if (go == null) return "N/A";
var path = go.name;
var currentTransform = go.transform;
while (currentTransform.parent != null)
{
currentTransform = currentTransform.parent;
path = currentTransform.name + "/" + path;
}
return path;
}
}
}

View File

@@ -0,0 +1,53 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
<Nullable>enable</Nullable>
<DuckovPath>D:\steam\steamapps\common\Escape from Duckov</DuckovPath>
<FileVersion>1.0.0</FileVersion>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
<Authors>折纸的小箱子</Authors>
<AssemblyVersion>1.0.0</AssemblyVersion>
</PropertyGroup>
<ItemGroup>
<Reference Include="$(DuckovPath)\Duckov_Data\Managed\TeamSoda.*">
<Private>False</Private>
<SpecificVersion>False</SpecificVersion>
</Reference>
<Reference Include="$(DuckovPath)\Duckov_Data\Managed\ItemStatsSystem.dll">
<Private>False</Private>
<SpecificVersion>False</SpecificVersion>
</Reference>
<Reference Include="Cinemachine">
<HintPath>..\..\..\steam\steamapps\common\Escape from Duckov\Duckov_Data\Managed\Cinemachine.dll</HintPath>
<Private>False</Private>
<SpecificVersion>False</SpecificVersion>
</Reference>
<Reference Include="FMODUnity">
<HintPath>..\..\..\..\steam\steamapps\common\Escape from Duckov\Duckov_Data\Managed\FMODUnity.dll</HintPath>
<Private>False</Private>
<SpecificVersion>False</SpecificVersion>
</Reference>
<Reference Include="$(DuckovPath)\Duckov_Data\Managed\Unity*">
<Private>False</Private>
<SpecificVersion>False</SpecificVersion>
</Reference>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Lib.Harmony" Version="2.4.1">
<PrivateAssets>none</PrivateAssets>
<IncludeAssets>all</IncludeAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<Compile Remove="PatchGameCameraStart.cs" />
<Compile Remove="PatchGameCameraUpdatePosition.cs" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,59 @@
{
"runtimeTarget": {
"name": ".NETStandard,Version=v2.1/",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETStandard,Version=v2.1": {},
".NETStandard,Version=v2.1/": {
"SceneSnapshot/1.0.0": {
"dependencies": {
"Lib.Harmony": "2.4.1"
},
"runtime": {
"SceneSnapshot.dll": {}
}
},
"Lib.Harmony/2.4.1": {
"dependencies": {
"Lib.Harmony.Ref": "2.4.1"
}
},
"Lib.Harmony.Ref/2.4.1": {
"dependencies": {
"System.Reflection.Emit": "4.7.0"
}
},
"System.Reflection.Emit/4.7.0": {}
}
},
"libraries": {
"SceneSnapshot/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Lib.Harmony/2.4.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-iLTZi/kKKB18jYEIwReZSx2xXyVUh4J1swReMgvYBBBn4tzA1Nd0PJlVyntY5BDdSiXSxzmvjc/3OYfFs0YwFg==",
"path": "lib.harmony/2.4.1",
"hashPath": "lib.harmony.2.4.1.nupkg.sha512"
},
"Lib.Harmony.Ref/2.4.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-+u1y2Qd6OlSUQ8JtrsrSo3adnAsrXMJ2YPYtbW+FAmdPI5yw34M9VX4bKl8ZwRuUzaGzZIz+oGMbn/yS4fWtZw==",
"path": "lib.harmony.ref/2.4.1",
"hashPath": "lib.harmony.ref.2.4.1.nupkg.sha512"
},
"System.Reflection.Emit/4.7.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-VR4kk8XLKebQ4MZuKuIni/7oh+QGFmZW3qORd1GvBq/8026OpW501SzT/oypwiQl4TvT8ErnReh/NzY9u+C6wQ==",
"path": "system.reflection.emit/4.7.0",
"hashPath": "system.reflection.emit.4.7.0.nupkg.sha512"
}
}
}

Binary file not shown.

Binary file not shown.

View File

@@ -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")]

View File

@@ -0,0 +1,23 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
using System;
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")]
[assembly: System.Reflection.AssemblyProductAttribute("SceneSnapshot")]
[assembly: System.Reflection.AssemblyTitleAttribute("SceneSnapshot")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0")]
// 由 MSBuild WriteCodeFragment 类生成。

View File

@@ -0,0 +1 @@
9fec8384dc42f74ffa6311b0388cf8c299645956b67539fff634ccd09d9549b8

View File

@@ -0,0 +1,8 @@
is_global = true
build_property.RootNamespace = SceneSnapshot
build_property.ProjectDir = d:\vs_project\DuckovMods\SceneSnapshot\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.CsWinRTUseWindowsUIXamlProjections = false
build_property.EffectiveAnalysisLevelStyle =
build_property.EnableCodeStyleSeverity =

Binary file not shown.

View File

@@ -0,0 +1,23 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
using System;
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")]
[assembly: System.Reflection.AssemblyProductAttribute("ThirdPersonCamera")]
[assembly: System.Reflection.AssemblyTitleAttribute("ThirdPersonCamera")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0")]
// 由 MSBuild WriteCodeFragment 类生成。

View File

@@ -0,0 +1 @@
bed85bbaef4d540a5206f9a5805e8fa6d9acf73f3a85aa6dd3abe97dd628dcfc

View File

@@ -0,0 +1,8 @@
is_global = true
build_property.RootNamespace = ThirdPersonCamera
build_property.ProjectDir = D:\vs_project\ThirdPersonCamera\SceneSnapshot\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.CsWinRTUseWindowsUIXamlProjections = false
build_property.EffectiveAnalysisLevelStyle =
build_property.EnableCodeStyleSeverity =

View File

@@ -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")]

View 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("折纸的小箱子")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("SceneSnapshot")]
[assembly: System.Reflection.AssemblyTitleAttribute("SceneSnapshot")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0")]
// 由 MSBuild WriteCodeFragment 类生成。

View File

@@ -0,0 +1 @@
41d9ea7fe27904c4107fb3269468e52ccc60f1ef9ff90e8ba447e9f3ce56b11c

View File

@@ -0,0 +1,8 @@
is_global = true
build_property.RootNamespace = SceneSnapshot
build_property.ProjectDir = D:\vs_project\ThirdPersonCamera\SceneSnapshot\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.CsWinRTUseWindowsUIXamlProjections = false
build_property.EffectiveAnalysisLevelStyle =
build_property.EnableCodeStyleSeverity =

Binary file not shown.

View File

@@ -0,0 +1 @@
f4ba22fe492b98b1c0c2f276030e74d4bed6243e23d8bd3e1627d88a45c5542c

View File

@@ -0,0 +1,10 @@
D:\vs_project\ThirdPersonCamera\SceneSnapshot\bin\Release\SceneSnapshot.deps.json
D:\vs_project\ThirdPersonCamera\SceneSnapshot\bin\Release\SceneSnapshot.dll
D:\vs_project\ThirdPersonCamera\SceneSnapshot\bin\Release\SceneSnapshot.pdb
D:\vs_project\ThirdPersonCamera\SceneSnapshot\obj\Release\SceneSnapshot.csproj.AssemblyReference.cache
D:\vs_project\ThirdPersonCamera\SceneSnapshot\obj\Release\SceneSnapshot.GeneratedMSBuildEditorConfig.editorconfig
D:\vs_project\ThirdPersonCamera\SceneSnapshot\obj\Release\SceneSnapshot.AssemblyInfoInputs.cache
D:\vs_project\ThirdPersonCamera\SceneSnapshot\obj\Release\SceneSnapshot.AssemblyInfo.cs
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

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v9.0", FrameworkDisplayName = ".NET 9.0")]

View 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("SceneSnapshot")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("SceneSnapshot")]
[assembly: System.Reflection.AssemblyTitleAttribute("SceneSnapshot")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// 由 MSBuild WriteCodeFragment 类生成。

View File

@@ -0,0 +1 @@
a28b6eb0e9923c1538cb4798e2dfdc809776a510cd0b0bddfbd7899172807daa

View File

@@ -0,0 +1,15 @@
is_global = true
build_property.TargetFramework = net9.0
build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = SceneSnapshot
build_property.ProjectDir = D:\vs_project\ThirdPersonCamera\SceneSnapshot\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.EffectiveAnalysisLevelStyle = 9.0
build_property.EnableCodeStyleSeverity =

View File

@@ -0,0 +1,8 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Threading;
global using global::System.Threading.Tasks;

View File

@@ -0,0 +1,80 @@
{
"format": 1,
"restore": {
"D:\\vs_project\\ThirdPersonCamera\\SceneSnapshot\\SceneSnapshot.csproj": {}
},
"projects": {
"D:\\vs_project\\ThirdPersonCamera\\SceneSnapshot\\SceneSnapshot.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\vs_project\\ThirdPersonCamera\\SceneSnapshot\\SceneSnapshot.csproj",
"projectName": "SceneSnapshot",
"projectPath": "D:\\vs_project\\ThirdPersonCamera\\SceneSnapshot\\SceneSnapshot.csproj",
"packagesPath": "C:\\Users\\Lenovo\\.nuget\\packages\\",
"outputPath": "D:\\vs_project\\ThirdPersonCamera\\SceneSnapshot\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"D:\\vsShare\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\Lenovo\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"netstandard2.1"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"netstandard2.1": {
"targetAlias": "netstandard2.1",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
},
"SdkAnalysisLevel": "9.0.300"
},
"frameworks": {
"netstandard2.1": {
"targetAlias": "netstandard2.1",
"dependencies": {
"Lib.Harmony": {
"suppressParent": "None",
"target": "Package",
"version": "[2.4.1, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"NETStandard.Library": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.306\\RuntimeIdentifierGraph.json"
}
}
}
}
}

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Lenovo\.nuget\packages\;D:\vsShare\NuGetPackages</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.14.0</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\Lenovo\.nuget\packages\" />
<SourceRoot Include="D:\vsShare\NuGetPackages\" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />

View File

@@ -0,0 +1,240 @@
{
"version": 3,
"targets": {
".NETStandard,Version=v2.1": {
"Lib.Harmony/2.4.1": {
"type": "package",
"dependencies": {
"Lib.Harmony.Ref": "2.4.1"
},
"compile": {
"lib/netstandard2.0/_._": {}
},
"runtime": {
"lib/netstandard2.0/_._": {}
}
},
"Lib.Harmony.Ref/2.4.1": {
"type": "package",
"dependencies": {
"System.Reflection.Emit": "4.7.0"
},
"compile": {
"ref/netstandard2.0/0Harmony.dll": {
"related": ".xml"
}
}
},
"System.Reflection.Emit/4.7.0": {
"type": "package",
"compile": {
"ref/netstandard2.1/_._": {}
},
"runtime": {
"lib/netstandard2.1/_._": {}
}
}
}
},
"libraries": {
"Lib.Harmony/2.4.1": {
"sha512": "iLTZi/kKKB18jYEIwReZSx2xXyVUh4J1swReMgvYBBBn4tzA1Nd0PJlVyntY5BDdSiXSxzmvjc/3OYfFs0YwFg==",
"type": "package",
"path": "lib.harmony/2.4.1",
"files": [
".nupkg.metadata",
".signature.p7s",
"HarmonyLogo.png",
"LICENSE",
"README.md",
"lib.harmony.2.4.1.nupkg.sha512",
"lib.harmony.nuspec",
"lib/net35/0Harmony.dll",
"lib/net35/0Harmony.pdb",
"lib/net35/0Harmony.xml",
"lib/net452/0Harmony.dll",
"lib/net452/0Harmony.pdb",
"lib/net452/0Harmony.xml",
"lib/net472/0Harmony.dll",
"lib/net472/0Harmony.pdb",
"lib/net472/0Harmony.xml",
"lib/net48/0Harmony.dll",
"lib/net48/0Harmony.pdb",
"lib/net48/0Harmony.xml",
"lib/net5.0/0Harmony.dll",
"lib/net5.0/0Harmony.pdb",
"lib/net5.0/0Harmony.xml",
"lib/net6.0/0Harmony.dll",
"lib/net6.0/0Harmony.pdb",
"lib/net6.0/0Harmony.xml",
"lib/net7.0/0Harmony.dll",
"lib/net7.0/0Harmony.pdb",
"lib/net7.0/0Harmony.xml",
"lib/net8.0/0Harmony.dll",
"lib/net8.0/0Harmony.pdb",
"lib/net8.0/0Harmony.xml",
"lib/net9.0/0Harmony.dll",
"lib/net9.0/0Harmony.pdb",
"lib/net9.0/0Harmony.xml",
"lib/netcoreapp3.0/0Harmony.dll",
"lib/netcoreapp3.0/0Harmony.pdb",
"lib/netcoreapp3.0/0Harmony.xml",
"lib/netcoreapp3.1/0Harmony.dll",
"lib/netcoreapp3.1/0Harmony.pdb",
"lib/netcoreapp3.1/0Harmony.xml",
"lib/netstandard2.0/_._"
]
},
"Lib.Harmony.Ref/2.4.1": {
"sha512": "+u1y2Qd6OlSUQ8JtrsrSo3adnAsrXMJ2YPYtbW+FAmdPI5yw34M9VX4bKl8ZwRuUzaGzZIz+oGMbn/yS4fWtZw==",
"type": "package",
"path": "lib.harmony.ref/2.4.1",
"files": [
".nupkg.metadata",
".signature.p7s",
"HarmonyLogo.png",
"LICENSE",
"README.md",
"lib.harmony.ref.2.4.1.nupkg.sha512",
"lib.harmony.ref.nuspec",
"ref/netstandard2.0/0Harmony.dll",
"ref/netstandard2.0/0Harmony.xml"
]
},
"System.Reflection.Emit/4.7.0": {
"sha512": "VR4kk8XLKebQ4MZuKuIni/7oh+QGFmZW3qORd1GvBq/8026OpW501SzT/oypwiQl4TvT8ErnReh/NzY9u+C6wQ==",
"type": "package",
"path": "system.reflection.emit/4.7.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
"lib/netcore50/System.Reflection.Emit.dll",
"lib/netcoreapp2.0/_._",
"lib/netstandard1.1/System.Reflection.Emit.dll",
"lib/netstandard1.1/System.Reflection.Emit.xml",
"lib/netstandard1.3/System.Reflection.Emit.dll",
"lib/netstandard2.0/System.Reflection.Emit.dll",
"lib/netstandard2.0/System.Reflection.Emit.xml",
"lib/netstandard2.1/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
"ref/netcoreapp2.0/_._",
"ref/netstandard1.1/System.Reflection.Emit.dll",
"ref/netstandard1.1/System.Reflection.Emit.xml",
"ref/netstandard1.1/de/System.Reflection.Emit.xml",
"ref/netstandard1.1/es/System.Reflection.Emit.xml",
"ref/netstandard1.1/fr/System.Reflection.Emit.xml",
"ref/netstandard1.1/it/System.Reflection.Emit.xml",
"ref/netstandard1.1/ja/System.Reflection.Emit.xml",
"ref/netstandard1.1/ko/System.Reflection.Emit.xml",
"ref/netstandard1.1/ru/System.Reflection.Emit.xml",
"ref/netstandard1.1/zh-hans/System.Reflection.Emit.xml",
"ref/netstandard1.1/zh-hant/System.Reflection.Emit.xml",
"ref/netstandard2.0/System.Reflection.Emit.dll",
"ref/netstandard2.0/System.Reflection.Emit.xml",
"ref/netstandard2.1/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._",
"runtimes/aot/lib/netcore50/System.Reflection.Emit.dll",
"runtimes/aot/lib/netcore50/System.Reflection.Emit.xml",
"system.reflection.emit.4.7.0.nupkg.sha512",
"system.reflection.emit.nuspec",
"useSharedDesignerContext.txt",
"version.txt"
]
}
},
"projectFileDependencyGroups": {
".NETStandard,Version=v2.1": [
"Lib.Harmony >= 2.4.1"
]
},
"packageFolders": {
"C:\\Users\\Lenovo\\.nuget\\packages\\": {},
"D:\\vsShare\\NuGetPackages": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\vs_project\\ThirdPersonCamera\\SceneSnapshot\\SceneSnapshot.csproj",
"projectName": "SceneSnapshot",
"projectPath": "D:\\vs_project\\ThirdPersonCamera\\SceneSnapshot\\SceneSnapshot.csproj",
"packagesPath": "C:\\Users\\Lenovo\\.nuget\\packages\\",
"outputPath": "D:\\vs_project\\ThirdPersonCamera\\SceneSnapshot\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"D:\\vsShare\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\Lenovo\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"netstandard2.1"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"netstandard2.1": {
"targetAlias": "netstandard2.1",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
},
"SdkAnalysisLevel": "9.0.300"
},
"frameworks": {
"netstandard2.1": {
"targetAlias": "netstandard2.1",
"dependencies": {
"Lib.Harmony": {
"suppressParent": "None",
"target": "Package",
"version": "[2.4.1, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"NETStandard.Library": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.306\\RuntimeIdentifierGraph.json"
}
}
}
}

View File

@@ -0,0 +1,12 @@
{
"version": 2,
"dgSpecHash": "0ofFlMgrn3o=",
"success": true,
"projectFilePath": "D:\\vs_project\\ThirdPersonCamera\\SceneSnapshot\\SceneSnapshot.csproj",
"expectedPackageFiles": [
"C:\\Users\\Lenovo\\.nuget\\packages\\lib.harmony\\2.4.1\\lib.harmony.2.4.1.nupkg.sha512",
"C:\\Users\\Lenovo\\.nuget\\packages\\lib.harmony.ref\\2.4.1\\lib.harmony.ref.2.4.1.nupkg.sha512",
"C:\\Users\\Lenovo\\.nuget\\packages\\system.reflection.emit\\4.7.0\\system.reflection.emit.4.7.0.nupkg.sha512"
],
"logs": []
}

View File

@@ -0,0 +1 @@
"restore":{"projectUniqueName":"D:\\vs_project\\ThirdPersonCamera\\SceneSnapshot\\SceneSnapshot.csproj","projectName":"SceneSnapshot","projectPath":"D:\\vs_project\\ThirdPersonCamera\\SceneSnapshot\\SceneSnapshot.csproj","outputPath":"D:\\vs_project\\ThirdPersonCamera\\SceneSnapshot\\obj\\","projectStyle":"PackageReference","fallbackFolders":["D:\\vsShare\\NuGetPackages"],"originalTargetFrameworks":["netstandard2.1"],"sources":{"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\":{},"https://api.nuget.org/v3/index.json":{}},"frameworks":{"netstandard2.1":{"targetAlias":"netstandard2.1","projectReferences":{}}},"warningProperties":{"warnAsError":["NU1605"]},"restoreAuditProperties":{"enableAudit":"true","auditLevel":"low","auditMode":"direct"},"SdkAnalysisLevel":"9.0.300"}"frameworks":{"netstandard2.1":{"targetAlias":"netstandard2.1","dependencies":{"Lib.Harmony":{"suppressParent":"None","target":"Package","version":"[2.4.1, )"}},"imports":["net461","net462","net47","net471","net472","net48","net481"],"assetTargetFallback":true,"warn":true,"frameworkReferences":{"NETStandard.Library":{"privateAssets":"all"}},"runtimeIdentifierGraphPath":"C:\\Program Files\\dotnet\\sdk\\9.0.306\\RuntimeIdentifierGraph.json"}}

View File

@@ -0,0 +1 @@
17619682240672860

View File

@@ -0,0 +1 @@
17619682240672860