From 5b09d969a73863e88af73efce9f5f82bd4dd50fc Mon Sep 17 00:00:00 2001 From: hadashiA Date: Thu, 14 Dec 2023 15:09:05 +0900 Subject: [PATCH 1/8] Bump Utf8StringInterpolation --- src/ZLogger/ZLogger.csproj | 2 +- tests/ZLogger.Generator.Tests/ZLogger.Generator.Tests.csproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ZLogger/ZLogger.csproj b/src/ZLogger/ZLogger.csproj index 90978aa8..95fcd971 100644 --- a/src/ZLogger/ZLogger.csproj +++ b/src/ZLogger/ZLogger.csproj @@ -23,7 +23,7 @@ - + diff --git a/tests/ZLogger.Generator.Tests/ZLogger.Generator.Tests.csproj b/tests/ZLogger.Generator.Tests/ZLogger.Generator.Tests.csproj index e236e3d2..c7898ba9 100644 --- a/tests/ZLogger.Generator.Tests/ZLogger.Generator.Tests.csproj +++ b/tests/ZLogger.Generator.Tests/ZLogger.Generator.Tests.csproj @@ -12,7 +12,7 @@ - + runtime; build; native; contentfiles; analyzers; buildtransitive From aa2555e2ba662ceae3bc0acce3b2e2d91fa637af Mon Sep 17 00:00:00 2001 From: hadashiA Date: Thu, 14 Dec 2023 15:09:12 +0900 Subject: [PATCH 2/8] Add unity project --- .gitignore | 2 + src/ZLogger.Unity/Assets/NuGet.config | 18 + src/ZLogger.Unity/Assets/NuGet.config.meta | 23 + src/ZLogger.Unity/Assets/Packages.meta | 8 + src/ZLogger.Unity/Assets/Scenes.meta | 8 + .../Assets/Scenes/SampleScene.unity | 267 ++ .../Assets/Scenes/SampleScene.unity.meta | 7 + src/ZLogger.Unity/Assets/Tests.meta | 8 + src/ZLogger.Unity/Assets/Tests/FormatTest.cs | 337 ++ .../Assets/Tests/FormatTest.cs.meta | 11 + src/ZLogger.Unity/Assets/Tests/ScopeTest.cs | 113 + .../Assets/Tests/ScopeTest.cs.meta | 11 + src/ZLogger.Unity/Assets/Tests/Shims.cs | 170 + src/ZLogger.Unity/Assets/Tests/Shims.cs.meta | 11 + .../Assets/Tests/TestProcessor.cs | 49 + .../Assets/Tests/TestProcessor.cs.meta | 11 + src/ZLogger.Unity/Assets/Tests/Tests.asmdef | 39 + .../Assets/Tests/Tests.asmdef.meta | 7 + src/ZLogger.Unity/Assets/Tests/csc.rsp | 1 + src/ZLogger.Unity/Assets/Tests/csc.rsp.meta | 7 + src/ZLogger.Unity/Assets/ZLogger.Unity.meta | 8 + .../Assets/ZLogger.Unity/Runtime.meta | 8 + .../Runtime/ZLogger.Unity.asmdef | 12 + .../Runtime/ZLogger.Unity.asmdef.meta | 7 + .../Assets/ZLogger.Unity/Runtime/csc.rsp | 1 + .../Assets/ZLogger.Unity/Runtime/csc.rsp.meta | 7 + .../Assets/ZLogger.Unity/Runtime/package.json | 9 + .../ZLogger.Unity/Runtime/package.json.meta | 7 + src/ZLogger.Unity/Assets/packages.config | 21 + src/ZLogger.Unity/Assets/packages.config.meta | 23 + src/ZLogger.Unity/LangVersion.props | 6 + .../ProjectSettings/AudioManager.asset | 19 + .../ProjectSettings/ClusterInputManager.asset | 6 + .../CsprojModifierSettings.json | 1 + .../ProjectSettings/DynamicsManager.asset | 34 + .../ProjectSettings/EditorBuildSettings.asset | 8 + .../ProjectSettings/EditorSettings.asset | 30 + .../ProjectSettings/GraphicsSettings.asset | 63 + .../ProjectSettings/InputManager.asset | 295 ++ .../ProjectSettings/MemorySettings.asset | 35 + .../ProjectSettings/NavMeshAreas.asset | 91 + .../PackageManagerSettings.asset | 35 + .../ProjectSettings/Physics2DSettings.asset | 56 + .../ProjectSettings/PresetManager.asset | 7 + .../ProjectSettings/ProjectSettings.asset | 757 +++ .../ProjectSettings/ProjectVersion.txt | 2 + .../ProjectSettings/QualitySettings.asset | 232 + .../SceneTemplateSettings.json | 167 + .../ProjectSettings/TagManager.asset | 43 + .../ProjectSettings/TimeManager.asset | 9 + .../ProjectSettings/TimelineSettings.asset | 16 + .../UnityConnectSettings.asset | 36 + .../ProjectSettings/VFXManager.asset | 12 + .../VersionControlSettings.asset | 8 + .../ProjectSettings/XRSettings.asset | 10 + .../UserSettings/EditorUserSettings.asset | 28 + .../UserSettings/Layouts/default-2022.dwlt | 4228 +++++++++++++++++ src/ZLogger.Unity/UserSettings/Search.index | 13 + .../UserSettings/Search.settings | 75 + 59 files changed, 7533 insertions(+) create mode 100644 src/ZLogger.Unity/Assets/NuGet.config create mode 100644 src/ZLogger.Unity/Assets/NuGet.config.meta create mode 100644 src/ZLogger.Unity/Assets/Packages.meta create mode 100644 src/ZLogger.Unity/Assets/Scenes.meta create mode 100644 src/ZLogger.Unity/Assets/Scenes/SampleScene.unity create mode 100644 src/ZLogger.Unity/Assets/Scenes/SampleScene.unity.meta create mode 100644 src/ZLogger.Unity/Assets/Tests.meta create mode 100644 src/ZLogger.Unity/Assets/Tests/FormatTest.cs create mode 100644 src/ZLogger.Unity/Assets/Tests/FormatTest.cs.meta create mode 100644 src/ZLogger.Unity/Assets/Tests/ScopeTest.cs create mode 100644 src/ZLogger.Unity/Assets/Tests/ScopeTest.cs.meta create mode 100644 src/ZLogger.Unity/Assets/Tests/Shims.cs create mode 100644 src/ZLogger.Unity/Assets/Tests/Shims.cs.meta create mode 100644 src/ZLogger.Unity/Assets/Tests/TestProcessor.cs create mode 100644 src/ZLogger.Unity/Assets/Tests/TestProcessor.cs.meta create mode 100644 src/ZLogger.Unity/Assets/Tests/Tests.asmdef create mode 100644 src/ZLogger.Unity/Assets/Tests/Tests.asmdef.meta create mode 100644 src/ZLogger.Unity/Assets/Tests/csc.rsp create mode 100644 src/ZLogger.Unity/Assets/Tests/csc.rsp.meta create mode 100644 src/ZLogger.Unity/Assets/ZLogger.Unity.meta create mode 100644 src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime.meta create mode 100644 src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/ZLogger.Unity.asmdef create mode 100644 src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/ZLogger.Unity.asmdef.meta create mode 100644 src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/csc.rsp create mode 100644 src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/csc.rsp.meta create mode 100644 src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/package.json create mode 100644 src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/package.json.meta create mode 100644 src/ZLogger.Unity/Assets/packages.config create mode 100644 src/ZLogger.Unity/Assets/packages.config.meta create mode 100644 src/ZLogger.Unity/LangVersion.props create mode 100644 src/ZLogger.Unity/ProjectSettings/AudioManager.asset create mode 100644 src/ZLogger.Unity/ProjectSettings/ClusterInputManager.asset create mode 100644 src/ZLogger.Unity/ProjectSettings/CsprojModifierSettings.json create mode 100644 src/ZLogger.Unity/ProjectSettings/DynamicsManager.asset create mode 100644 src/ZLogger.Unity/ProjectSettings/EditorBuildSettings.asset create mode 100644 src/ZLogger.Unity/ProjectSettings/EditorSettings.asset create mode 100644 src/ZLogger.Unity/ProjectSettings/GraphicsSettings.asset create mode 100644 src/ZLogger.Unity/ProjectSettings/InputManager.asset create mode 100644 src/ZLogger.Unity/ProjectSettings/MemorySettings.asset create mode 100644 src/ZLogger.Unity/ProjectSettings/NavMeshAreas.asset create mode 100644 src/ZLogger.Unity/ProjectSettings/PackageManagerSettings.asset create mode 100644 src/ZLogger.Unity/ProjectSettings/Physics2DSettings.asset create mode 100644 src/ZLogger.Unity/ProjectSettings/PresetManager.asset create mode 100644 src/ZLogger.Unity/ProjectSettings/ProjectSettings.asset create mode 100644 src/ZLogger.Unity/ProjectSettings/ProjectVersion.txt create mode 100644 src/ZLogger.Unity/ProjectSettings/QualitySettings.asset create mode 100644 src/ZLogger.Unity/ProjectSettings/SceneTemplateSettings.json create mode 100644 src/ZLogger.Unity/ProjectSettings/TagManager.asset create mode 100644 src/ZLogger.Unity/ProjectSettings/TimeManager.asset create mode 100644 src/ZLogger.Unity/ProjectSettings/TimelineSettings.asset create mode 100644 src/ZLogger.Unity/ProjectSettings/UnityConnectSettings.asset create mode 100644 src/ZLogger.Unity/ProjectSettings/VFXManager.asset create mode 100644 src/ZLogger.Unity/ProjectSettings/VersionControlSettings.asset create mode 100644 src/ZLogger.Unity/ProjectSettings/XRSettings.asset create mode 100644 src/ZLogger.Unity/UserSettings/EditorUserSettings.asset create mode 100644 src/ZLogger.Unity/UserSettings/Layouts/default-2022.dwlt create mode 100644 src/ZLogger.Unity/UserSettings/Search.index create mode 100644 src/ZLogger.Unity/UserSettings/Search.settings diff --git a/.gitignore b/.gitignore index b7dc210d..7c8384ed 100644 --- a/.gitignore +++ b/.gitignore @@ -137,3 +137,5 @@ src/ZLogger.Unity/ZLogger.Unity.sln src/ZLogger.Unity/ZString.csproj src/ZLogger.Unity/*.csproj + +.DS_Store diff --git a/src/ZLogger.Unity/Assets/NuGet.config b/src/ZLogger.Unity/Assets/NuGet.config new file mode 100644 index 00000000..34357ffa --- /dev/null +++ b/src/ZLogger.Unity/Assets/NuGet.config @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/ZLogger.Unity/Assets/NuGet.config.meta b/src/ZLogger.Unity/Assets/NuGet.config.meta new file mode 100644 index 00000000..49dbd6f7 --- /dev/null +++ b/src/ZLogger.Unity/Assets/NuGet.config.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 88e3c726753574b2cb6fc678ca75f466 +labels: +- NuGetForUnity +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/ZLogger.Unity/Assets/Packages.meta b/src/ZLogger.Unity/Assets/Packages.meta new file mode 100644 index 00000000..b5329bff --- /dev/null +++ b/src/ZLogger.Unity/Assets/Packages.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e22eb5ee9089842488e030d35d15d327 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/ZLogger.Unity/Assets/Scenes.meta b/src/ZLogger.Unity/Assets/Scenes.meta new file mode 100644 index 00000000..b63d1f95 --- /dev/null +++ b/src/ZLogger.Unity/Assets/Scenes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e5a04476ce0d04ee2b048c9a31b0d84c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/ZLogger.Unity/Assets/Scenes/SampleScene.unity b/src/ZLogger.Unity/Assets/Scenes/SampleScene.unity new file mode 100644 index 00000000..c39e5814 --- /dev/null +++ b/src/ZLogger.Unity/Assets/Scenes/SampleScene.unity @@ -0,0 +1,267 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 705507994} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &705507993 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 705507995} + - component: {fileID: 705507994} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &705507994 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 1 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &705507995 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &963194225 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 963194228} + - component: {fileID: 963194227} + - component: {fileID: 963194226} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &963194226 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 +--- !u!20 &963194227 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_GateFitMode: 2 + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &963194228 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/src/ZLogger.Unity/Assets/Scenes/SampleScene.unity.meta b/src/ZLogger.Unity/Assets/Scenes/SampleScene.unity.meta new file mode 100644 index 00000000..952bd1e9 --- /dev/null +++ b/src/ZLogger.Unity/Assets/Scenes/SampleScene.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9fc0d4010bbf28b4594072e72b8655ab +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/ZLogger.Unity/Assets/Tests.meta b/src/ZLogger.Unity/Assets/Tests.meta new file mode 100644 index 00000000..9624ddcf --- /dev/null +++ b/src/ZLogger.Unity/Assets/Tests.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 31a7e01f922ba426fb9b6997e7735013 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/ZLogger.Unity/Assets/Tests/FormatTest.cs b/src/ZLogger.Unity/Assets/Tests/FormatTest.cs new file mode 100644 index 00000000..52ed5c94 --- /dev/null +++ b/src/ZLogger.Unity/Assets/Tests/FormatTest.cs @@ -0,0 +1,337 @@ +using System; +using System.IO; +using System.Text; +using System.Text.Json; +using Microsoft.Extensions.Logging; +using Xunit; +using FluentAssertions; +using ZLogger; +using ZLogger.Formatters; + +namespace Tests; + +public class JsonFormatTest +{ + [Fact] + public void FormatLogEntry_CustomMetadata() + { + using var ms = new MemoryStream(); + + var sourceCodeHash = Guid.NewGuid().ToString(); + + + var loggerFactory = LoggerFactory.Create(x => x + .SetMinimumLevel(LogLevel.Debug) + .AddZLoggerStream(ms, options => + { + var hashProp = JsonEncodedText.Encode("Hash"); + + options.UseJsonFormatter(formatter => + { + formatter.AdditionalFormatter = (writer, _) => + { + writer.WriteString(hashProp, sourceCodeHash); + }; + }); + })); + + var logger = loggerFactory.CreateLogger("test"); + + var tako = 100; + var yaki = "あいうえお"; + logger.ZLogDebug($"FooBar{tako} NanoNano{yaki}"); + + logger.LogInformation(""); + + loggerFactory.Dispose(); + + using var sr = new StreamReader(new MemoryStream(ms.ToArray()), Encoding.UTF8); + var json = sr.ReadLine(); + + var doc = JsonDocument.Parse(json).RootElement; + + doc.GetProperty("Message").GetString().Should().Be("FooBar100 NanoNanoあいうえお"); + doc.GetProperty("tako").GetInt32().Should().Be(100); + doc.GetProperty("yaki").GetString().Should().Be("あいうえお"); + + doc.GetProperty("Hash").GetString().Should().Be(sourceCodeHash); + doc.GetProperty("LogLevel").GetString().Should().Be("Debug"); + } + + [Fact] + public void FormatLogEntry_ExcludeLogInfoProperties() + { + var options = new ZLoggerOptions().UseJsonFormatter(formatter => + { + formatter.IncludeProperties = IncludeProperties.LogLevel | + IncludeProperties.Timestamp | + IncludeProperties.EventIdValue; + }); + + var processor = new TestProcessor(options); + + var loggerFactory = LoggerFactory.Create(x => + { + x.SetMinimumLevel(LogLevel.Debug); + x.AddZLoggerLogProcessor(processor); + }); + var logger = loggerFactory.CreateLogger("test"); + + var now = DateTime.UtcNow; + logger.ZLogInformation(new EventId(1, "TEST"), $"HELLO!"); + + var json = processor.Dequeue(); + var doc = JsonDocument.Parse(json).RootElement; + + doc.TryGetProperty("Message", out _).Should().BeFalse(); + doc.GetProperty("LogLevel").GetString().Should().Be("Information"); + doc.GetProperty("EventId").GetInt32().Should().Be(1); + doc.TryGetProperty("EventIdName", out _).Should().BeFalse(); + doc.TryGetProperty("CategoryName", out _).Should().BeFalse(); + } + + [Fact] + public void FormatLogEntry_ExcludeAllLogInfo() + { + var options = new ZLoggerOptions().UseJsonFormatter(formatter => + { + formatter.IncludeProperties = IncludeProperties.None; + }); + + var processor = new TestProcessor(options); + + var loggerFactory = LoggerFactory.Create(x => + { + x.SetMinimumLevel(LogLevel.Debug); + x.AddZLoggerLogProcessor(processor); + }); + var logger = loggerFactory.CreateLogger("test"); + + logger.ZLogInformation(new EventId(1, "TEST"), $"HELLO!"); + + var json = processor.Dequeue(); + var doc = JsonDocument.Parse(json).RootElement; + + doc.TryGetProperty("Message", out _).Should().BeFalse(); + doc.TryGetProperty("LogLevel", out _).Should().BeFalse(); + doc.TryGetProperty("Timestamp", out _).Should().BeFalse(); + doc.TryGetProperty("EventId", out _).Should().BeFalse(); + doc.TryGetProperty("EventIdName", out _).Should().BeFalse(); + doc.TryGetProperty("EventIdName", out _).Should().BeFalse(); + doc.TryGetProperty("CategoryName", out _).Should().BeFalse(); + } + + [Fact] + public void KeyNameMutator_Lower() + { + var options = new ZLoggerOptions + { + IncludeScopes = true + }; + options.UseJsonFormatter(formatter => + { + formatter.KeyNameMutator = KeyNameMutator.LowerFirstCharacter; + }); + + var processor = new TestProcessor(options); + + using var loggerFactory = LoggerFactory.Create(x => + { + x.SetMinimumLevel(LogLevel.Debug); + x.AddZLoggerLogProcessor(processor); + }); + var logger = loggerFactory.CreateLogger("test"); + + var Tako = 100; + var Yaki = "あいうえお"; + logger.ZLogDebug($"tako: {Tako} yaki: {Yaki}"); + + var json = processor.Dequeue(); + var doc = JsonDocument.Parse(json).RootElement; + + doc.GetProperty("Message").GetString().Should().Be("tako: 100 yaki: あいうえお"); + doc.GetProperty("tako").GetInt32().Should().Be(100); + doc.GetProperty("yaki").GetString().Should().Be("あいうえお"); + } + + [Fact] + public void KeyNameMutatorProp1() + { + var options = new ZLoggerOptions + { + IncludeScopes = true + }; + options.UseJsonFormatter(formatter => + { + formatter.KeyNameMutator = KeyNameMutator.LastMemberName; + }); + + var processor = new TestProcessor(options); + + using var loggerFactory = LoggerFactory.Create(x => + { + x.SetMinimumLevel(LogLevel.Debug); + x.AddZLoggerLogProcessor(processor); + }); + var logger = loggerFactory.CreateLogger("test"); + + var zzz = new { Tako = 100, Yaki = "あいうえお" }; + + logger.ZLogDebug($"tako: {zzz.Tako} yaki: {zzz.Yaki}"); + + var json = processor.Dequeue(); + var doc = JsonDocument.Parse(json).RootElement; + + doc.GetProperty("Message").GetString().Should().Be("tako: 100 yaki: あいうえお"); + doc.GetProperty("Tako").GetInt32().Should().Be(100); + doc.GetProperty("Yaki").GetString().Should().Be("あいうえお"); + } + + [Fact] + public void KeyNameMutatorProp2() + { + var options = new ZLoggerOptions + { + IncludeScopes = true + }; + options.UseJsonFormatter(formatter => + { + formatter.KeyNameMutator = KeyNameMutator.LastMemberNameUpperFirstCharacter; + }); + + var processor = new TestProcessor(options); + + using var loggerFactory = LoggerFactory.Create(x => + { + x.SetMinimumLevel(LogLevel.Debug); + x.AddZLoggerLogProcessor(processor); + }); + var logger = loggerFactory.CreateLogger("test"); + + var zzz = new { tako = 100, yaki = "あいうえお" }; + + logger.ZLogDebug($"tako: {zzz.tako} yaki: {zzz.yaki}"); + + var json = processor.Dequeue(); + var doc = JsonDocument.Parse(json).RootElement; + + doc.GetProperty("Message").GetString().Should().Be("tako: 100 yaki: あいうえお"); + doc.GetProperty("Tako").GetInt32().Should().Be(100); + doc.GetProperty("Yaki").GetString().Should().Be("あいうえお"); + } + + [Fact] + public void NestPayload() + { + var options = new ZLoggerOptions + { + IncludeScopes = true + }; + options.UseJsonFormatter(formatter => + { + formatter.KeyNameMutator = KeyNameMutator.LastMemberName; + formatter.PropertyKeyValuesObjectName = JsonEncodedText.Encode("Payload"); + }); + + var processor = new TestProcessor(options); + + using var loggerFactory = LoggerFactory.Create(x => + { + x.SetMinimumLevel(LogLevel.Debug); + x.AddZLoggerLogProcessor(processor); + }); + var logger = loggerFactory.CreateLogger("test"); + + var zzz = new { Tako = 100, Yaki = "あいうえお" }; + + logger.ZLogDebug($"tako: {zzz.Tako} yaki: {zzz.Yaki}"); + + var json = processor.Dequeue(); + var doc = JsonDocument.Parse(json).RootElement; + + doc.GetProperty("Message").GetString().Should().Be("tako: 100 yaki: あいうえお"); + doc.GetProperty("Payload").GetProperty("Tako").GetInt32().Should().Be(100); + doc.GetProperty("Payload").GetProperty("Yaki").GetString().Should().Be("あいうえお"); + } + + [Fact] + public void ConfigureName() + { + var options = new ZLoggerOptions().UseJsonFormatter(formatter => + { + formatter.JsonPropertyNames = JsonPropertyNames.Default with + { + Message = JsonEncodedText.Encode("MMMMMMMMMMMOsage"), + LogLevel = JsonEncodedText.Encode("LeVeL5"), + Category = JsonEncodedText.Encode("CAT"), + Timestamp = JsonEncodedText.Encode("TST"), + EventId = JsonEncodedText.Encode("EventIddd"), + EventIdName = JsonEncodedText.Encode("EventNAME"), + }; + formatter.IncludeProperties = IncludeProperties.All; + }); + + var processor = new TestProcessor(options); + + var loggerFactory = LoggerFactory.Create(x => + { + x.SetMinimumLevel(LogLevel.Debug); + x.AddZLoggerLogProcessor(processor); + }); + var logger = loggerFactory.CreateLogger("test"); + + logger.ZLogInformation(new EventId(1, "TEST"), $"HELLO!"); + + var json = processor.Dequeue(); + var doc = JsonDocument.Parse(json).RootElement; + + doc.TryGetProperty("MMMMMMMMMMMOsage", out _).Should().BeTrue(); + doc.TryGetProperty("LeVeL5", out _).Should().BeTrue(); + doc.TryGetProperty("TST", out _).Should().BeTrue(); + doc.TryGetProperty("EventIddd", out _).Should().BeTrue(); + doc.TryGetProperty("EventNAME", out _).Should().BeTrue(); + doc.TryGetProperty("CAT", out _).Should().BeTrue(); + } + + + [Fact] + public void KeyNameMutator_CallMethod() + { + var options = new ZLoggerOptions + { + IncludeScopes = true + }; + options.UseJsonFormatter(formatter => + { + formatter.KeyNameMutator = KeyNameMutator.LastMemberName; + }); + + var processor = new TestProcessor(options); + + using var loggerFactory = LoggerFactory.Create(x => + { + x.SetMinimumLevel(LogLevel.Debug); + x.AddZLoggerLogProcessor(processor); + }); + var logger = loggerFactory.CreateLogger("test"); + + var Tako = 100; + var Yaki = "あいうえお"; + var anon = new { Tako, Yaki }; + var mc = new MyClass(); + logger.ZLogDebug($"tako: {mc.Call(10, anon.Tako)} yaki: {(((mc.Call2(1, 2))))}"); + + var json = processor.Dequeue(); + var doc = JsonDocument.Parse(json).RootElement; + + doc.GetProperty("Call").GetInt32().Should().Be(110); + doc.GetProperty("Call2").GetInt32().Should().Be(3); + } + + class MyClass + { + public int Call(int x, int y) => x + y; + public int Call2(int x, int y) => x + y; + } + +} \ No newline at end of file diff --git a/src/ZLogger.Unity/Assets/Tests/FormatTest.cs.meta b/src/ZLogger.Unity/Assets/Tests/FormatTest.cs.meta new file mode 100644 index 00000000..fb0a5e90 --- /dev/null +++ b/src/ZLogger.Unity/Assets/Tests/FormatTest.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 922511ce884964aac81f048681a5abe8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/ZLogger.Unity/Assets/Tests/ScopeTest.cs b/src/ZLogger.Unity/Assets/Tests/ScopeTest.cs new file mode 100644 index 00000000..e6becc62 --- /dev/null +++ b/src/ZLogger.Unity/Assets/Tests/ScopeTest.cs @@ -0,0 +1,113 @@ +using Xunit; +using System; +using FluentAssertions; +using Microsoft.Extensions.Logging; +using System.Collections.Generic; +using System.Text.Json; +using System.Threading.Tasks; +using ZLogger; + +namespace Tests; + +public class ScopeTest +{ + TestProcessor processor; + ILogger logger; + + public ScopeTest() + { + var options = new ZLoggerOptions + { + IncludeScopes = true + }; + options.UseJsonFormatter(); + + processor = new TestProcessor(options); + + var loggerFactory = LoggerFactory.Create(x => + { + x.SetMinimumLevel(LogLevel.Debug); + x.AddZLoggerLogProcessor(options => + { + options.IncludeScopes = true; + return processor; + }); + }); + logger = loggerFactory.CreateLogger("test"); + } + + [Fact] + public void BeginScope_FormattedLogValuesToJson() + { + using (logger.BeginScope("({X}, {Y})", 111, null)) + { + var x = 333; + var y = 444; + logger.ZLogInformation($"FooBar{x} NanoNano{y}"); + } + + var doc = JsonDocument.Parse(processor.Dequeue()).RootElement; + doc.GetProperty("Message").GetString().Should().Be("FooBar333 NanoNano444"); + doc.GetProperty("X").GetInt32().Should().Be(111); + doc.GetProperty("Y").ValueKind.Should().Be(JsonValueKind.Null); + } + + [Fact] + public void BeginScope_KeyValuePairToJson() + { + using (logger.BeginScope(new KeyValuePair("Hoge", "AAA"))) + { + var x = 100; + var y = 200; + logger.ZLogInformation($"FooBar{x} NanoNano{y}"); + } + + var doc = JsonDocument.Parse(processor.Dequeue()).RootElement; + + doc.GetProperty("Message").GetString().Should().Be("FooBar100 NanoNano200"); + doc.GetProperty("Hoge").GetString().Should().Be("AAA"); + } + + [Fact] + public void BeginScope_AnyScopeValueToJson() + { + using (logger.BeginScope(new TestState { X = 999 })) + { + var x = 100; + var y = 200; + logger.ZLogInformation($"FooBar{x} NanoNano{y}"); + } + + var json = processor.Dequeue(); + var doc = JsonDocument.Parse(json).RootElement; + doc.GetProperty("Message").GetString().Should().Be("FooBar100 NanoNano200"); + + var scope = doc.GetProperty("Scope"); + scope.GetProperty("X").GetInt32().Should().Be(999); + } + + [Fact] + public void BeginScope_NestedToJson() + { + using (logger.BeginScope("X={X}", 111)) + { + logger.ZLogInformation($"Message 1"); + + using (logger.BeginScope("Y={Y}", 222)) + { + logger.ZLogInformation($"Message 2"); + } + } + + var log1 = JsonDocument.Parse(processor.Dequeue()).RootElement; + var log2 = JsonDocument.Parse(processor.Dequeue()).RootElement; + + log1.GetProperty("Message").GetString().Should().Be("Message 1"); + log1.GetProperty("X").GetInt32().Should().Be(111); + log1.TryGetProperty("Y", out _).Should().BeFalse(); + + log2.GetProperty("Message").GetString().Should().Be("Message 2"); + log2.GetProperty("X").GetInt32().Should().Be(111); + log2.GetProperty("Y").GetInt32().Should().Be(222); + } +} diff --git a/src/ZLogger.Unity/Assets/Tests/ScopeTest.cs.meta b/src/ZLogger.Unity/Assets/Tests/ScopeTest.cs.meta new file mode 100644 index 00000000..fa478d31 --- /dev/null +++ b/src/ZLogger.Unity/Assets/Tests/ScopeTest.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5061f53039b7b4dd0934432205040bd6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/ZLogger.Unity/Assets/Tests/Shims.cs b/src/ZLogger.Unity/Assets/Tests/Shims.cs new file mode 100644 index 00000000..78139ca4 --- /dev/null +++ b/src/ZLogger.Unity/Assets/Tests/Shims.cs @@ -0,0 +1,170 @@ +#pragma warning disable +using NUnit.Framework; +using System; + +namespace Xunit +{ + public class FactAttribute : TestAttribute + { + + } +} + +// Shims of FluentAssertions +namespace FluentAssertions +{ + public static class FluentAssertionsExtensions + { + public static Int Should(this int value) + { + return new Int(value); + } + + public static Bool Should(this bool value) + { + return new Bool(value); + } + + public static String Should(this string value) + { + return new String(value); + } + + public static ExceptionAssertion Should(this Exception value) + { + return new ExceptionAssertion(value); + } + + public static Generic Should(this T value) + { + return new Generic(value); + } + + public class Generic + { + readonly T actual; + + public Generic(T value) + { + actual = value; + } + + public void Be(T expected) + { + Assert.AreEqual(expected, actual); + } + + public void NotBe(T expected) + { + Assert.AreNotEqual(expected, actual); + } + + public void BeNull() + { + Assert.IsNull(actual); + } + + public void NotBeNull() + { + Assert.IsNotNull(actual); + } + } + + public class Bool + { + readonly bool actual; + + public Bool(bool value) + { + actual = value; + } + + public void Be(bool expected) + { + Assert.AreEqual(expected, actual); + } + + public void NotBe(bool expected) + { + Assert.AreNotEqual(expected, actual); + } + + public void BeTrue() + { + Assert.AreEqual(true, actual); + } + + public void BeFalse() + { + Assert.AreEqual(false, actual); + } + } + + public class Int + { + readonly int actual; + + public Int(int value) + { + actual = value; + } + + public void Be(int expected) + { + Assert.AreEqual(expected, actual); + } + + public void NotBe(int expected) + { + Assert.AreNotEqual(expected, actual); + } + + public void BeCloseTo(int expected, int delta) + { + if (expected - delta <= actual && actual <= expected + delta) + { + // OK. + } + else + { + Assert.Fail($"Fail BeCloseTo, actual {actual} but expected:{expected} +- {delta}"); + } + } + } + + public class String + { + readonly string actual; + + public String(string value) + { + actual = value; + } + + public void Be(string expected) + { + Assert.AreEqual(expected, actual); + } + + public void NotBe(string expected) + { + Assert.AreNotEqual(expected, actual); + } + } + + public class ExceptionAssertion + { + readonly Exception actual; + + public ExceptionAssertion(Exception actual) + { + this.actual = actual; + } + + public void BeAssignableTo() + { + typeof(T).IsAssignableFrom(actual.GetType()); + } + } + } +} diff --git a/src/ZLogger.Unity/Assets/Tests/Shims.cs.meta b/src/ZLogger.Unity/Assets/Tests/Shims.cs.meta new file mode 100644 index 00000000..8a0be4b5 --- /dev/null +++ b/src/ZLogger.Unity/Assets/Tests/Shims.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7c049227d127445ebae37c918545fadc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/ZLogger.Unity/Assets/Tests/TestProcessor.cs b/src/ZLogger.Unity/Assets/Tests/TestProcessor.cs new file mode 100644 index 00000000..9e448665 --- /dev/null +++ b/src/ZLogger.Unity/Assets/Tests/TestProcessor.cs @@ -0,0 +1,49 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Buffers; +using System.Threading.Tasks; +using ZLogger; + +namespace Tests +{ + class TestProcessor : IAsyncLogProcessor + { + [ThreadStatic] + static ArrayBufferWriter? bufferWriter; + + public Queue EntryMessages = new(); + readonly IZLoggerFormatter formatter; + + public string Dequeue() => EntryMessages.Dequeue(); + + public TestProcessor(ZLoggerOptions options) + { + formatter = options.CreateFormatter(); + } + + public ValueTask DisposeAsync() + { + return default; + } + + public void Post(IZLoggerEntry log) + { + EntryMessages.Enqueue(FormatToString(log, formatter)); + } + + static string FormatToString(IZLoggerEntry entry, IZLoggerFormatter formatter) + { + bufferWriter ??= new ArrayBufferWriter(); + bufferWriter.Clear(); + + formatter.FormatLogEntry(bufferWriter, entry); + return Encoding.UTF8.GetString(bufferWriter.WrittenSpan); + } + } + + class TestState + { + public int X { get; set; } + } +} diff --git a/src/ZLogger.Unity/Assets/Tests/TestProcessor.cs.meta b/src/ZLogger.Unity/Assets/Tests/TestProcessor.cs.meta new file mode 100644 index 00000000..b8ae2392 --- /dev/null +++ b/src/ZLogger.Unity/Assets/Tests/TestProcessor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3a0e66870d0094089902b77e77017574 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/ZLogger.Unity/Assets/Tests/Tests.asmdef b/src/ZLogger.Unity/Assets/Tests/Tests.asmdef new file mode 100644 index 00000000..0c0cd837 --- /dev/null +++ b/src/ZLogger.Unity/Assets/Tests/Tests.asmdef @@ -0,0 +1,39 @@ +{ + "name": "Tests", + "rootNamespace": "", + "references": [ + "UnityEngine.TestRunner", + "UnityEditor.TestRunner" + ], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": true, + "precompiledReferences": [ + "nunit.framework.dll", + "ZLogger.dll", + "Microsoft.Bcl.AsyncInterfaces.dll", + "Microsoft.Bcl.TimeProvider.dll", + "Microsoft.Extensions.DependencyInjection.dll", + "Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "Microsoft.Extensions.Logging.dll", + "Microsoft.Extensions.Logging.Abstractions.dll", + "Microsoft.Extensions.Options.dll", + "Microsoft.Extensions.Primitives.dll", + "System.Collections.Immutable.dll", + "System.ComponentModel.Annotations.dll", + "System.Diagnostics.DiagnosticSource.dll", + "System.IO.Hashing.dll", + "System.Runtime.CompilerServices.Unsafe.dll", + "System.Text.Encodings.Web.dll", + "System.Text.Json.dll", + "System.Threading.Channels.dll", + "Utf8StringInterpolation.dll" + ], + "autoReferenced": false, + "defineConstraints": [ + "UNITY_INCLUDE_TESTS" + ], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/src/ZLogger.Unity/Assets/Tests/Tests.asmdef.meta b/src/ZLogger.Unity/Assets/Tests/Tests.asmdef.meta new file mode 100644 index 00000000..17cd49fa --- /dev/null +++ b/src/ZLogger.Unity/Assets/Tests/Tests.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 06974ec19453c4ee39b5536f9346ad29 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/ZLogger.Unity/Assets/Tests/csc.rsp b/src/ZLogger.Unity/Assets/Tests/csc.rsp new file mode 100644 index 00000000..f712c6f6 --- /dev/null +++ b/src/ZLogger.Unity/Assets/Tests/csc.rsp @@ -0,0 +1 @@ +-langVersion:10 -nullable \ No newline at end of file diff --git a/src/ZLogger.Unity/Assets/Tests/csc.rsp.meta b/src/ZLogger.Unity/Assets/Tests/csc.rsp.meta new file mode 100644 index 00000000..c4e517eb --- /dev/null +++ b/src/ZLogger.Unity/Assets/Tests/csc.rsp.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 764245cc441974c8c9ce27e0f6e785e3 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/ZLogger.Unity/Assets/ZLogger.Unity.meta b/src/ZLogger.Unity/Assets/ZLogger.Unity.meta new file mode 100644 index 00000000..79600278 --- /dev/null +++ b/src/ZLogger.Unity/Assets/ZLogger.Unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5fdfb25248b8446acafb8d9863b14ecc +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime.meta b/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime.meta new file mode 100644 index 00000000..e8bd1af7 --- /dev/null +++ b/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cd5fef9f9f7a14034b39b2fe6af77892 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/ZLogger.Unity.asmdef b/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/ZLogger.Unity.asmdef new file mode 100644 index 00000000..cf6c0fee --- /dev/null +++ b/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/ZLogger.Unity.asmdef @@ -0,0 +1,12 @@ +{ + "name": "ZLogger.Unity", + "references": [], + "optionalUnityReferences": [], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": true, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [] +} diff --git a/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/ZLogger.Unity.asmdef.meta b/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/ZLogger.Unity.asmdef.meta new file mode 100644 index 00000000..ca867709 --- /dev/null +++ b/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/ZLogger.Unity.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2b78dc61ba35e42c39ba2aabce11b6c4 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/csc.rsp b/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/csc.rsp new file mode 100644 index 00000000..f712c6f6 --- /dev/null +++ b/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/csc.rsp @@ -0,0 +1 @@ +-langVersion:10 -nullable \ No newline at end of file diff --git a/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/csc.rsp.meta b/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/csc.rsp.meta new file mode 100644 index 00000000..dc27dea6 --- /dev/null +++ b/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/csc.rsp.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: effe47f6d678e4c7c9d3d6a4d04771e1 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/package.json b/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/package.json new file mode 100644 index 00000000..8e92326d --- /dev/null +++ b/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/package.json @@ -0,0 +1,9 @@ +{ + "name": "com.cysharp.zlogger", + "version": "2.0.0", + "author": { "name": "Cysharp, Inc.", "url": "https://cysharp.co.jp/en/" }, + "displayName": "ZLogger", + "description": "Zero Allocation Text/Structured Logger for .NET with StringInterpolation and Source Generator, built on top of a Microsoft.Extensions.Logging.", + "unity": "2022.2", + "license": "MIT" +} diff --git a/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/package.json.meta b/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/package.json.meta new file mode 100644 index 00000000..1eb81852 --- /dev/null +++ b/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 05651175ef23a4c4c93d5b9c87ac08bc +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/ZLogger.Unity/Assets/packages.config b/src/ZLogger.Unity/Assets/packages.config new file mode 100644 index 00000000..724e37c8 --- /dev/null +++ b/src/ZLogger.Unity/Assets/packages.config @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/ZLogger.Unity/Assets/packages.config.meta b/src/ZLogger.Unity/Assets/packages.config.meta new file mode 100644 index 00000000..4fca3f0e --- /dev/null +++ b/src/ZLogger.Unity/Assets/packages.config.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 71dd7aa9e4b5b4eb4b22c2086af39fdd +labels: +- NuGetForUnity +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/ZLogger.Unity/LangVersion.props b/src/ZLogger.Unity/LangVersion.props new file mode 100644 index 00000000..577cd8cf --- /dev/null +++ b/src/ZLogger.Unity/LangVersion.props @@ -0,0 +1,6 @@ + + + 10.0 + enable + + diff --git a/src/ZLogger.Unity/ProjectSettings/AudioManager.asset b/src/ZLogger.Unity/ProjectSettings/AudioManager.asset new file mode 100644 index 00000000..07ebfb05 --- /dev/null +++ b/src/ZLogger.Unity/ProjectSettings/AudioManager.asset @@ -0,0 +1,19 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!11 &1 +AudioManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Volume: 1 + Rolloff Scale: 1 + Doppler Factor: 1 + Default Speaker Mode: 2 + m_SampleRate: 0 + m_DSPBufferSize: 1024 + m_VirtualVoiceCount: 512 + m_RealVoiceCount: 32 + m_SpatializerPlugin: + m_AmbisonicDecoderPlugin: + m_DisableAudio: 0 + m_VirtualizeEffects: 1 + m_RequestedDSPBufferSize: 1024 diff --git a/src/ZLogger.Unity/ProjectSettings/ClusterInputManager.asset b/src/ZLogger.Unity/ProjectSettings/ClusterInputManager.asset new file mode 100644 index 00000000..e7886b26 --- /dev/null +++ b/src/ZLogger.Unity/ProjectSettings/ClusterInputManager.asset @@ -0,0 +1,6 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!236 &1 +ClusterInputManager: + m_ObjectHideFlags: 0 + m_Inputs: [] diff --git a/src/ZLogger.Unity/ProjectSettings/CsprojModifierSettings.json b/src/ZLogger.Unity/ProjectSettings/CsprojModifierSettings.json new file mode 100644 index 00000000..2b2682be --- /dev/null +++ b/src/ZLogger.Unity/ProjectSettings/CsprojModifierSettings.json @@ -0,0 +1 @@ +{"AdditionalImports":[{"Path":"LangVersion.props","Position":0}],"AdditionalImportsAdditionalProjects":["ZLogger.Unity.csproj","Tests.csproj"],"EnableAddAnalyzerReferences":false,"AddAnalyzerReferencesAdditionalProjects":[]} \ No newline at end of file diff --git a/src/ZLogger.Unity/ProjectSettings/DynamicsManager.asset b/src/ZLogger.Unity/ProjectSettings/DynamicsManager.asset new file mode 100644 index 00000000..cdc1f3ea --- /dev/null +++ b/src/ZLogger.Unity/ProjectSettings/DynamicsManager.asset @@ -0,0 +1,34 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!55 &1 +PhysicsManager: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_Gravity: {x: 0, y: -9.81, z: 0} + m_DefaultMaterial: {fileID: 0} + m_BounceThreshold: 2 + m_SleepThreshold: 0.005 + m_DefaultContactOffset: 0.01 + m_DefaultSolverIterations: 6 + m_DefaultSolverVelocityIterations: 1 + m_QueriesHitBackfaces: 0 + m_QueriesHitTriggers: 1 + m_EnableAdaptiveForce: 0 + m_ClothInterCollisionDistance: 0 + m_ClothInterCollisionStiffness: 0 + m_ContactsGeneration: 1 + m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + m_AutoSimulation: 1 + m_AutoSyncTransforms: 0 + m_ReuseCollisionCallbacks: 1 + m_ClothInterCollisionSettingsToggle: 0 + m_ContactPairsMode: 0 + m_BroadphaseType: 0 + m_WorldBounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 250, y: 250, z: 250} + m_WorldSubdivisions: 8 + m_FrictionType: 0 + m_EnableEnhancedDeterminism: 0 + m_EnableUnifiedHeightmaps: 1 + m_DefaultMaxAngluarSpeed: 7 diff --git a/src/ZLogger.Unity/ProjectSettings/EditorBuildSettings.asset b/src/ZLogger.Unity/ProjectSettings/EditorBuildSettings.asset new file mode 100644 index 00000000..0147887e --- /dev/null +++ b/src/ZLogger.Unity/ProjectSettings/EditorBuildSettings.asset @@ -0,0 +1,8 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1045 &1 +EditorBuildSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Scenes: [] + m_configObjects: {} diff --git a/src/ZLogger.Unity/ProjectSettings/EditorSettings.asset b/src/ZLogger.Unity/ProjectSettings/EditorSettings.asset new file mode 100644 index 00000000..1e44a0a1 --- /dev/null +++ b/src/ZLogger.Unity/ProjectSettings/EditorSettings.asset @@ -0,0 +1,30 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!159 &1 +EditorSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_ExternalVersionControlSupport: Visible Meta Files + m_SerializationMode: 2 + m_LineEndingsForNewScripts: 0 + m_DefaultBehaviorMode: 0 + m_PrefabRegularEnvironment: {fileID: 0} + m_PrefabUIEnvironment: {fileID: 0} + m_SpritePackerMode: 0 + m_SpritePackerPaddingPower: 1 + m_EtcTextureCompressorBehavior: 1 + m_EtcTextureFastCompressor: 1 + m_EtcTextureNormalCompressor: 2 + m_EtcTextureBestCompressor: 4 + m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp;asmref + m_ProjectGenerationRootNamespace: + m_CollabEditorSettings: + inProgressEnabled: 1 + m_EnableTextureStreamingInEditMode: 1 + m_EnableTextureStreamingInPlayMode: 1 + m_AsyncShaderCompilation: 1 + m_EnterPlayModeOptionsEnabled: 0 + m_EnterPlayModeOptions: 3 + m_ShowLightmapResolutionOverlay: 1 + m_UseLegacyProbeSampleCount: 0 + m_SerializeInlineMappingsOnOneLine: 1 diff --git a/src/ZLogger.Unity/ProjectSettings/GraphicsSettings.asset b/src/ZLogger.Unity/ProjectSettings/GraphicsSettings.asset new file mode 100644 index 00000000..43369e3c --- /dev/null +++ b/src/ZLogger.Unity/ProjectSettings/GraphicsSettings.asset @@ -0,0 +1,63 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!30 &1 +GraphicsSettings: + m_ObjectHideFlags: 0 + serializedVersion: 13 + m_Deferred: + m_Mode: 1 + m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} + m_DeferredReflections: + m_Mode: 1 + m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} + m_ScreenSpaceShadows: + m_Mode: 1 + m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} + m_LegacyDeferred: + m_Mode: 1 + m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} + m_DepthNormals: + m_Mode: 1 + m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} + m_MotionVectors: + m_Mode: 1 + m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} + m_LightHalo: + m_Mode: 1 + m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} + m_LensFlare: + m_Mode: 1 + m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} + m_AlwaysIncludedShaders: + - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} + m_PreloadedShaders: [] + m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, + type: 0} + m_CustomRenderPipeline: {fileID: 0} + m_TransparencySortMode: 0 + m_TransparencySortAxis: {x: 0, y: 0, z: 1} + m_DefaultRenderingPath: 1 + m_DefaultMobileRenderingPath: 1 + m_TierSettings: [] + m_LightmapStripping: 0 + m_FogStripping: 0 + m_InstancingStripping: 0 + m_LightmapKeepPlain: 1 + m_LightmapKeepDirCombined: 1 + m_LightmapKeepDynamicPlain: 1 + m_LightmapKeepDynamicDirCombined: 1 + m_LightmapKeepShadowMask: 1 + m_LightmapKeepSubtractive: 1 + m_FogKeepLinear: 1 + m_FogKeepExp: 1 + m_FogKeepExp2: 1 + m_AlbedoSwatchInfos: [] + m_LightsUseLinearIntensity: 0 + m_LightsUseColorTemperature: 0 + m_LogWhenShaderIsCompiled: 0 + m_AllowEnlightenSupportForUpgradedProject: 0 diff --git a/src/ZLogger.Unity/ProjectSettings/InputManager.asset b/src/ZLogger.Unity/ProjectSettings/InputManager.asset new file mode 100644 index 00000000..17c8f538 --- /dev/null +++ b/src/ZLogger.Unity/ProjectSettings/InputManager.asset @@ -0,0 +1,295 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!13 &1 +InputManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Axes: + - serializedVersion: 3 + m_Name: Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: left + positiveButton: right + altNegativeButton: a + altPositiveButton: d + gravity: 3 + dead: 0.001 + sensitivity: 3 + snap: 1 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: down + positiveButton: up + altNegativeButton: s + altPositiveButton: w + gravity: 3 + dead: 0.001 + sensitivity: 3 + snap: 1 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire1 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left ctrl + altNegativeButton: + altPositiveButton: mouse 0 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire2 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left alt + altNegativeButton: + altPositiveButton: mouse 1 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire3 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left shift + altNegativeButton: + altPositiveButton: mouse 2 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Jump + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: space + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse X + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse Y + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 1 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse ScrollWheel + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 2 + joyNum: 0 + - serializedVersion: 3 + m_Name: Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 1 + type: 2 + axis: 1 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire1 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 0 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire2 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 1 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire3 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 2 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Jump + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 3 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Submit + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: return + altNegativeButton: + altPositiveButton: joystick button 0 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Submit + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: enter + altNegativeButton: + altPositiveButton: space + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Cancel + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: escape + altNegativeButton: + altPositiveButton: joystick button 1 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 diff --git a/src/ZLogger.Unity/ProjectSettings/MemorySettings.asset b/src/ZLogger.Unity/ProjectSettings/MemorySettings.asset new file mode 100644 index 00000000..5b5facec --- /dev/null +++ b/src/ZLogger.Unity/ProjectSettings/MemorySettings.asset @@ -0,0 +1,35 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!387306366 &1 +MemorySettings: + m_ObjectHideFlags: 0 + m_EditorMemorySettings: + m_MainAllocatorBlockSize: -1 + m_ThreadAllocatorBlockSize: -1 + m_MainGfxBlockSize: -1 + m_ThreadGfxBlockSize: -1 + m_CacheBlockSize: -1 + m_TypetreeBlockSize: -1 + m_ProfilerBlockSize: -1 + m_ProfilerEditorBlockSize: -1 + m_BucketAllocatorGranularity: -1 + m_BucketAllocatorBucketsCount: -1 + m_BucketAllocatorBlockSize: -1 + m_BucketAllocatorBlockCount: -1 + m_ProfilerBucketAllocatorGranularity: -1 + m_ProfilerBucketAllocatorBucketsCount: -1 + m_ProfilerBucketAllocatorBlockSize: -1 + m_ProfilerBucketAllocatorBlockCount: -1 + m_TempAllocatorSizeMain: -1 + m_JobTempAllocatorBlockSize: -1 + m_BackgroundJobTempAllocatorBlockSize: -1 + m_JobTempAllocatorReducedBlockSize: -1 + m_TempAllocatorSizeGIBakingWorker: -1 + m_TempAllocatorSizeNavMeshWorker: -1 + m_TempAllocatorSizeAudioWorker: -1 + m_TempAllocatorSizeCloudWorker: -1 + m_TempAllocatorSizeGfx: -1 + m_TempAllocatorSizeJobWorker: -1 + m_TempAllocatorSizeBackgroundWorker: -1 + m_TempAllocatorSizePreloadManager: -1 + m_PlatformMemorySettings: {} diff --git a/src/ZLogger.Unity/ProjectSettings/NavMeshAreas.asset b/src/ZLogger.Unity/ProjectSettings/NavMeshAreas.asset new file mode 100644 index 00000000..3b0b7c3d --- /dev/null +++ b/src/ZLogger.Unity/ProjectSettings/NavMeshAreas.asset @@ -0,0 +1,91 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!126 &1 +NavMeshProjectSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + areas: + - name: Walkable + cost: 1 + - name: Not Walkable + cost: 1 + - name: Jump + cost: 2 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + m_LastAgentTypeID: -887442657 + m_Settings: + - serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.75 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_SettingNames: + - Humanoid diff --git a/src/ZLogger.Unity/ProjectSettings/PackageManagerSettings.asset b/src/ZLogger.Unity/ProjectSettings/PackageManagerSettings.asset new file mode 100644 index 00000000..112a053b --- /dev/null +++ b/src/ZLogger.Unity/ProjectSettings/PackageManagerSettings.asset @@ -0,0 +1,35 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 61 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_EnablePreReleasePackages: 0 + m_EnablePackageDependencies: 0 + m_AdvancedSettingsExpanded: 1 + m_ScopedRegistriesSettingsExpanded: 1 + m_SeeAllPackageVersions: 0 + oneTimeWarningShown: 0 + m_Registries: + - m_Id: main + m_Name: + m_Url: https://packages.unity.com + m_Scopes: [] + m_IsDefault: 1 + m_Capabilities: 7 + m_UserSelectedRegistryName: + m_UserAddingNewScopedRegistry: 0 + m_RegistryInfoDraft: + m_Modified: 0 + m_ErrorMessage: + m_UserModificationsInstanceId: -830 + m_OriginalInstanceId: -832 + m_LoadAssets: 0 diff --git a/src/ZLogger.Unity/ProjectSettings/Physics2DSettings.asset b/src/ZLogger.Unity/ProjectSettings/Physics2DSettings.asset new file mode 100644 index 00000000..47880b1c --- /dev/null +++ b/src/ZLogger.Unity/ProjectSettings/Physics2DSettings.asset @@ -0,0 +1,56 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!19 &1 +Physics2DSettings: + m_ObjectHideFlags: 0 + serializedVersion: 4 + m_Gravity: {x: 0, y: -9.81} + m_DefaultMaterial: {fileID: 0} + m_VelocityIterations: 8 + m_PositionIterations: 3 + m_VelocityThreshold: 1 + m_MaxLinearCorrection: 0.2 + m_MaxAngularCorrection: 8 + m_MaxTranslationSpeed: 100 + m_MaxRotationSpeed: 360 + m_BaumgarteScale: 0.2 + m_BaumgarteTimeOfImpactScale: 0.75 + m_TimeToSleep: 0.5 + m_LinearSleepTolerance: 0.01 + m_AngularSleepTolerance: 2 + m_DefaultContactOffset: 0.01 + m_JobOptions: + serializedVersion: 2 + useMultithreading: 0 + useConsistencySorting: 0 + m_InterpolationPosesPerJob: 100 + m_NewContactsPerJob: 30 + m_CollideContactsPerJob: 100 + m_ClearFlagsPerJob: 200 + m_ClearBodyForcesPerJob: 200 + m_SyncDiscreteFixturesPerJob: 50 + m_SyncContinuousFixturesPerJob: 50 + m_FindNearestContactsPerJob: 100 + m_UpdateTriggerContactsPerJob: 100 + m_IslandSolverCostThreshold: 100 + m_IslandSolverBodyCostScale: 1 + m_IslandSolverContactCostScale: 10 + m_IslandSolverJointCostScale: 10 + m_IslandSolverBodiesPerJob: 50 + m_IslandSolverContactsPerJob: 50 + m_AutoSimulation: 1 + m_QueriesHitTriggers: 1 + m_QueriesStartInColliders: 1 + m_CallbacksOnDisable: 1 + m_ReuseCollisionCallbacks: 1 + m_AutoSyncTransforms: 0 + m_AlwaysShowColliders: 0 + m_ShowColliderSleep: 1 + m_ShowColliderContacts: 0 + m_ShowColliderAABB: 0 + m_ContactArrowScale: 0.2 + m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} + m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} + m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} + m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} + m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff diff --git a/src/ZLogger.Unity/ProjectSettings/PresetManager.asset b/src/ZLogger.Unity/ProjectSettings/PresetManager.asset new file mode 100644 index 00000000..67a94dae --- /dev/null +++ b/src/ZLogger.Unity/ProjectSettings/PresetManager.asset @@ -0,0 +1,7 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1386491679 &1 +PresetManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_DefaultPresets: {} diff --git a/src/ZLogger.Unity/ProjectSettings/ProjectSettings.asset b/src/ZLogger.Unity/ProjectSettings/ProjectSettings.asset new file mode 100644 index 00000000..d58cfd76 --- /dev/null +++ b/src/ZLogger.Unity/ProjectSettings/ProjectSettings.asset @@ -0,0 +1,757 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!129 &1 +PlayerSettings: + m_ObjectHideFlags: 0 + serializedVersion: 26 + productGUID: 303b0a526e6f64eea9772f6246464aaf + AndroidProfiler: 0 + AndroidFilterTouchesWhenObscured: 0 + AndroidEnableSustainedPerformanceMode: 0 + defaultScreenOrientation: 4 + targetDevice: 2 + useOnDemandResources: 0 + accelerometerFrequency: 60 + companyName: DefaultCompany + productName: ZLogger.Unity + defaultCursor: {fileID: 0} + cursorHotspot: {x: 0, y: 0} + m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} + m_ShowUnitySplashScreen: 0 + m_ShowUnitySplashLogo: 1 + m_SplashScreenOverlayOpacity: 1 + m_SplashScreenAnimation: 1 + m_SplashScreenLogoStyle: 1 + m_SplashScreenDrawMode: 0 + m_SplashScreenBackgroundAnimationZoom: 1 + m_SplashScreenLogoAnimationZoom: 1 + m_SplashScreenBackgroundLandscapeAspect: 1 + m_SplashScreenBackgroundPortraitAspect: 1 + m_SplashScreenBackgroundLandscapeUvs: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + m_SplashScreenBackgroundPortraitUvs: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + m_SplashScreenLogos: [] + m_VirtualRealitySplashScreen: {fileID: 0} + m_HolographicTrackingLossScreen: {fileID: 0} + defaultScreenWidth: 1920 + defaultScreenHeight: 1080 + defaultScreenWidthWeb: 960 + defaultScreenHeightWeb: 600 + m_StereoRenderingPath: 0 + m_ActiveColorSpace: 0 + m_SpriteBatchVertexThreshold: 300 + m_MTRendering: 1 + mipStripping: 0 + numberOfMipsStripped: 0 + numberOfMipsStrippedPerMipmapLimitGroup: {} + m_StackTraceTypes: 010000000100000001000000010000000100000001000000 + iosShowActivityIndicatorOnLoading: -1 + androidShowActivityIndicatorOnLoading: -1 + iosUseCustomAppBackgroundBehavior: 0 + allowedAutorotateToPortrait: 1 + allowedAutorotateToPortraitUpsideDown: 1 + allowedAutorotateToLandscapeRight: 1 + allowedAutorotateToLandscapeLeft: 1 + useOSAutorotation: 1 + use32BitDisplayBuffer: 1 + preserveFramebufferAlpha: 0 + disableDepthAndStencilBuffers: 0 + androidStartInFullscreen: 1 + androidRenderOutsideSafeArea: 1 + androidUseSwappy: 1 + androidBlitType: 0 + androidResizableWindow: 0 + androidDefaultWindowWidth: 1920 + androidDefaultWindowHeight: 1080 + androidMinimumWindowWidth: 400 + androidMinimumWindowHeight: 300 + androidFullscreenMode: 1 + defaultIsNativeResolution: 1 + macRetinaSupport: 1 + runInBackground: 1 + captureSingleScreen: 0 + muteOtherAudioSources: 0 + Prepare IOS For Recording: 0 + Force IOS Speakers When Recording: 0 + deferSystemGesturesMode: 0 + hideHomeButton: 0 + submitAnalytics: 1 + usePlayerLog: 1 + bakeCollisionMeshes: 0 + forceSingleInstance: 0 + useFlipModelSwapchain: 1 + resizableWindow: 1 + useMacAppStoreValidation: 0 + macAppStoreCategory: public.app-category.games + gpuSkinning: 1 + xboxPIXTextureCapture: 0 + xboxEnableAvatar: 0 + xboxEnableKinect: 0 + xboxEnableKinectAutoTracking: 0 + xboxEnableFitness: 0 + visibleInBackground: 1 + allowFullscreenSwitch: 1 + fullscreenMode: 3 + xboxSpeechDB: 0 + xboxEnableHeadOrientation: 0 + xboxEnableGuest: 0 + xboxEnablePIXSampling: 0 + metalFramebufferOnly: 0 + xboxOneResolution: 0 + xboxOneSResolution: 0 + xboxOneXResolution: 3 + xboxOneMonoLoggingLevel: 0 + xboxOneLoggingLevel: 1 + xboxOneDisableEsram: 0 + xboxOneEnableTypeOptimization: 0 + xboxOnePresentImmediateThreshold: 0 + switchQueueCommandMemory: 0 + switchQueueControlMemory: 16384 + switchQueueComputeMemory: 262144 + switchNVNShaderPoolsGranularity: 33554432 + switchNVNDefaultPoolsGranularity: 16777216 + switchNVNOtherPoolsGranularity: 16777216 + switchGpuScratchPoolGranularity: 2097152 + switchAllowGpuScratchShrinking: 0 + switchNVNMaxPublicTextureIDCount: 0 + switchNVNMaxPublicSamplerIDCount: 0 + switchNVNGraphicsFirmwareMemory: 32 + stadiaPresentMode: 0 + stadiaTargetFramerate: 0 + vulkanNumSwapchainBuffers: 3 + vulkanEnableSetSRGBWrite: 0 + vulkanEnablePreTransform: 1 + vulkanEnableLateAcquireNextImage: 0 + vulkanEnableCommandBufferRecycling: 1 + loadStoreDebugModeEnabled: 0 + bundleVersion: 0.1 + preloadedAssets: [] + metroInputSource: 0 + wsaTransparentSwapchain: 0 + m_HolographicPauseOnTrackingLoss: 1 + xboxOneDisableKinectGpuReservation: 1 + xboxOneEnable7thCore: 1 + vrSettings: + enable360StereoCapture: 0 + isWsaHolographicRemotingEnabled: 0 + enableFrameTimingStats: 0 + enableOpenGLProfilerGPURecorders: 1 + useHDRDisplay: 0 + hdrBitDepth: 0 + m_ColorGamuts: 00000000 + targetPixelDensity: 30 + resolutionScalingMode: 0 + resetResolutionOnWindowResize: 0 + androidSupportedAspectRatio: 1 + androidMaxAspectRatio: 2.1 + applicationIdentifier: + Standalone: com.DefaultCompany.ZLogger.Unity + buildNumber: + Standalone: 0 + VisionOS: 0 + iPhone: 0 + tvOS: 0 + overrideDefaultApplicationIdentifier: 0 + AndroidBundleVersionCode: 1 + AndroidMinSdkVersion: 22 + AndroidTargetSdkVersion: 0 + AndroidPreferredInstallLocation: 1 + aotOptions: nimt-trampolines=1024 + stripEngineCode: 1 + iPhoneStrippingLevel: 0 + iPhoneScriptCallOptimization: 0 + ForceInternetPermission: 0 + ForceSDCardPermission: 0 + CreateWallpaper: 0 + APKExpansionFiles: 0 + keepLoadedShadersAlive: 0 + StripUnusedMeshComponents: 1 + strictShaderVariantMatching: 0 + VertexChannelCompressionMask: 4054 + iPhoneSdkVersion: 988 + iOSTargetOSVersionString: 12.0 + tvOSSdkVersion: 0 + tvOSRequireExtendedGameController: 0 + tvOSTargetOSVersionString: 12.0 + uIPrerenderedIcon: 0 + uIRequiresPersistentWiFi: 0 + uIRequiresFullScreen: 1 + uIStatusBarHidden: 1 + uIExitOnSuspend: 0 + uIStatusBarStyle: 0 + appleTVSplashScreen: {fileID: 0} + appleTVSplashScreen2x: {fileID: 0} + tvOSSmallIconLayers: [] + tvOSSmallIconLayers2x: [] + tvOSLargeIconLayers: [] + tvOSLargeIconLayers2x: [] + tvOSTopShelfImageLayers: [] + tvOSTopShelfImageLayers2x: [] + tvOSTopShelfImageWideLayers: [] + tvOSTopShelfImageWideLayers2x: [] + iOSLaunchScreenType: 0 + iOSLaunchScreenPortrait: {fileID: 0} + iOSLaunchScreenLandscape: {fileID: 0} + iOSLaunchScreenBackgroundColor: + serializedVersion: 2 + rgba: 0 + iOSLaunchScreenFillPct: 100 + iOSLaunchScreenSize: 100 + iOSLaunchScreenCustomXibPath: + iOSLaunchScreeniPadType: 0 + iOSLaunchScreeniPadImage: {fileID: 0} + iOSLaunchScreeniPadBackgroundColor: + serializedVersion: 2 + rgba: 0 + iOSLaunchScreeniPadFillPct: 100 + iOSLaunchScreeniPadSize: 100 + iOSLaunchScreeniPadCustomXibPath: + iOSLaunchScreenCustomStoryboardPath: + iOSLaunchScreeniPadCustomStoryboardPath: + iOSDeviceRequirements: [] + iOSURLSchemes: [] + macOSURLSchemes: [] + iOSBackgroundModes: 0 + iOSMetalForceHardShadows: 0 + metalEditorSupport: 1 + metalAPIValidation: 1 + iOSRenderExtraFrameOnPause: 0 + iosCopyPluginsCodeInsteadOfSymlink: 0 + appleDeveloperTeamID: + iOSManualSigningProvisioningProfileID: + tvOSManualSigningProvisioningProfileID: + iOSManualSigningProvisioningProfileType: 0 + tvOSManualSigningProvisioningProfileType: 0 + appleEnableAutomaticSigning: 0 + iOSRequireARKit: 0 + iOSAutomaticallyDetectAndAddCapabilities: 1 + appleEnableProMotion: 0 + shaderPrecisionModel: 0 + clonedFromGUID: c0afd0d1d80e3634a9dac47e8a0426ea + templatePackageId: com.unity.template.3d@8.1.1 + templateDefaultScene: Assets/Scenes/SampleScene.unity + useCustomMainManifest: 0 + useCustomLauncherManifest: 0 + useCustomMainGradleTemplate: 0 + useCustomLauncherGradleManifest: 0 + useCustomBaseGradleTemplate: 0 + useCustomGradlePropertiesTemplate: 0 + useCustomGradleSettingsTemplate: 0 + useCustomProguardFile: 0 + AndroidTargetArchitectures: 1 + AndroidTargetDevices: 0 + AndroidSplashScreenScale: 0 + androidSplashScreen: {fileID: 0} + AndroidKeystoreName: + AndroidKeyaliasName: + AndroidEnableArmv9SecurityFeatures: 0 + AndroidBuildApkPerCpuArchitecture: 0 + AndroidTVCompatibility: 0 + AndroidIsGame: 1 + AndroidEnableTango: 0 + androidEnableBanner: 1 + androidUseLowAccuracyLocation: 0 + androidUseCustomKeystore: 0 + m_AndroidBanners: + - width: 320 + height: 180 + banner: {fileID: 0} + androidGamepadSupportLevel: 0 + chromeosInputEmulation: 1 + AndroidMinifyRelease: 0 + AndroidMinifyDebug: 0 + AndroidValidateAppBundleSize: 1 + AndroidAppBundleSizeToValidate: 150 + m_BuildTargetIcons: [] + m_BuildTargetPlatformIcons: [] + m_BuildTargetBatching: + - m_BuildTarget: Standalone + m_StaticBatching: 1 + m_DynamicBatching: 0 + - m_BuildTarget: tvOS + m_StaticBatching: 1 + m_DynamicBatching: 0 + - m_BuildTarget: Android + m_StaticBatching: 1 + m_DynamicBatching: 0 + - m_BuildTarget: iPhone + m_StaticBatching: 1 + m_DynamicBatching: 0 + - m_BuildTarget: WebGL + m_StaticBatching: 0 + m_DynamicBatching: 0 + m_BuildTargetShaderSettings: [] + m_BuildTargetGraphicsJobs: + - m_BuildTarget: MacStandaloneSupport + m_GraphicsJobs: 0 + - m_BuildTarget: Switch + m_GraphicsJobs: 1 + - m_BuildTarget: MetroSupport + m_GraphicsJobs: 1 + - m_BuildTarget: AppleTVSupport + m_GraphicsJobs: 0 + - m_BuildTarget: BJMSupport + m_GraphicsJobs: 1 + - m_BuildTarget: LinuxStandaloneSupport + m_GraphicsJobs: 1 + - m_BuildTarget: PS4Player + m_GraphicsJobs: 1 + - m_BuildTarget: iOSSupport + m_GraphicsJobs: 0 + - m_BuildTarget: WindowsStandaloneSupport + m_GraphicsJobs: 1 + - m_BuildTarget: XboxOnePlayer + m_GraphicsJobs: 1 + - m_BuildTarget: LuminSupport + m_GraphicsJobs: 0 + - m_BuildTarget: AndroidPlayer + m_GraphicsJobs: 0 + - m_BuildTarget: WebGLSupport + m_GraphicsJobs: 0 + m_BuildTargetGraphicsJobMode: + - m_BuildTarget: PS4Player + m_GraphicsJobMode: 0 + - m_BuildTarget: XboxOnePlayer + m_GraphicsJobMode: 0 + m_BuildTargetGraphicsAPIs: + - m_BuildTarget: AndroidPlayer + m_APIs: 150000000b000000 + m_Automatic: 1 + - m_BuildTarget: iOSSupport + m_APIs: 10000000 + m_Automatic: 1 + - m_BuildTarget: AppleTVSupport + m_APIs: 10000000 + m_Automatic: 1 + - m_BuildTarget: WebGLSupport + m_APIs: 0b000000 + m_Automatic: 1 + m_BuildTargetVRSettings: + - m_BuildTarget: Standalone + m_Enabled: 0 + m_Devices: + - Oculus + - OpenVR + m_DefaultShaderChunkSizeInMB: 16 + m_DefaultShaderChunkCount: 0 + openGLRequireES31: 0 + openGLRequireES31AEP: 0 + openGLRequireES32: 0 + m_TemplateCustomTags: {} + mobileMTRendering: + Android: 1 + iPhone: 1 + tvOS: 1 + m_BuildTargetGroupLightmapEncodingQuality: + - m_BuildTarget: Android + m_EncodingQuality: 1 + - m_BuildTarget: iPhone + m_EncodingQuality: 1 + - m_BuildTarget: tvOS + m_EncodingQuality: 1 + m_BuildTargetGroupHDRCubemapEncodingQuality: + - m_BuildTarget: Android + m_EncodingQuality: 1 + - m_BuildTarget: iPhone + m_EncodingQuality: 1 + - m_BuildTarget: tvOS + m_EncodingQuality: 1 + m_BuildTargetGroupLightmapSettings: [] + m_BuildTargetGroupLoadStoreDebugModeSettings: [] + m_BuildTargetNormalMapEncoding: + - m_BuildTarget: Android + m_Encoding: 1 + - m_BuildTarget: iPhone + m_Encoding: 1 + - m_BuildTarget: tvOS + m_Encoding: 1 + m_BuildTargetDefaultTextureCompressionFormat: + - m_BuildTarget: Android + m_Format: 3 + playModeTestRunnerEnabled: 0 + runPlayModeTestAsEditModeTest: 0 + actionOnDotNetUnhandledException: 1 + enableInternalProfiler: 0 + logObjCUncaughtExceptions: 1 + enableCrashReportAPI: 0 + cameraUsageDescription: + locationUsageDescription: + microphoneUsageDescription: + bluetoothUsageDescription: + macOSTargetOSVersion: 10.13.0 + switchNMETAOverride: + switchNetLibKey: + switchSocketMemoryPoolSize: 6144 + switchSocketAllocatorPoolSize: 128 + switchSocketConcurrencyLimit: 14 + switchScreenResolutionBehavior: 2 + switchUseCPUProfiler: 0 + switchUseGOLDLinker: 0 + switchLTOSetting: 0 + switchApplicationID: 0x01004b9000490000 + switchNSODependencies: + switchCompilerFlags: + switchTitleNames_0: + switchTitleNames_1: + switchTitleNames_2: + switchTitleNames_3: + switchTitleNames_4: + switchTitleNames_5: + switchTitleNames_6: + switchTitleNames_7: + switchTitleNames_8: + switchTitleNames_9: + switchTitleNames_10: + switchTitleNames_11: + switchTitleNames_12: + switchTitleNames_13: + switchTitleNames_14: + switchTitleNames_15: + switchPublisherNames_0: + switchPublisherNames_1: + switchPublisherNames_2: + switchPublisherNames_3: + switchPublisherNames_4: + switchPublisherNames_5: + switchPublisherNames_6: + switchPublisherNames_7: + switchPublisherNames_8: + switchPublisherNames_9: + switchPublisherNames_10: + switchPublisherNames_11: + switchPublisherNames_12: + switchPublisherNames_13: + switchPublisherNames_14: + switchPublisherNames_15: + switchIcons_0: {fileID: 0} + switchIcons_1: {fileID: 0} + switchIcons_2: {fileID: 0} + switchIcons_3: {fileID: 0} + switchIcons_4: {fileID: 0} + switchIcons_5: {fileID: 0} + switchIcons_6: {fileID: 0} + switchIcons_7: {fileID: 0} + switchIcons_8: {fileID: 0} + switchIcons_9: {fileID: 0} + switchIcons_10: {fileID: 0} + switchIcons_11: {fileID: 0} + switchIcons_12: {fileID: 0} + switchIcons_13: {fileID: 0} + switchIcons_14: {fileID: 0} + switchIcons_15: {fileID: 0} + switchSmallIcons_0: {fileID: 0} + switchSmallIcons_1: {fileID: 0} + switchSmallIcons_2: {fileID: 0} + switchSmallIcons_3: {fileID: 0} + switchSmallIcons_4: {fileID: 0} + switchSmallIcons_5: {fileID: 0} + switchSmallIcons_6: {fileID: 0} + switchSmallIcons_7: {fileID: 0} + switchSmallIcons_8: {fileID: 0} + switchSmallIcons_9: {fileID: 0} + switchSmallIcons_10: {fileID: 0} + switchSmallIcons_11: {fileID: 0} + switchSmallIcons_12: {fileID: 0} + switchSmallIcons_13: {fileID: 0} + switchSmallIcons_14: {fileID: 0} + switchSmallIcons_15: {fileID: 0} + switchManualHTML: + switchAccessibleURLs: + switchLegalInformation: + switchMainThreadStackSize: 1048576 + switchPresenceGroupId: + switchLogoHandling: 0 + switchReleaseVersion: 0 + switchDisplayVersion: 1.0.0 + switchStartupUserAccount: 0 + switchSupportedLanguagesMask: 0 + switchLogoType: 0 + switchApplicationErrorCodeCategory: + switchUserAccountSaveDataSize: 0 + switchUserAccountSaveDataJournalSize: 0 + switchApplicationAttribute: 0 + switchCardSpecSize: -1 + switchCardSpecClock: -1 + switchRatingsMask: 0 + switchRatingsInt_0: 0 + switchRatingsInt_1: 0 + switchRatingsInt_2: 0 + switchRatingsInt_3: 0 + switchRatingsInt_4: 0 + switchRatingsInt_5: 0 + switchRatingsInt_6: 0 + switchRatingsInt_7: 0 + switchRatingsInt_8: 0 + switchRatingsInt_9: 0 + switchRatingsInt_10: 0 + switchRatingsInt_11: 0 + switchRatingsInt_12: 0 + switchLocalCommunicationIds_0: + switchLocalCommunicationIds_1: + switchLocalCommunicationIds_2: + switchLocalCommunicationIds_3: + switchLocalCommunicationIds_4: + switchLocalCommunicationIds_5: + switchLocalCommunicationIds_6: + switchLocalCommunicationIds_7: + switchParentalControl: 0 + switchAllowsScreenshot: 1 + switchAllowsVideoCapturing: 1 + switchAllowsRuntimeAddOnContentInstall: 0 + switchDataLossConfirmation: 0 + switchUserAccountLockEnabled: 0 + switchSystemResourceMemory: 16777216 + switchSupportedNpadStyles: 22 + switchNativeFsCacheSize: 32 + switchIsHoldTypeHorizontal: 0 + switchSupportedNpadCount: 8 + switchEnableTouchScreen: 1 + switchSocketConfigEnabled: 0 + switchTcpInitialSendBufferSize: 32 + switchTcpInitialReceiveBufferSize: 64 + switchTcpAutoSendBufferSizeMax: 256 + switchTcpAutoReceiveBufferSizeMax: 256 + switchUdpSendBufferSize: 9 + switchUdpReceiveBufferSize: 42 + switchSocketBufferEfficiency: 4 + switchSocketInitializeEnabled: 1 + switchNetworkInterfaceManagerInitializeEnabled: 1 + switchPlayerConnectionEnabled: 1 + switchUseNewStyleFilepaths: 1 + switchUseLegacyFmodPriorities: 0 + switchUseMicroSleepForYield: 1 + switchEnableRamDiskSupport: 0 + switchMicroSleepForYieldTime: 25 + switchRamDiskSpaceSize: 12 + ps4NPAgeRating: 12 + ps4NPTitleSecret: + ps4NPTrophyPackPath: + ps4ParentalLevel: 11 + ps4ContentID: ED1633-NPXX51362_00-0000000000000000 + ps4Category: 0 + ps4MasterVersion: 01.00 + ps4AppVersion: 01.00 + ps4AppType: 0 + ps4ParamSfxPath: + ps4VideoOutPixelFormat: 0 + ps4VideoOutInitialWidth: 1920 + ps4VideoOutBaseModeInitialWidth: 1920 + ps4VideoOutReprojectionRate: 60 + ps4PronunciationXMLPath: + ps4PronunciationSIGPath: + ps4BackgroundImagePath: + ps4StartupImagePath: + ps4StartupImagesFolder: + ps4IconImagesFolder: + ps4SaveDataImagePath: + ps4SdkOverride: + ps4BGMPath: + ps4ShareFilePath: + ps4ShareOverlayImagePath: + ps4PrivacyGuardImagePath: + ps4ExtraSceSysFile: + ps4NPtitleDatPath: + ps4RemotePlayKeyAssignment: -1 + ps4RemotePlayKeyMappingDir: + ps4PlayTogetherPlayerCount: 0 + ps4EnterButtonAssignment: 1 + ps4ApplicationParam1: 0 + ps4ApplicationParam2: 0 + ps4ApplicationParam3: 0 + ps4ApplicationParam4: 0 + ps4DownloadDataSize: 0 + ps4GarlicHeapSize: 2048 + ps4ProGarlicHeapSize: 2560 + playerPrefsMaxSize: 32768 + ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ + ps4pnSessions: 1 + ps4pnPresence: 1 + ps4pnFriends: 1 + ps4pnGameCustomData: 1 + playerPrefsSupport: 0 + enableApplicationExit: 0 + resetTempFolder: 1 + restrictedAudioUsageRights: 0 + ps4UseResolutionFallback: 0 + ps4ReprojectionSupport: 0 + ps4UseAudio3dBackend: 0 + ps4UseLowGarlicFragmentationMode: 1 + ps4SocialScreenEnabled: 0 + ps4ScriptOptimizationLevel: 0 + ps4Audio3dVirtualSpeakerCount: 14 + ps4attribCpuUsage: 0 + ps4PatchPkgPath: + ps4PatchLatestPkgPath: + ps4PatchChangeinfoPath: + ps4PatchDayOne: 0 + ps4attribUserManagement: 0 + ps4attribMoveSupport: 0 + ps4attrib3DSupport: 0 + ps4attribShareSupport: 0 + ps4attribExclusiveVR: 0 + ps4disableAutoHideSplash: 0 + ps4videoRecordingFeaturesUsed: 0 + ps4contentSearchFeaturesUsed: 0 + ps4CompatibilityPS5: 0 + ps4AllowPS5Detection: 0 + ps4GPU800MHz: 1 + ps4attribEyeToEyeDistanceSettingVR: 0 + ps4IncludedModules: [] + ps4attribVROutputEnabled: 0 + monoEnv: + splashScreenBackgroundSourceLandscape: {fileID: 0} + splashScreenBackgroundSourcePortrait: {fileID: 0} + blurSplashScreenBackground: 1 + spritePackerPolicy: + webGLMemorySize: 16 + webGLExceptionSupport: 1 + webGLNameFilesAsHashes: 0 + webGLShowDiagnostics: 0 + webGLDataCaching: 1 + webGLDebugSymbols: 0 + webGLEmscriptenArgs: + webGLModulesDirectory: + webGLTemplate: APPLICATION:Default + webGLAnalyzeBuildSize: 0 + webGLUseEmbeddedResources: 0 + webGLCompressionFormat: 1 + webGLWasmArithmeticExceptions: 0 + webGLLinkerTarget: 1 + webGLThreadsSupport: 0 + webGLDecompressionFallback: 0 + webGLInitialMemorySize: 32 + webGLMaximumMemorySize: 2048 + webGLMemoryGrowthMode: 2 + webGLMemoryLinearGrowthStep: 16 + webGLMemoryGeometricGrowthStep: 0.2 + webGLMemoryGeometricGrowthCap: 96 + webGLPowerPreference: 2 + scriptingDefineSymbols: {} + additionalCompilerArguments: {} + platformArchitecture: {} + scriptingBackend: {} + il2cppCompilerConfiguration: {} + il2cppCodeGeneration: {} + managedStrippingLevel: + EmbeddedLinux: 1 + GameCoreScarlett: 1 + GameCoreXboxOne: 1 + Nintendo Switch: 1 + PS4: 1 + PS5: 1 + QNX: 1 + Stadia: 1 + VisionOS: 1 + WebGL: 1 + Windows Store Apps: 1 + XboxOne: 1 + iPhone: 1 + tvOS: 1 + incrementalIl2cppBuild: {} + suppressCommonWarnings: 1 + allowUnsafeCode: 0 + useDeterministicCompilation: 1 + selectedPlatform: 0 + additionalIl2CppArgs: + scriptingRuntimeVersion: 1 + gcIncremental: 1 + gcWBarrierValidation: 0 + apiCompatibilityLevelPerPlatform: {} + m_RenderingPath: 1 + m_MobileRenderingPath: 1 + metroPackageName: ZLogger.Unity + metroPackageVersion: + metroCertificatePath: + metroCertificatePassword: + metroCertificateSubject: + metroCertificateIssuer: + metroCertificateNotAfter: 0000000000000000 + metroApplicationDescription: ZLogger.Unity + wsaImages: {} + metroTileShortName: + metroTileShowName: 0 + metroMediumTileShowName: 0 + metroLargeTileShowName: 0 + metroWideTileShowName: 0 + metroSupportStreamingInstall: 0 + metroLastRequiredScene: 0 + metroDefaultTileSize: 1 + metroTileForegroundText: 2 + metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0} + metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, a: 1} + metroSplashScreenUseBackgroundColor: 0 + platformCapabilities: {} + metroTargetDeviceFamilies: {} + metroFTAName: + metroFTAFileTypes: [] + metroProtocolName: + vcxProjDefaultLanguage: + XboxOneProductId: + XboxOneUpdateKey: + XboxOneSandboxId: + XboxOneContentId: + XboxOneTitleId: + XboxOneSCId: + XboxOneGameOsOverridePath: + XboxOnePackagingOverridePath: + XboxOneAppManifestOverridePath: + XboxOneVersion: 1.0.0.0 + XboxOnePackageEncryption: 0 + XboxOnePackageUpdateGranularity: 2 + XboxOneDescription: + XboxOneLanguage: + - enus + XboxOneCapability: [] + XboxOneGameRating: {} + XboxOneIsContentPackage: 0 + XboxOneEnhancedXboxCompatibilityMode: 0 + XboxOneEnableGPUVariability: 1 + XboxOneSockets: {} + XboxOneSplashScreen: {fileID: 0} + XboxOneAllowedProductIds: [] + XboxOnePersistentLocalStorageSize: 0 + XboxOneXTitleMemory: 8 + XboxOneOverrideIdentityName: + XboxOneOverrideIdentityPublisher: + vrEditorSettings: {} + cloudServicesEnabled: + UNet: 1 + luminIcon: + m_Name: + m_ModelFolderPath: + m_PortalFolderPath: + luminCert: + m_CertPath: + m_SignPackage: 1 + luminIsChannelApp: 0 + luminVersion: + m_VersionCode: 1 + m_VersionName: + hmiPlayerDataPath: + hmiForceSRGBBlit: 1 + embeddedLinuxEnableGamepadInput: 1 + hmiLogStartupTiming: 0 + hmiCpuConfiguration: + apiCompatibilityLevel: 6 + activeInputHandler: 0 + windowsGamepadBackendHint: 0 + cloudProjectId: + framebufferDepthMemorylessMode: 0 + qualitySettingsNames: [] + projectName: + organizationId: + cloudEnabled: 0 + legacyClampBlendShapeWeights: 0 + hmiLoadingImage: {fileID: 0} + platformRequiresReadableAssets: 0 + virtualTexturingSupportEnabled: 0 + insecureHttpOption: 0 diff --git a/src/ZLogger.Unity/ProjectSettings/ProjectVersion.txt b/src/ZLogger.Unity/ProjectSettings/ProjectVersion.txt new file mode 100644 index 00000000..759a7715 --- /dev/null +++ b/src/ZLogger.Unity/ProjectSettings/ProjectVersion.txt @@ -0,0 +1,2 @@ +m_EditorVersion: 2022.2.21f1 +m_EditorVersionWithRevision: 2022.2.21f1 (4907324dc95b) diff --git a/src/ZLogger.Unity/ProjectSettings/QualitySettings.asset b/src/ZLogger.Unity/ProjectSettings/QualitySettings.asset new file mode 100644 index 00000000..7b7658d6 --- /dev/null +++ b/src/ZLogger.Unity/ProjectSettings/QualitySettings.asset @@ -0,0 +1,232 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!47 &1 +QualitySettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_CurrentQuality: 5 + m_QualitySettings: + - serializedVersion: 2 + name: Very Low + pixelLightCount: 0 + shadows: 0 + shadowResolution: 0 + shadowProjection: 1 + shadowCascades: 1 + shadowDistance: 15 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 0 + blendWeights: 1 + textureQuality: 1 + anisotropicTextures: 0 + antiAliasing: 0 + softParticles: 0 + softVegetation: 0 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 0 + vSyncCount: 0 + lodBias: 0.3 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 4 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Low + pixelLightCount: 0 + shadows: 0 + shadowResolution: 0 + shadowProjection: 1 + shadowCascades: 1 + shadowDistance: 20 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 0 + blendWeights: 2 + textureQuality: 0 + anisotropicTextures: 0 + antiAliasing: 0 + softParticles: 0 + softVegetation: 0 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 0 + vSyncCount: 0 + lodBias: 0.4 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 16 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Medium + pixelLightCount: 1 + shadows: 1 + shadowResolution: 0 + shadowProjection: 1 + shadowCascades: 1 + shadowDistance: 20 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 0 + blendWeights: 2 + textureQuality: 0 + anisotropicTextures: 1 + antiAliasing: 0 + softParticles: 0 + softVegetation: 0 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 0 + vSyncCount: 1 + lodBias: 0.7 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 64 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: High + pixelLightCount: 2 + shadows: 2 + shadowResolution: 1 + shadowProjection: 1 + shadowCascades: 2 + shadowDistance: 40 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 1 + blendWeights: 2 + textureQuality: 0 + anisotropicTextures: 1 + antiAliasing: 0 + softParticles: 0 + softVegetation: 1 + realtimeReflectionProbes: 1 + billboardsFaceCameraPosition: 1 + vSyncCount: 1 + lodBias: 1 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 256 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Very High + pixelLightCount: 3 + shadows: 2 + shadowResolution: 2 + shadowProjection: 1 + shadowCascades: 2 + shadowDistance: 70 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 1 + blendWeights: 4 + textureQuality: 0 + anisotropicTextures: 2 + antiAliasing: 2 + softParticles: 1 + softVegetation: 1 + realtimeReflectionProbes: 1 + billboardsFaceCameraPosition: 1 + vSyncCount: 1 + lodBias: 1.5 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 1024 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Ultra + pixelLightCount: 4 + shadows: 2 + shadowResolution: 2 + shadowProjection: 1 + shadowCascades: 4 + shadowDistance: 150 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 1 + blendWeights: 4 + textureQuality: 0 + anisotropicTextures: 2 + antiAliasing: 2 + softParticles: 1 + softVegetation: 1 + realtimeReflectionProbes: 1 + billboardsFaceCameraPosition: 1 + vSyncCount: 1 + lodBias: 2 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 4096 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + m_PerPlatformDefaultQuality: + Android: 2 + Lumin: 5 + Nintendo 3DS: 5 + Nintendo Switch: 5 + PS4: 5 + PSP2: 2 + Stadia: 5 + Standalone: 5 + WebGL: 3 + Windows Store Apps: 5 + XboxOne: 5 + iPhone: 2 + tvOS: 2 diff --git a/src/ZLogger.Unity/ProjectSettings/SceneTemplateSettings.json b/src/ZLogger.Unity/ProjectSettings/SceneTemplateSettings.json new file mode 100644 index 00000000..6f3e60fd --- /dev/null +++ b/src/ZLogger.Unity/ProjectSettings/SceneTemplateSettings.json @@ -0,0 +1,167 @@ +{ + "templatePinStates": [], + "dependencyTypeInfos": [ + { + "userAdded": false, + "type": "UnityEngine.AnimationClip", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.Animations.AnimatorController", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.AnimatorOverrideController", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.Audio.AudioMixerController", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.ComputeShader", + "ignore": true, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Cubemap", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.GameObject", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.LightingDataAsset", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": false + }, + { + "userAdded": false, + "type": "UnityEngine.LightingSettings", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Material", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.MonoScript", + "ignore": true, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.PhysicMaterial", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.PhysicsMaterial2D", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.PostProcessing.PostProcessProfile", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.PostProcessing.PostProcessResources", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.VolumeProfile", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.SceneAsset", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": false + }, + { + "userAdded": false, + "type": "UnityEngine.Shader", + "ignore": true, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.ShaderVariantCollection", + "ignore": true, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Texture", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Texture2D", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Timeline.TimelineAsset", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + } + ], + "defaultDependencyTypeInfo": { + "userAdded": false, + "type": "", + "ignore": false, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + "newSceneOverride": 0 +} \ No newline at end of file diff --git a/src/ZLogger.Unity/ProjectSettings/TagManager.asset b/src/ZLogger.Unity/ProjectSettings/TagManager.asset new file mode 100644 index 00000000..1c92a784 --- /dev/null +++ b/src/ZLogger.Unity/ProjectSettings/TagManager.asset @@ -0,0 +1,43 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!78 &1 +TagManager: + serializedVersion: 2 + tags: [] + layers: + - Default + - TransparentFX + - Ignore Raycast + - + - Water + - UI + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + m_SortingLayers: + - name: Default + uniqueID: 0 + locked: 0 diff --git a/src/ZLogger.Unity/ProjectSettings/TimeManager.asset b/src/ZLogger.Unity/ProjectSettings/TimeManager.asset new file mode 100644 index 00000000..558a017e --- /dev/null +++ b/src/ZLogger.Unity/ProjectSettings/TimeManager.asset @@ -0,0 +1,9 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!5 &1 +TimeManager: + m_ObjectHideFlags: 0 + Fixed Timestep: 0.02 + Maximum Allowed Timestep: 0.33333334 + m_TimeScale: 1 + Maximum Particle Timestep: 0.03 diff --git a/src/ZLogger.Unity/ProjectSettings/TimelineSettings.asset b/src/ZLogger.Unity/ProjectSettings/TimelineSettings.asset new file mode 100644 index 00000000..b21943ab --- /dev/null +++ b/src/ZLogger.Unity/ProjectSettings/TimelineSettings.asset @@ -0,0 +1,16 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 53 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a287be6c49135cd4f9b2b8666c39d999, type: 3} + m_Name: + m_EditorClassIdentifier: + assetDefaultFramerate: 60 + m_DefaultFrameRate: 60 diff --git a/src/ZLogger.Unity/ProjectSettings/UnityConnectSettings.asset b/src/ZLogger.Unity/ProjectSettings/UnityConnectSettings.asset new file mode 100644 index 00000000..a88bee0f --- /dev/null +++ b/src/ZLogger.Unity/ProjectSettings/UnityConnectSettings.asset @@ -0,0 +1,36 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!310 &1 +UnityConnectSettings: + m_ObjectHideFlags: 0 + serializedVersion: 1 + m_Enabled: 0 + m_TestMode: 0 + m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events + m_EventUrl: https://cdp.cloud.unity3d.com/v1/events + m_ConfigUrl: https://config.uca.cloud.unity3d.com + m_DashboardUrl: https://dashboard.unity3d.com + m_TestInitMode: 0 + CrashReportingSettings: + m_EventUrl: https://perf-events.cloud.unity3d.com + m_Enabled: 0 + m_LogBufferSize: 10 + m_CaptureEditorExceptions: 1 + UnityPurchasingSettings: + m_Enabled: 0 + m_TestMode: 0 + UnityAnalyticsSettings: + m_Enabled: 0 + m_TestMode: 0 + m_InitializeOnStartup: 1 + m_PackageRequiringCoreStatsPresent: 0 + UnityAdsSettings: + m_Enabled: 0 + m_InitializeOnStartup: 1 + m_TestMode: 0 + m_IosGameId: + m_AndroidGameId: + m_GameIds: {} + m_GameId: + PerformanceReportingSettings: + m_Enabled: 0 diff --git a/src/ZLogger.Unity/ProjectSettings/VFXManager.asset b/src/ZLogger.Unity/ProjectSettings/VFXManager.asset new file mode 100644 index 00000000..3a95c98b --- /dev/null +++ b/src/ZLogger.Unity/ProjectSettings/VFXManager.asset @@ -0,0 +1,12 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!937362698 &1 +VFXManager: + m_ObjectHideFlags: 0 + m_IndirectShader: {fileID: 0} + m_CopyBufferShader: {fileID: 0} + m_SortShader: {fileID: 0} + m_StripUpdateShader: {fileID: 0} + m_RenderPipeSettingsPath: + m_FixedTimeStep: 0.016666668 + m_MaxDeltaTime: 0.05 diff --git a/src/ZLogger.Unity/ProjectSettings/VersionControlSettings.asset b/src/ZLogger.Unity/ProjectSettings/VersionControlSettings.asset new file mode 100644 index 00000000..dca28814 --- /dev/null +++ b/src/ZLogger.Unity/ProjectSettings/VersionControlSettings.asset @@ -0,0 +1,8 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!890905787 &1 +VersionControlSettings: + m_ObjectHideFlags: 0 + m_Mode: Visible Meta Files + m_CollabEditorSettings: + inProgressEnabled: 1 diff --git a/src/ZLogger.Unity/ProjectSettings/XRSettings.asset b/src/ZLogger.Unity/ProjectSettings/XRSettings.asset new file mode 100644 index 00000000..482590c1 --- /dev/null +++ b/src/ZLogger.Unity/ProjectSettings/XRSettings.asset @@ -0,0 +1,10 @@ +{ + "m_SettingKeys": [ + "VR Device Disabled", + "VR Device User Alert" + ], + "m_SettingValues": [ + "False", + "False" + ] +} \ No newline at end of file diff --git a/src/ZLogger.Unity/UserSettings/EditorUserSettings.asset b/src/ZLogger.Unity/UserSettings/EditorUserSettings.asset new file mode 100644 index 00000000..7b022439 --- /dev/null +++ b/src/ZLogger.Unity/UserSettings/EditorUserSettings.asset @@ -0,0 +1,28 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!162 &1 +EditorUserSettings: + m_ObjectHideFlags: 0 + serializedVersion: 4 + m_ConfigSettings: + RecentlyUsedSceneGuid-0: + value: 5a5757560101590a5d0c0e24427b5d44434e4c7a7b7a23677f2b4565b7b5353a + flags: 0 + vcSharedLogLevel: + value: 0d5e400f0650 + flags: 0 + m_VCAutomaticAdd: 1 + m_VCDebugCom: 0 + m_VCDebugCmd: 0 + m_VCDebugOut: 0 + m_SemanticMergeMode: 2 + m_DesiredImportWorkerCount: 3 + m_StandbyImportWorkerCount: 2 + m_IdleImportWorkerShutdownDelay: 60000 + m_VCShowFailedCheckout: 1 + m_VCOverwriteFailedCheckoutAssets: 1 + m_VCProjectOverlayIcons: 1 + m_VCHierarchyOverlayIcons: 1 + m_VCOtherOverlayIcons: 1 + m_VCAllowAsyncUpdate: 1 + m_ArtifactGarbageCollection: 1 diff --git a/src/ZLogger.Unity/UserSettings/Layouts/default-2022.dwlt b/src/ZLogger.Unity/UserSettings/Layouts/default-2022.dwlt new file mode 100644 index 00000000..a4910670 --- /dev/null +++ b/src/ZLogger.Unity/UserSettings/Layouts/default-2022.dwlt @@ -0,0 +1,4228 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 12004, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_PixelRect: + serializedVersion: 2 + x: -1436 + y: 328 + width: 1206 + height: 820 + m_ShowMode: 0 + m_Title: Project Settings + m_RootView: {fileID: 7} + m_MinSize: {x: 310, y: 221} + m_MaxSize: {x: 4000, y: 4021} + m_Maximized: 0 +--- !u!114 &2 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 12004, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_PixelRect: + serializedVersion: 2 + x: -1892 + y: 466 + width: 1208 + height: 870 + m_ShowMode: 0 + m_Title: Preferences + m_RootView: {fileID: 9} + m_MinSize: {x: 310, y: 221} + m_MaxSize: {x: 4000, y: 4021} + m_Maximized: 0 +--- !u!114 &3 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 12004, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_PixelRect: + serializedVersion: 2 + x: -1528 + y: 553 + width: 1164 + height: 815 + m_ShowMode: 0 + m_Title: NuGet For Unity + m_RootView: {fileID: 11} + m_MinSize: {x: 100, y: 121} + m_MaxSize: {x: 4000, y: 4021} + m_Maximized: 0 +--- !u!114 &4 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 12004, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_PixelRect: + serializedVersion: 2 + x: -1806 + y: 464 + width: 1356 + height: 849 + m_ShowMode: 0 + m_Title: Package Manager + m_RootView: {fileID: 13} + m_MinSize: {x: 800, y: 271} + m_MaxSize: {x: 4000, y: 4021} + m_Maximized: 0 +--- !u!114 &5 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 12004, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_PixelRect: + serializedVersion: 2 + x: -2552 + y: 270 + width: 2440 + height: 1387 + m_ShowMode: 4 + m_Title: Console + m_RootView: {fileID: 14} + m_MinSize: {x: 875, y: 300} + m_MaxSize: {x: 10000, y: 10000} + m_Maximized: 0 +--- !u!114 &6 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: ProjectSettingsWindow + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 1206 + height: 820 + m_MinSize: {x: 310, y: 221} + m_MaxSize: {x: 4000, y: 4021} + m_ActualView: {fileID: 25} + m_Panes: + - {fileID: 25} + m_Selected: 0 + m_LastSelected: 0 +--- !u!114 &7 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 6} + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 1206 + height: 820 + m_MinSize: {x: 310, y: 221} + m_MaxSize: {x: 4000, y: 4021} + vertical: 0 + controlID: 3930 +--- !u!114 &8 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: PreferenceSettingsWindow + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 1208 + height: 870 + m_MinSize: {x: 310, y: 221} + m_MaxSize: {x: 4000, y: 4021} + m_ActualView: {fileID: 26} + m_Panes: + - {fileID: 26} + m_Selected: 0 + m_LastSelected: 0 +--- !u!114 &9 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 8} + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 1208 + height: 870 + m_MinSize: {x: 310, y: 221} + m_MaxSize: {x: 4000, y: 4021} + vertical: 0 + controlID: 1997 +--- !u!114 &10 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: NugetWindow + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 1164 + height: 815 + m_MinSize: {x: 100, y: 121} + m_MaxSize: {x: 4000, y: 4021} + m_ActualView: {fileID: 27} + m_Panes: + - {fileID: 27} + m_Selected: 0 + m_LastSelected: 0 +--- !u!114 &11 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 10} + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 1164 + height: 815 + m_MinSize: {x: 100, y: 121} + m_MaxSize: {x: 4000, y: 4021} + vertical: 0 + controlID: 1896 +--- !u!114 &12 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: PackageManagerWindow + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 1356 + height: 849 + m_MinSize: {x: 800, y: 250} + m_MaxSize: {x: 4000, y: 4000} + m_ActualView: {fileID: 28} + m_Panes: + - {fileID: 28} + m_Selected: 0 + m_LastSelected: 0 +--- !u!114 &13 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 12} + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 1356 + height: 849 + m_MinSize: {x: 800, y: 271} + m_MaxSize: {x: 4000, y: 4021} + vertical: 0 + controlID: 977 +--- !u!114 &14 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12008, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 15} + - {fileID: 17} + - {fileID: 16} + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 2440 + height: 1387 + m_MinSize: {x: 875, y: 300} + m_MaxSize: {x: 10000, y: 10000} + m_UseTopView: 1 + m_TopViewHeight: 30 + m_UseBottomView: 1 + m_BottomViewHeight: 20 +--- !u!114 &15 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12011, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 2440 + height: 30 + m_MinSize: {x: 0, y: 0} + m_MaxSize: {x: 0, y: 0} + m_LastLoadedLayoutName: +--- !u!114 &16 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12042, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 1367 + width: 2440 + height: 20 + m_MinSize: {x: 0, y: 0} + m_MaxSize: {x: 0, y: 0} +--- !u!114 &17 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 18} + - {fileID: 24} + m_Position: + serializedVersion: 2 + x: 0 + y: 30 + width: 2440 + height: 1337 + m_MinSize: {x: 400, y: 100} + m_MaxSize: {x: 32384, y: 16192} + vertical: 0 + controlID: 66 +--- !u!114 &18 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 19} + - {fileID: 23} + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 1869 + height: 1337 + m_MinSize: {x: 300, y: 100} + m_MaxSize: {x: 24288, y: 16192} + vertical: 1 + controlID: 67 +--- !u!114 &19 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 20} + - {fileID: 21} + - {fileID: 22} + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 1869 + height: 517 + m_MinSize: {x: 300, y: 50} + m_MaxSize: {x: 24288, y: 8096} + vertical: 0 + controlID: 68 +--- !u!114 &20 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: GameView + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 716 + height: 517 + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} + m_ActualView: {fileID: 31} + m_Panes: + - {fileID: 31} + m_Selected: 0 + m_LastSelected: 0 +--- !u!114 &21 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: SceneView + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 716 + y: 0 + width: 679 + height: 517 + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} + m_ActualView: {fileID: 32} + m_Panes: + - {fileID: 32} + m_Selected: 0 + m_LastSelected: 0 +--- !u!114 &22 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: SceneHierarchyWindow + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 1395 + y: 0 + width: 474 + height: 517 + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} + m_ActualView: {fileID: 33} + m_Panes: + - {fileID: 33} + m_Selected: 0 + m_LastSelected: 0 +--- !u!114 &23 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: ConsoleWindow + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 517 + width: 1869 + height: 820 + m_MinSize: {x: 100, y: 100} + m_MaxSize: {x: 4000, y: 4000} + m_ActualView: {fileID: 30} + m_Panes: + - {fileID: 34} + - {fileID: 30} + - {fileID: 29} + m_Selected: 1 + m_LastSelected: 0 +--- !u!114 &24 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 1869 + y: 0 + width: 571 + height: 1337 + m_MinSize: {x: 275, y: 50} + m_MaxSize: {x: 4000, y: 4000} + m_ActualView: {fileID: 35} + m_Panes: + - {fileID: 35} + m_Selected: 0 + m_LastSelected: 0 +--- !u!114 &25 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 13854, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 310, y: 200} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Project Settings + m_Image: {fileID: -5712115415447495865, guid: 0000000000000000d000000000000000, type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: -1436 + y: 328 + width: 1206 + height: 799 + m_SerializedDataModeController: + m_DataMode: 0 + m_PreferredDataMode: 0 + m_SupportedDataModes: + isAutomatic: 1 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_OverlaysVisible: 1 + m_PosLeft: {x: 0, y: 0} + m_PosRight: {x: 0, y: 0} + m_Scope: 1 + m_SplitterFlex: 0.2 + m_SearchText: + m_TreeViewState: + scrollPos: {x: 0, y: 0} + m_SelectedIDs: ce5df219 + m_LastClickedID: 435314126 + m_ExpandedIDs: a73eced700000000 + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 0 + m_ClientGUIView: {fileID: 0} + m_SearchString: +--- !u!114 &26 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 13855, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 310, y: 200} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Preferences + m_Image: {fileID: -5712115415447495865, guid: 0000000000000000d000000000000000, type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: -1892 + y: 466 + width: 1208 + height: 849 + m_SerializedDataModeController: + m_DataMode: 0 + m_PreferredDataMode: 0 + m_SupportedDataModes: + isAutomatic: 1 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_OverlaysVisible: 1 + m_PosLeft: {x: 0, y: 0} + m_PosRight: {x: 0, y: 0} + m_Scope: 0 + m_SplitterFlex: 0.2 + m_SearchText: + m_TreeViewState: + scrollPos: {x: 0, y: 0} + m_SelectedIDs: 36d7af56 + m_LastClickedID: 1454364470 + m_ExpandedIDs: 2956c29689577ec10000000001fecd11 + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 0 + m_ClientGUIView: {fileID: 0} + m_SearchString: +--- !u!114 &27 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1f5cd2e0ccf7a56478ad918ff9829c5c, type: 3} + m_Name: NuGetForUnity + m_EditorClassIdentifier: + m_MinSize: {x: 100, y: 100} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: NuGet For Unity + m_Image: {fileID: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: -1528 + y: 553 + width: 1164 + height: 794 + m_SerializedDataModeController: + m_DataMode: 0 + m_PreferredDataMode: 0 + m_SupportedDataModes: + isAutomatic: 1 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_OverlaysVisible: 1 + defaultIcon: {fileID: 2800000, guid: 0efa0a38ec1ce484896502259d7ee8f7, type: 3} + hasRefreshed: 1 + numberToSkip: 0 + serializableAvailablePackages: + - packageLocal: + k__BackingField: + k__BackingField: + k__BackingField: + k__BackingField: 0 + icon: {fileID: 0} + k__BackingField: + k__BackingField: + k__BackingField: + k__BackingField: [] + k__BackingField: [] + k__BackingField: + k__BackingField: 0 + k__BackingField: + k__BackingField: + k__BackingField: + k__BackingField: + k__BackingField: 0 + k__BackingField: + k__BackingField: + k__BackingField: + packageSource: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageType: 2 + packageV2: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSourceV2: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <SavedProtocolVersion>k__BackingField: + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageV3: + <Id>k__BackingField: ZLogger + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: 2.0.0 + <IsManuallyInstalled>k__BackingField: 0 + dependencies: [] + dependenciesFetched: 0 + icon: {fileID: 0} + iconUrl: https://api.nuget.org/v3-flatcontainer/zlogger/2.0.0/icon + packageSource: + <Name>k__BackingField: nuget.org + <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json + <SavedProtocolVersion>k__BackingField: + <UpdateSearchBatchSize>k__BackingField: 20 + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 1 + <Versions>k__BackingField: + - <FullVersion>k__BackingField: 2.0.0 + - <FullVersion>k__BackingField: 1.7.1 + - <FullVersion>k__BackingField: 1.7.0 + - <FullVersion>k__BackingField: 1.6.2 + - <FullVersion>k__BackingField: 1.6.1 + - <FullVersion>k__BackingField: 1.6.0 + - <FullVersion>k__BackingField: 1.5.1 + - <FullVersion>k__BackingField: 1.5.0 + - <FullVersion>k__BackingField: 1.4.1 + - <FullVersion>k__BackingField: 1.4.0 + - <FullVersion>k__BackingField: 1.3.0 + - <FullVersion>k__BackingField: 1.2.1 + - <FullVersion>k__BackingField: 1.2.0 + - <FullVersion>k__BackingField: 1.1.11 + - <FullVersion>k__BackingField: 1.1.10 + - <FullVersion>k__BackingField: 1.1.9 + - <FullVersion>k__BackingField: 1.1.8 + - <FullVersion>k__BackingField: 1.1.7 + - <FullVersion>k__BackingField: 1.1.6 + - <FullVersion>k__BackingField: 1.1.5 + - <FullVersion>k__BackingField: 1.1.4 + - <FullVersion>k__BackingField: 1.1.3 + - <FullVersion>k__BackingField: 1.1.2 + - <FullVersion>k__BackingField: 1.1.1 + - <FullVersion>k__BackingField: 1.1.0 + - <FullVersion>k__BackingField: 1.0.0 + - <FullVersion>k__BackingField: 0.4.1 + - <FullVersion>k__BackingField: 0.3.0 + - <FullVersion>k__BackingField: 0.2.1 + - <FullVersion>k__BackingField: 0.2.0 + - <FullVersion>k__BackingField: 0.1.3 + - <FullVersion>k__BackingField: 0.1.2 + <Authors>k__BackingField: + - Cysharp + <Description>k__BackingField: Zero Allocation Text/Strcutured Logger for .NET + Core, built on top of a Microsoft.Extensions.Logging. + <TotalDownloads>k__BackingField: 923996 + <LicenseUrl>k__BackingField: https://www.nuget.org/packages/ZLogger/2.0.0/license + <ProjectUrl>k__BackingField: https://github.com/Cysharp/ZLogger + <Summary>k__BackingField: + <Title>k__BackingField: ZLogger + <DownloadUrl>k__BackingField: + - packageLocal: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSource: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageType: 2 + packageV2: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSourceV2: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <SavedProtocolVersion>k__BackingField: + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageV3: + <Id>k__BackingField: ZLogger.MessagePack + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: 2.0.0 + <IsManuallyInstalled>k__BackingField: 0 + dependencies: [] + dependenciesFetched: 0 + icon: {fileID: 0} + iconUrl: https://api.nuget.org/v3-flatcontainer/zlogger.messagepack/2.0.0/icon + packageSource: + <Name>k__BackingField: nuget.org + <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json + <SavedProtocolVersion>k__BackingField: + <UpdateSearchBatchSize>k__BackingField: 20 + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 1 + <Versions>k__BackingField: + - <FullVersion>k__BackingField: 2.0.0 + <Authors>k__BackingField: + - Cysharp + <Description>k__BackingField: ZLogger plugin to format log results as messagepack. + <TotalDownloads>k__BackingField: 68 + <LicenseUrl>k__BackingField: https://www.nuget.org/packages/ZLogger.MessagePack/2.0.0/license + <ProjectUrl>k__BackingField: https://github.com/Cysharp/ZLogger + <Summary>k__BackingField: + <Title>k__BackingField: ZLogger.MessagePack + <DownloadUrl>k__BackingField: + - packageLocal: + <Id>k__BackingField: ZLogger + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: 2.0.1 + <IsManuallyInstalled>k__BackingField: 1 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: /Users/s24061/packages/ZLogger.2.0.1.nupkg + <IconUrl>k__BackingField: file:////Users/s24061/packages/Icon.png + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: + - <TargetFramework>k__BackingField: net6.0 + - <TargetFramework>k__BackingField: net8.0 + - <TargetFramework>k__BackingField: netstandard2.0 + - <TargetFramework>k__BackingField: netstandard2.1 + <Authors>k__BackingField: + - Cysharp + <Description>k__BackingField: Zero Allocation Text/Strcutured Logger for .NET + Core, built on top of a Microsoft.Extensions.Logging. + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: https://licenses.nuget.org/MIT + <ProjectUrl>k__BackingField: https://github.com/Cysharp/ZLogger + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: 6bf4ba639ac1e32fd6dd86c39bcc156b83ac0c42 + <RepositoryType>k__BackingField: 1 + <RepositoryUrl>k__BackingField: https://github.com/Cysharp/ZLogger + <Summary>k__BackingField: + <Title>k__BackingField: ZLogger + packageSource: + <Name>k__BackingField: Local + <SavedPath>k__BackingField: /Users/s24061/packages + <IsEnabled>k__BackingField: 1 + versions: + - <FullVersion>k__BackingField: 2.0.1 + packageType: 0 + packageV2: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSourceV2: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <SavedProtocolVersion>k__BackingField: + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageV3: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + dependencies: [] + dependenciesFetched: 0 + icon: {fileID: 0} + iconUrl: + packageSource: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <SavedProtocolVersion>k__BackingField: + <UpdateSearchBatchSize>k__BackingField: 0 + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 0 + <Versions>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + <DownloadUrl>k__BackingField: + - packageLocal: + <Id>k__BackingField: ZLogger.MessagePack + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: 2.0.1 + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: /Users/s24061/packages/ZLogger.MessagePack.2.0.1.nupkg + <IconUrl>k__BackingField: file:////Users/s24061/packages/Icon.png + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: + - <TargetFramework>k__BackingField: net6.0 + - <TargetFramework>k__BackingField: net8.0 + - <TargetFramework>k__BackingField: netstandard2.1 + <Authors>k__BackingField: + - Cysharp + <Description>k__BackingField: ZLogger plugin to format log results as messagepack. + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: https://licenses.nuget.org/MIT + <ProjectUrl>k__BackingField: https://github.com/Cysharp/ZLogger + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: 6bf4ba639ac1e32fd6dd86c39bcc156b83ac0c42 + <RepositoryType>k__BackingField: 1 + <RepositoryUrl>k__BackingField: https://github.com/Cysharp/ZLogger + <Summary>k__BackingField: + <Title>k__BackingField: ZLogger.MessagePack + packageSource: + <Name>k__BackingField: Local + <SavedPath>k__BackingField: /Users/s24061/packages + <IsEnabled>k__BackingField: 1 + versions: + - <FullVersion>k__BackingField: 2.0.1 + - <FullVersion>k__BackingField: 1.0.0 + packageType: 0 + packageV2: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSourceV2: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <SavedProtocolVersion>k__BackingField: + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageV3: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + dependencies: [] + dependenciesFetched: 0 + icon: {fileID: 0} + iconUrl: + packageSource: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <SavedProtocolVersion>k__BackingField: + <UpdateSearchBatchSize>k__BackingField: 0 + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 0 + <Versions>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + <DownloadUrl>k__BackingField: + serializableUpdatePackages: + - packageLocal: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSource: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageType: 2 + packageV2: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSourceV2: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <SavedProtocolVersion>k__BackingField: + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageV3: + <Id>k__BackingField: Microsoft.Bcl.AsyncInterfaces + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: 8.0.0 + <IsManuallyInstalled>k__BackingField: 0 + dependencies: [] + dependenciesFetched: 0 + icon: {fileID: 0} + iconUrl: https://api.nuget.org/v3-flatcontainer/microsoft.bcl.asyncinterfaces/8.0.0/icon + packageSource: + <Name>k__BackingField: nuget.org + <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json + <SavedProtocolVersion>k__BackingField: + <UpdateSearchBatchSize>k__BackingField: 20 + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 1 + <Versions>k__BackingField: + - <FullVersion>k__BackingField: 8.0.0 + - <FullVersion>k__BackingField: 7.0.0 + - <FullVersion>k__BackingField: 6.0.0 + - <FullVersion>k__BackingField: 5.0.0 + - <FullVersion>k__BackingField: 1.1.1 + - <FullVersion>k__BackingField: 1.1.0 + - <FullVersion>k__BackingField: 1.0.0 + <Authors>k__BackingField: + - Microsoft + <Description>k__BackingField: 'Provides the IAsyncEnumerable<T> and IAsyncDisposable + interfaces and helper types for .NET Standard 2.0. This package is not required + starting with .NET Standard 2.1 and .NET Core 3.0. + + + Commonly Used + Types: + + System.IAsyncDisposable + + System.Collections.Generic.IAsyncEnumerable + + System.Collections.Generic.IAsyncEnumerator' + <TotalDownloads>k__BackingField: 1286237322 + <LicenseUrl>k__BackingField: https://www.nuget.org/packages/Microsoft.Bcl.AsyncInterfaces/8.0.0/license + <ProjectUrl>k__BackingField: https://dot.net/ + <Summary>k__BackingField: + <Title>k__BackingField: Microsoft.Bcl.AsyncInterfaces + <DownloadUrl>k__BackingField: + - packageLocal: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSource: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageType: 2 + packageV2: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSourceV2: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <SavedProtocolVersion>k__BackingField: + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageV3: + <Id>k__BackingField: Microsoft.Bcl.TimeProvider + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: 8.0.0 + <IsManuallyInstalled>k__BackingField: 0 + dependencies: [] + dependenciesFetched: 0 + icon: {fileID: 0} + iconUrl: https://api.nuget.org/v3-flatcontainer/microsoft.bcl.timeprovider/8.0.0/icon + packageSource: + <Name>k__BackingField: nuget.org + <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json + <SavedProtocolVersion>k__BackingField: + <UpdateSearchBatchSize>k__BackingField: 20 + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 1 + <Versions>k__BackingField: + - <FullVersion>k__BackingField: 8.0.0 + <Authors>k__BackingField: + - Microsoft + <Description>k__BackingField: 'Provides support for system time abstraction + primitives for .NET Framework and .NET Standard. + + + Commonly Used + Types: + + System.TimeProvider + + System.ITimer' + <TotalDownloads>k__BackingField: 861354 + <LicenseUrl>k__BackingField: https://www.nuget.org/packages/Microsoft.Bcl.TimeProvider/8.0.0/license + <ProjectUrl>k__BackingField: https://dot.net/ + <Summary>k__BackingField: + <Title>k__BackingField: Microsoft.Bcl.TimeProvider + <DownloadUrl>k__BackingField: + - packageLocal: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSource: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageType: 2 + packageV2: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSourceV2: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <SavedProtocolVersion>k__BackingField: + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageV3: + <Id>k__BackingField: Microsoft.Extensions.DependencyInjection + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: 8.0.0 + <IsManuallyInstalled>k__BackingField: 0 + dependencies: [] + dependenciesFetched: 0 + icon: {fileID: 0} + iconUrl: https://api.nuget.org/v3-flatcontainer/microsoft.extensions.dependencyinjection/8.0.0/icon + packageSource: + <Name>k__BackingField: nuget.org + <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json + <SavedProtocolVersion>k__BackingField: + <UpdateSearchBatchSize>k__BackingField: 20 + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 1 + <Versions>k__BackingField: + - <FullVersion>k__BackingField: 8.0.0 + - <FullVersion>k__BackingField: 7.0.0 + - <FullVersion>k__BackingField: 6.0.1 + - <FullVersion>k__BackingField: 6.0.0 + - <FullVersion>k__BackingField: 5.0.2 + - <FullVersion>k__BackingField: 5.0.1 + - <FullVersion>k__BackingField: 5.0.0 + - <FullVersion>k__BackingField: 3.1.32 + - <FullVersion>k__BackingField: 3.1.31 + - <FullVersion>k__BackingField: 3.1.30 + - <FullVersion>k__BackingField: 3.1.29 + - <FullVersion>k__BackingField: 3.1.28 + - <FullVersion>k__BackingField: 3.1.27 + - <FullVersion>k__BackingField: 3.1.26 + - <FullVersion>k__BackingField: 3.1.25 + - <FullVersion>k__BackingField: 3.1.24 + - <FullVersion>k__BackingField: 3.1.23 + - <FullVersion>k__BackingField: 3.1.22 + - <FullVersion>k__BackingField: 3.1.21 + - <FullVersion>k__BackingField: 3.1.20 + - <FullVersion>k__BackingField: 3.1.19 + - <FullVersion>k__BackingField: 3.1.18 + - <FullVersion>k__BackingField: 3.1.17 + - <FullVersion>k__BackingField: 3.1.16 + - <FullVersion>k__BackingField: 3.1.15 + - <FullVersion>k__BackingField: 3.1.14 + - <FullVersion>k__BackingField: 3.1.13 + - <FullVersion>k__BackingField: 3.1.12 + - <FullVersion>k__BackingField: 3.1.11 + - <FullVersion>k__BackingField: 3.1.10 + - <FullVersion>k__BackingField: 3.1.9 + - <FullVersion>k__BackingField: 3.1.8 + - <FullVersion>k__BackingField: 3.1.7 + - <FullVersion>k__BackingField: 3.1.6 + - <FullVersion>k__BackingField: 3.1.5 + - <FullVersion>k__BackingField: 3.1.4 + - <FullVersion>k__BackingField: 3.1.3 + - <FullVersion>k__BackingField: 3.1.2 + - <FullVersion>k__BackingField: 3.1.1 + - <FullVersion>k__BackingField: 3.1.0 + - <FullVersion>k__BackingField: 3.0.3 + - <FullVersion>k__BackingField: 3.0.2 + - <FullVersion>k__BackingField: 3.0.1 + - <FullVersion>k__BackingField: 3.0.0 + - <FullVersion>k__BackingField: 2.2.0 + - <FullVersion>k__BackingField: 2.1.1 + - <FullVersion>k__BackingField: 2.1.0 + - <FullVersion>k__BackingField: 2.0.0 + - <FullVersion>k__BackingField: 1.1.1 + - <FullVersion>k__BackingField: 1.1.0 + - <FullVersion>k__BackingField: 1.0.2 + - <FullVersion>k__BackingField: 1.0.1 + - <FullVersion>k__BackingField: 1.0.0 + <Authors>k__BackingField: + - Microsoft + <Description>k__BackingField: Default implementation of dependency injection + for Microsoft.Extensions.DependencyInjection. + <TotalDownloads>k__BackingField: 2830888183 + <LicenseUrl>k__BackingField: https://www.nuget.org/packages/Microsoft.Extensions.DependencyInjection/8.0.0/license + <ProjectUrl>k__BackingField: https://dot.net/ + <Summary>k__BackingField: + <Title>k__BackingField: Microsoft.Extensions.DependencyInjection + <DownloadUrl>k__BackingField: + - packageLocal: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSource: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageType: 2 + packageV2: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSourceV2: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <SavedProtocolVersion>k__BackingField: + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageV3: + <Id>k__BackingField: Microsoft.Extensions.DependencyInjection.Abstractions + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: 8.0.0 + <IsManuallyInstalled>k__BackingField: 0 + dependencies: [] + dependenciesFetched: 0 + icon: {fileID: 0} + iconUrl: https://api.nuget.org/v3-flatcontainer/microsoft.extensions.dependencyinjection.abstractions/8.0.0/icon + packageSource: + <Name>k__BackingField: nuget.org + <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json + <SavedProtocolVersion>k__BackingField: + <UpdateSearchBatchSize>k__BackingField: 20 + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 1 + <Versions>k__BackingField: + - <FullVersion>k__BackingField: 8.0.0 + - <FullVersion>k__BackingField: 7.0.0 + - <FullVersion>k__BackingField: 6.0.0 + - <FullVersion>k__BackingField: 5.0.0 + - <FullVersion>k__BackingField: 3.1.32 + - <FullVersion>k__BackingField: 3.1.31 + - <FullVersion>k__BackingField: 3.1.30 + - <FullVersion>k__BackingField: 3.1.29 + - <FullVersion>k__BackingField: 3.1.28 + - <FullVersion>k__BackingField: 3.1.27 + - <FullVersion>k__BackingField: 3.1.26 + - <FullVersion>k__BackingField: 3.1.25 + - <FullVersion>k__BackingField: 3.1.24 + - <FullVersion>k__BackingField: 3.1.23 + - <FullVersion>k__BackingField: 3.1.22 + - <FullVersion>k__BackingField: 3.1.21 + - <FullVersion>k__BackingField: 3.1.20 + - <FullVersion>k__BackingField: 3.1.19 + - <FullVersion>k__BackingField: 3.1.18 + - <FullVersion>k__BackingField: 3.1.17 + - <FullVersion>k__BackingField: 3.1.16 + - <FullVersion>k__BackingField: 3.1.15 + - <FullVersion>k__BackingField: 3.1.14 + - <FullVersion>k__BackingField: 3.1.13 + - <FullVersion>k__BackingField: 3.1.12 + - <FullVersion>k__BackingField: 3.1.11 + - <FullVersion>k__BackingField: 3.1.10 + - <FullVersion>k__BackingField: 3.1.9 + - <FullVersion>k__BackingField: 3.1.8 + - <FullVersion>k__BackingField: 3.1.7 + - <FullVersion>k__BackingField: 3.1.6 + - <FullVersion>k__BackingField: 3.1.5 + - <FullVersion>k__BackingField: 3.1.4 + - <FullVersion>k__BackingField: 3.1.3 + - <FullVersion>k__BackingField: 3.1.2 + - <FullVersion>k__BackingField: 3.1.1 + - <FullVersion>k__BackingField: 3.1.0 + - <FullVersion>k__BackingField: 3.0.3 + - <FullVersion>k__BackingField: 3.0.2 + - <FullVersion>k__BackingField: 3.0.1 + - <FullVersion>k__BackingField: 3.0.0 + - <FullVersion>k__BackingField: 2.2.0 + - <FullVersion>k__BackingField: 2.1.1 + - <FullVersion>k__BackingField: 2.1.0 + - <FullVersion>k__BackingField: 2.0.0 + - <FullVersion>k__BackingField: 1.1.1 + - <FullVersion>k__BackingField: 1.1.0 + - <FullVersion>k__BackingField: 1.0.2 + - <FullVersion>k__BackingField: 1.0.1 + - <FullVersion>k__BackingField: 1.0.0 + <Authors>k__BackingField: + - Microsoft + <Description>k__BackingField: 'Abstractions for dependency injection. + + + Commonly + Used Types: + + Microsoft.Extensions.DependencyInjection.IServiceCollection' + <TotalDownloads>k__BackingField: 4466954741 + <LicenseUrl>k__BackingField: https://www.nuget.org/packages/Microsoft.Extensions.DependencyInjection.Abstractions/8.0.0/license + <ProjectUrl>k__BackingField: https://dot.net/ + <Summary>k__BackingField: + <Title>k__BackingField: Microsoft.Extensions.DependencyInjection.Abstractions + <DownloadUrl>k__BackingField: + - packageLocal: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSource: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageType: 2 + packageV2: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSourceV2: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <SavedProtocolVersion>k__BackingField: + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageV3: + <Id>k__BackingField: Microsoft.Extensions.Logging + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: 8.0.0 + <IsManuallyInstalled>k__BackingField: 0 + dependencies: [] + dependenciesFetched: 0 + icon: {fileID: 0} + iconUrl: https://api.nuget.org/v3-flatcontainer/microsoft.extensions.logging/8.0.0/icon + packageSource: + <Name>k__BackingField: nuget.org + <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json + <SavedProtocolVersion>k__BackingField: + <UpdateSearchBatchSize>k__BackingField: 20 + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 1 + <Versions>k__BackingField: + - <FullVersion>k__BackingField: 8.0.0 + - <FullVersion>k__BackingField: 7.0.0 + - <FullVersion>k__BackingField: 6.0.0 + - <FullVersion>k__BackingField: 5.0.0 + - <FullVersion>k__BackingField: 3.1.32 + - <FullVersion>k__BackingField: 3.1.31 + - <FullVersion>k__BackingField: 3.1.30 + - <FullVersion>k__BackingField: 3.1.29 + - <FullVersion>k__BackingField: 3.1.28 + - <FullVersion>k__BackingField: 3.1.27 + - <FullVersion>k__BackingField: 3.1.26 + - <FullVersion>k__BackingField: 3.1.25 + - <FullVersion>k__BackingField: 3.1.24 + - <FullVersion>k__BackingField: 3.1.23 + - <FullVersion>k__BackingField: 3.1.22 + - <FullVersion>k__BackingField: 3.1.21 + - <FullVersion>k__BackingField: 3.1.20 + - <FullVersion>k__BackingField: 3.1.19 + - <FullVersion>k__BackingField: 3.1.18 + - <FullVersion>k__BackingField: 3.1.17 + - <FullVersion>k__BackingField: 3.1.16 + - <FullVersion>k__BackingField: 3.1.15 + - <FullVersion>k__BackingField: 3.1.14 + - <FullVersion>k__BackingField: 3.1.13 + - <FullVersion>k__BackingField: 3.1.12 + - <FullVersion>k__BackingField: 3.1.11 + - <FullVersion>k__BackingField: 3.1.10 + - <FullVersion>k__BackingField: 3.1.9 + - <FullVersion>k__BackingField: 3.1.8 + - <FullVersion>k__BackingField: 3.1.7 + - <FullVersion>k__BackingField: 3.1.6 + - <FullVersion>k__BackingField: 3.1.5 + - <FullVersion>k__BackingField: 3.1.4 + - <FullVersion>k__BackingField: 3.1.3 + - <FullVersion>k__BackingField: 3.1.2 + - <FullVersion>k__BackingField: 3.1.1 + - <FullVersion>k__BackingField: 3.1.0 + - <FullVersion>k__BackingField: 3.0.3 + - <FullVersion>k__BackingField: 3.0.2 + - <FullVersion>k__BackingField: 3.0.1 + - <FullVersion>k__BackingField: 3.0.0 + - <FullVersion>k__BackingField: 2.2.0 + - <FullVersion>k__BackingField: 2.1.1 + - <FullVersion>k__BackingField: 2.1.0 + - <FullVersion>k__BackingField: 2.0.2 + - <FullVersion>k__BackingField: 2.0.1 + - <FullVersion>k__BackingField: 2.0.0 + - <FullVersion>k__BackingField: 1.1.2 + - <FullVersion>k__BackingField: 1.1.1 + - <FullVersion>k__BackingField: 1.1.0 + - <FullVersion>k__BackingField: 1.0.2 + - <FullVersion>k__BackingField: 1.0.1 + - <FullVersion>k__BackingField: 1.0.0 + <Authors>k__BackingField: + - Microsoft + <Description>k__BackingField: Logging infrastructure default implementation + for Microsoft.Extensions.Logging. + <TotalDownloads>k__BackingField: 2644023373 + <LicenseUrl>k__BackingField: https://www.nuget.org/packages/Microsoft.Extensions.Logging/8.0.0/license + <ProjectUrl>k__BackingField: https://dot.net/ + <Summary>k__BackingField: + <Title>k__BackingField: Microsoft.Extensions.Logging + <DownloadUrl>k__BackingField: + - packageLocal: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSource: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageType: 2 + packageV2: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSourceV2: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <SavedProtocolVersion>k__BackingField: + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageV3: + <Id>k__BackingField: Microsoft.Extensions.Logging.Abstractions + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: 8.0.0 + <IsManuallyInstalled>k__BackingField: 0 + dependencies: [] + dependenciesFetched: 0 + icon: {fileID: 0} + iconUrl: https://api.nuget.org/v3-flatcontainer/microsoft.extensions.logging.abstractions/8.0.0/icon + packageSource: + <Name>k__BackingField: nuget.org + <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json + <SavedProtocolVersion>k__BackingField: + <UpdateSearchBatchSize>k__BackingField: 20 + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 1 + <Versions>k__BackingField: + - <FullVersion>k__BackingField: 8.0.0 + - <FullVersion>k__BackingField: 7.0.1 + - <FullVersion>k__BackingField: 7.0.0 + - <FullVersion>k__BackingField: 6.0.4 + - <FullVersion>k__BackingField: 6.0.3 + - <FullVersion>k__BackingField: 6.0.2 + - <FullVersion>k__BackingField: 6.0.1 + - <FullVersion>k__BackingField: 6.0.0 + - <FullVersion>k__BackingField: 5.0.0 + - <FullVersion>k__BackingField: 3.1.32 + - <FullVersion>k__BackingField: 3.1.31 + - <FullVersion>k__BackingField: 3.1.30 + - <FullVersion>k__BackingField: 3.1.29 + - <FullVersion>k__BackingField: 3.1.28 + - <FullVersion>k__BackingField: 3.1.27 + - <FullVersion>k__BackingField: 3.1.26 + - <FullVersion>k__BackingField: 3.1.25 + - <FullVersion>k__BackingField: 3.1.24 + - <FullVersion>k__BackingField: 3.1.23 + - <FullVersion>k__BackingField: 3.1.22 + - <FullVersion>k__BackingField: 3.1.21 + - <FullVersion>k__BackingField: 3.1.20 + - <FullVersion>k__BackingField: 3.1.19 + - <FullVersion>k__BackingField: 3.1.18 + - <FullVersion>k__BackingField: 3.1.17 + - <FullVersion>k__BackingField: 3.1.16 + - <FullVersion>k__BackingField: 3.1.15 + - <FullVersion>k__BackingField: 3.1.14 + - <FullVersion>k__BackingField: 3.1.13 + - <FullVersion>k__BackingField: 3.1.12 + - <FullVersion>k__BackingField: 3.1.11 + - <FullVersion>k__BackingField: 3.1.10 + - <FullVersion>k__BackingField: 3.1.9 + - <FullVersion>k__BackingField: 3.1.8 + - <FullVersion>k__BackingField: 3.1.7 + - <FullVersion>k__BackingField: 3.1.6 + - <FullVersion>k__BackingField: 3.1.5 + - <FullVersion>k__BackingField: 3.1.4 + - <FullVersion>k__BackingField: 3.1.3 + - <FullVersion>k__BackingField: 3.1.2 + - <FullVersion>k__BackingField: 3.1.1 + - <FullVersion>k__BackingField: 3.1.0 + - <FullVersion>k__BackingField: 3.0.3 + - <FullVersion>k__BackingField: 3.0.2 + - <FullVersion>k__BackingField: 3.0.1 + - <FullVersion>k__BackingField: 3.0.0 + - <FullVersion>k__BackingField: 2.2.0 + - <FullVersion>k__BackingField: 2.1.1 + - <FullVersion>k__BackingField: 2.1.0 + - <FullVersion>k__BackingField: 2.0.2 + - <FullVersion>k__BackingField: 2.0.1 + - <FullVersion>k__BackingField: 2.0.0 + - <FullVersion>k__BackingField: 1.1.2 + - <FullVersion>k__BackingField: 1.1.1 + - <FullVersion>k__BackingField: 1.1.0 + - <FullVersion>k__BackingField: 1.0.2 + - <FullVersion>k__BackingField: 1.0.1 + - <FullVersion>k__BackingField: 1.0.0 + <Authors>k__BackingField: + - Microsoft + <Description>k__BackingField: 'Logging abstractions for Microsoft.Extensions.Logging. + + + Commonly + Used Types: + + Microsoft.Extensions.Logging.ILogger + + Microsoft.Extensions.Logging.ILoggerFactory + + Microsoft.Extensions.Logging.ILogger<TCategoryName> + + Microsoft.Extensions.Logging.LogLevel + + Microsoft.Extensions.Logging.Logger<T> + + Microsoft.Extensions.Logging.LoggerMessage + + Microsoft.Extensions.Logging.Abstractions.NullLogger' + <TotalDownloads>k__BackingField: 3923304627 + <LicenseUrl>k__BackingField: https://www.nuget.org/packages/Microsoft.Extensions.Logging.Abstractions/8.0.0/license + <ProjectUrl>k__BackingField: https://dot.net/ + <Summary>k__BackingField: + <Title>k__BackingField: Microsoft.Extensions.Logging.Abstractions + <DownloadUrl>k__BackingField: + - packageLocal: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSource: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageType: 2 + packageV2: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSourceV2: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <SavedProtocolVersion>k__BackingField: + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageV3: + <Id>k__BackingField: Microsoft.Extensions.Options + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: 8.0.0 + <IsManuallyInstalled>k__BackingField: 0 + dependencies: [] + dependenciesFetched: 0 + icon: {fileID: 0} + iconUrl: https://api.nuget.org/v3-flatcontainer/microsoft.extensions.options/8.0.0/icon + packageSource: + <Name>k__BackingField: nuget.org + <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json + <SavedProtocolVersion>k__BackingField: + <UpdateSearchBatchSize>k__BackingField: 20 + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 1 + <Versions>k__BackingField: + - <FullVersion>k__BackingField: 8.0.0 + - <FullVersion>k__BackingField: 7.0.1 + - <FullVersion>k__BackingField: 7.0.0 + - <FullVersion>k__BackingField: 6.0.0 + - <FullVersion>k__BackingField: 5.0.0 + - <FullVersion>k__BackingField: 3.1.32 + - <FullVersion>k__BackingField: 3.1.31 + - <FullVersion>k__BackingField: 3.1.30 + - <FullVersion>k__BackingField: 3.1.29 + - <FullVersion>k__BackingField: 3.1.28 + - <FullVersion>k__BackingField: 3.1.27 + - <FullVersion>k__BackingField: 3.1.26 + - <FullVersion>k__BackingField: 3.1.25 + - <FullVersion>k__BackingField: 3.1.24 + - <FullVersion>k__BackingField: 3.1.23 + - <FullVersion>k__BackingField: 3.1.22 + - <FullVersion>k__BackingField: 3.1.21 + - <FullVersion>k__BackingField: 3.1.20 + - <FullVersion>k__BackingField: 3.1.19 + - <FullVersion>k__BackingField: 3.1.18 + - <FullVersion>k__BackingField: 3.1.17 + - <FullVersion>k__BackingField: 3.1.16 + - <FullVersion>k__BackingField: 3.1.15 + - <FullVersion>k__BackingField: 3.1.14 + - <FullVersion>k__BackingField: 3.1.13 + - <FullVersion>k__BackingField: 3.1.12 + - <FullVersion>k__BackingField: 3.1.11 + - <FullVersion>k__BackingField: 3.1.10 + - <FullVersion>k__BackingField: 3.1.9 + - <FullVersion>k__BackingField: 3.1.8 + - <FullVersion>k__BackingField: 3.1.7 + - <FullVersion>k__BackingField: 3.1.6 + - <FullVersion>k__BackingField: 3.1.5 + - <FullVersion>k__BackingField: 3.1.4 + - <FullVersion>k__BackingField: 3.1.3 + - <FullVersion>k__BackingField: 3.1.2 + - <FullVersion>k__BackingField: 3.1.1 + - <FullVersion>k__BackingField: 3.1.0 + - <FullVersion>k__BackingField: 3.0.3 + - <FullVersion>k__BackingField: 3.0.2 + - <FullVersion>k__BackingField: 3.0.1 + - <FullVersion>k__BackingField: 3.0.0 + - <FullVersion>k__BackingField: 2.2.0 + - <FullVersion>k__BackingField: 2.1.1 + - <FullVersion>k__BackingField: 2.1.0 + - <FullVersion>k__BackingField: 2.0.2 + - <FullVersion>k__BackingField: 2.0.1 + - <FullVersion>k__BackingField: 2.0.0 + - <FullVersion>k__BackingField: 1.1.2 + - <FullVersion>k__BackingField: 1.1.1 + - <FullVersion>k__BackingField: 1.1.0 + - <FullVersion>k__BackingField: 1.0.2 + - <FullVersion>k__BackingField: 1.0.1 + - <FullVersion>k__BackingField: 1.0.0 + <Authors>k__BackingField: + - Microsoft + <Description>k__BackingField: Provides a strongly typed way of specifying and + accessing settings using dependency injection. + <TotalDownloads>k__BackingField: 3861232974 + <LicenseUrl>k__BackingField: https://www.nuget.org/packages/Microsoft.Extensions.Options/8.0.0/license + <ProjectUrl>k__BackingField: https://dot.net/ + <Summary>k__BackingField: + <Title>k__BackingField: Microsoft.Extensions.Options + <DownloadUrl>k__BackingField: + - packageLocal: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSource: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageType: 2 + packageV2: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSourceV2: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <SavedProtocolVersion>k__BackingField: + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageV3: + <Id>k__BackingField: Microsoft.Extensions.Primitives + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: 8.0.0 + <IsManuallyInstalled>k__BackingField: 0 + dependencies: [] + dependenciesFetched: 0 + icon: {fileID: 0} + iconUrl: https://api.nuget.org/v3-flatcontainer/microsoft.extensions.primitives/8.0.0/icon + packageSource: + <Name>k__BackingField: nuget.org + <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json + <SavedProtocolVersion>k__BackingField: + <UpdateSearchBatchSize>k__BackingField: 20 + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 1 + <Versions>k__BackingField: + - <FullVersion>k__BackingField: 8.0.0 + - <FullVersion>k__BackingField: 7.0.0 + - <FullVersion>k__BackingField: 6.0.0 + - <FullVersion>k__BackingField: 5.0.1 + - <FullVersion>k__BackingField: 5.0.0 + - <FullVersion>k__BackingField: 3.1.32 + - <FullVersion>k__BackingField: 3.1.31 + - <FullVersion>k__BackingField: 3.1.30 + - <FullVersion>k__BackingField: 3.1.29 + - <FullVersion>k__BackingField: 3.1.28 + - <FullVersion>k__BackingField: 3.1.27 + - <FullVersion>k__BackingField: 3.1.26 + - <FullVersion>k__BackingField: 3.1.25 + - <FullVersion>k__BackingField: 3.1.24 + - <FullVersion>k__BackingField: 3.1.23 + - <FullVersion>k__BackingField: 3.1.22 + - <FullVersion>k__BackingField: 3.1.21 + - <FullVersion>k__BackingField: 3.1.20 + - <FullVersion>k__BackingField: 3.1.19 + - <FullVersion>k__BackingField: 3.1.18 + - <FullVersion>k__BackingField: 3.1.17 + - <FullVersion>k__BackingField: 3.1.16 + - <FullVersion>k__BackingField: 3.1.15 + - <FullVersion>k__BackingField: 3.1.14 + - <FullVersion>k__BackingField: 3.1.13 + - <FullVersion>k__BackingField: 3.1.12 + - <FullVersion>k__BackingField: 3.1.11 + - <FullVersion>k__BackingField: 3.1.10 + - <FullVersion>k__BackingField: 3.1.9 + - <FullVersion>k__BackingField: 3.1.8 + - <FullVersion>k__BackingField: 3.1.7 + - <FullVersion>k__BackingField: 3.1.6 + - <FullVersion>k__BackingField: 3.1.5 + - <FullVersion>k__BackingField: 3.1.4 + - <FullVersion>k__BackingField: 3.1.3 + - <FullVersion>k__BackingField: 3.1.2 + - <FullVersion>k__BackingField: 3.1.1 + - <FullVersion>k__BackingField: 3.1.0 + - <FullVersion>k__BackingField: 3.0.3 + - <FullVersion>k__BackingField: 3.0.2 + - <FullVersion>k__BackingField: 3.0.1 + - <FullVersion>k__BackingField: 3.0.0 + - <FullVersion>k__BackingField: 2.2.0 + - <FullVersion>k__BackingField: 2.1.6 + - <FullVersion>k__BackingField: 2.1.1 + - <FullVersion>k__BackingField: 2.1.0 + - <FullVersion>k__BackingField: 2.0.0 + - <FullVersion>k__BackingField: 1.1.1 + - <FullVersion>k__BackingField: 1.1.0 + - <FullVersion>k__BackingField: 1.0.1 + - <FullVersion>k__BackingField: 1.0.0 + <Authors>k__BackingField: + - Microsoft + <Description>k__BackingField: 'Primitives shared by framework extensions. Commonly + used types include: + + + Commonly Used Types: + + Microsoft.Extensions.Primitives.IChangeToken + + Microsoft.Extensions.Primitives.StringValues + + Microsoft.Extensions.Primitives.StringSegment' + <TotalDownloads>k__BackingField: 4612660642 + <LicenseUrl>k__BackingField: https://www.nuget.org/packages/Microsoft.Extensions.Primitives/8.0.0/license + <ProjectUrl>k__BackingField: https://dot.net/ + <Summary>k__BackingField: + <Title>k__BackingField: Microsoft.Extensions.Primitives + <DownloadUrl>k__BackingField: + - packageLocal: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSource: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageType: 2 + packageV2: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSourceV2: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <SavedProtocolVersion>k__BackingField: + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageV3: + <Id>k__BackingField: System.Collections.Immutable + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: 8.0.0 + <IsManuallyInstalled>k__BackingField: 0 + dependencies: [] + dependenciesFetched: 0 + icon: {fileID: 0} + iconUrl: https://api.nuget.org/v3-flatcontainer/system.collections.immutable/8.0.0/icon + packageSource: + <Name>k__BackingField: nuget.org + <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json + <SavedProtocolVersion>k__BackingField: + <UpdateSearchBatchSize>k__BackingField: 20 + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 1 + <Versions>k__BackingField: + - <FullVersion>k__BackingField: 8.0.0 + - <FullVersion>k__BackingField: 7.0.0 + - <FullVersion>k__BackingField: 6.0.0 + - <FullVersion>k__BackingField: 5.0.0 + - <FullVersion>k__BackingField: 1.7.1 + - <FullVersion>k__BackingField: 1.7.0 + - <FullVersion>k__BackingField: 1.6.0 + - <FullVersion>k__BackingField: 1.5.0 + - <FullVersion>k__BackingField: 1.4.0 + - <FullVersion>k__BackingField: 1.3.1 + - <FullVersion>k__BackingField: 1.3.0 + - <FullVersion>k__BackingField: 1.2.0 + - <FullVersion>k__BackingField: 1.1.37 + - <FullVersion>k__BackingField: 1.1.36 + <Authors>k__BackingField: + - Microsoft + <Description>k__BackingField: 'This package provides collections that are thread + safe and guaranteed to never change their contents, also known as immutable + collections. Like strings, any methods that perform modifications will not + change the existing instance but instead return a new instance. For efficiency + reasons, the implementation uses a sharing mechanism to ensure that newly + created instances share as much data as possible with the previous instance + while ensuring that operations have a predictable time complexity. + + + The + System.Collections.Immutable library is built-in as part of the shared framework + in .NET Runtime. The package can be installed when you need to use it in + other target frameworks.' + <TotalDownloads>k__BackingField: 1817284688 + <LicenseUrl>k__BackingField: https://www.nuget.org/packages/System.Collections.Immutable/8.0.0/license + <ProjectUrl>k__BackingField: https://dot.net/ + <Summary>k__BackingField: + <Title>k__BackingField: System.Collections.Immutable + <DownloadUrl>k__BackingField: + - packageLocal: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSource: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageType: 2 + packageV2: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSourceV2: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <SavedProtocolVersion>k__BackingField: + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageV3: + <Id>k__BackingField: System.ComponentModel.Annotations + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: 5.0.0 + <IsManuallyInstalled>k__BackingField: 0 + dependencies: [] + dependenciesFetched: 0 + icon: {fileID: 0} + iconUrl: https://api.nuget.org/v3-flatcontainer/system.componentmodel.annotations/5.0.0/icon + packageSource: + <Name>k__BackingField: nuget.org + <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json + <SavedProtocolVersion>k__BackingField: + <UpdateSearchBatchSize>k__BackingField: 20 + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 1 + <Versions>k__BackingField: + - <FullVersion>k__BackingField: 5.0.0 + - <FullVersion>k__BackingField: 4.7.0 + - <FullVersion>k__BackingField: 4.6.0 + - <FullVersion>k__BackingField: 4.5.0 + - <FullVersion>k__BackingField: 4.4.1 + - <FullVersion>k__BackingField: 4.4.0 + - <FullVersion>k__BackingField: 4.3.0 + - <FullVersion>k__BackingField: 4.1.0 + - <FullVersion>k__BackingField: 4.0.10 + - <FullVersion>k__BackingField: 4.0.0 + <Authors>k__BackingField: + - Microsoft + <Description>k__BackingField: "Provides attributes that are used to define + metadata for objects used as data sources.\n\nCommonly Used Types:\nSystem.ComponentModel.DataAnnotations.ValidationResult\nSystem.ComponentModel.DataAnnotations.IValidatableObject\nSystem.ComponentModel.DataAnnotations.ValidationAttribute\nSystem.ComponentModel.DataAnnotations.RequiredAttribute\nSystem.ComponentModel.DataAnnotations.StringLengthAttribute\nSystem.ComponentModel.DataAnnotations.DisplayAttribute\nSystem.ComponentModel.DataAnnotations.RegularExpressionAttribute\nSystem.ComponentModel.DataAnnotations.DataTypeAttribute\nSystem.ComponentModel.DataAnnotations.RangeAttribute\nSystem.ComponentModel.DataAnnotations.KeyAttribute\n + \nWhen using NuGet 3.x this package requires at least version 3.4." + <TotalDownloads>k__BackingField: 1644557912 + <LicenseUrl>k__BackingField: https://www.nuget.org/packages/System.ComponentModel.Annotations/5.0.0/license + <ProjectUrl>k__BackingField: https://github.com/dotnet/runtime + <Summary>k__BackingField: + <Title>k__BackingField: System.ComponentModel.Annotations + <DownloadUrl>k__BackingField: + - packageLocal: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSource: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageType: 2 + packageV2: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSourceV2: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <SavedProtocolVersion>k__BackingField: + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageV3: + <Id>k__BackingField: System.Diagnostics.DiagnosticSource + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: 8.0.0 + <IsManuallyInstalled>k__BackingField: 0 + dependencies: [] + dependenciesFetched: 0 + icon: {fileID: 0} + iconUrl: https://api.nuget.org/v3-flatcontainer/system.diagnostics.diagnosticsource/8.0.0/icon + packageSource: + <Name>k__BackingField: nuget.org + <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json + <SavedProtocolVersion>k__BackingField: + <UpdateSearchBatchSize>k__BackingField: 20 + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 1 + <Versions>k__BackingField: + - <FullVersion>k__BackingField: 8.0.0 + - <FullVersion>k__BackingField: 7.0.2 + - <FullVersion>k__BackingField: 7.0.1 + - <FullVersion>k__BackingField: 7.0.0 + - <FullVersion>k__BackingField: 6.0.1 + - <FullVersion>k__BackingField: 6.0.0 + - <FullVersion>k__BackingField: 5.0.1 + - <FullVersion>k__BackingField: 5.0.0 + - <FullVersion>k__BackingField: 4.7.1 + - <FullVersion>k__BackingField: 4.7.0 + - <FullVersion>k__BackingField: 4.6.0 + - <FullVersion>k__BackingField: 4.5.1 + - <FullVersion>k__BackingField: 4.5.0 + - <FullVersion>k__BackingField: 4.4.1 + - <FullVersion>k__BackingField: 4.4.0 + - <FullVersion>k__BackingField: 4.3.1 + - <FullVersion>k__BackingField: 4.3.0 + - <FullVersion>k__BackingField: 4.0.0 + <Authors>k__BackingField: + - Microsoft + <Description>k__BackingField: 'Provides Classes that allow you to decouple + code logging rich (unserializable) diagnostics/telemetry (e.g. framework) + from code that consumes it (e.g. tools) + + + Commonly Used Types: + + System.Diagnostics.DiagnosticListener + + System.Diagnostics.DiagnosticSource' + <TotalDownloads>k__BackingField: 3799345755 + <LicenseUrl>k__BackingField: https://www.nuget.org/packages/System.Diagnostics.DiagnosticSource/8.0.0/license + <ProjectUrl>k__BackingField: https://dot.net/ + <Summary>k__BackingField: + <Title>k__BackingField: System.Diagnostics.DiagnosticSource + <DownloadUrl>k__BackingField: + - packageLocal: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSource: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageType: 2 + packageV2: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSourceV2: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <SavedProtocolVersion>k__BackingField: + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageV3: + <Id>k__BackingField: System.IO.Hashing + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: 8.0.0 + <IsManuallyInstalled>k__BackingField: 0 + dependencies: [] + dependenciesFetched: 0 + icon: {fileID: 0} + iconUrl: https://api.nuget.org/v3-flatcontainer/system.io.hashing/8.0.0/icon + packageSource: + <Name>k__BackingField: nuget.org + <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json + <SavedProtocolVersion>k__BackingField: + <UpdateSearchBatchSize>k__BackingField: 20 + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 1 + <Versions>k__BackingField: + - <FullVersion>k__BackingField: 8.0.0 + - <FullVersion>k__BackingField: 7.0.0 + - <FullVersion>k__BackingField: 6.0.2 + - <FullVersion>k__BackingField: 6.0.1 + - <FullVersion>k__BackingField: 6.0.0 + <Authors>k__BackingField: + - Microsoft + <Description>k__BackingField: 'Provides non-cryptographic hash algorithms, + such as CRC-32. + + + Commonly Used Types: + + System.IO.Hashing.Crc32 + + System.IO.Hashing.XxHash32' + <TotalDownloads>k__BackingField: 86287458 + <LicenseUrl>k__BackingField: https://www.nuget.org/packages/System.IO.Hashing/8.0.0/license + <ProjectUrl>k__BackingField: https://dot.net/ + <Summary>k__BackingField: + <Title>k__BackingField: System.IO.Hashing + <DownloadUrl>k__BackingField: + - packageLocal: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSource: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageType: 2 + packageV2: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSourceV2: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <SavedProtocolVersion>k__BackingField: + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageV3: + <Id>k__BackingField: System.Runtime.CompilerServices.Unsafe + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: 6.0.0 + <IsManuallyInstalled>k__BackingField: 0 + dependencies: [] + dependenciesFetched: 0 + icon: {fileID: 0} + iconUrl: https://api.nuget.org/v3-flatcontainer/system.runtime.compilerservices.unsafe/6.0.0/icon + packageSource: + <Name>k__BackingField: nuget.org + <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json + <SavedProtocolVersion>k__BackingField: + <UpdateSearchBatchSize>k__BackingField: 20 + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 1 + <Versions>k__BackingField: + - <FullVersion>k__BackingField: 6.0.0 + - <FullVersion>k__BackingField: 5.0.0 + - <FullVersion>k__BackingField: 4.7.1 + - <FullVersion>k__BackingField: 4.7.0 + - <FullVersion>k__BackingField: 4.6.0 + - <FullVersion>k__BackingField: 4.5.3 + - <FullVersion>k__BackingField: 4.5.2 + - <FullVersion>k__BackingField: 4.5.1 + - <FullVersion>k__BackingField: 4.5.0 + - <FullVersion>k__BackingField: 4.4.0 + - <FullVersion>k__BackingField: 4.3.0 + - <FullVersion>k__BackingField: 4.0.0 + <Authors>k__BackingField: + - Microsoft + <Description>k__BackingField: 'Provides the System.Runtime.CompilerServices.Unsafe + class, which provides generic, low-level functionality for manipulating pointers. + + + Commonly + Used Types: + + System.Runtime.CompilerServices.Unsafe' + <TotalDownloads>k__BackingField: 3886345057 + <LicenseUrl>k__BackingField: https://www.nuget.org/packages/System.Runtime.CompilerServices.Unsafe/6.0.0/license + <ProjectUrl>k__BackingField: https://dot.net/ + <Summary>k__BackingField: + <Title>k__BackingField: System.Runtime.CompilerServices.Unsafe + <DownloadUrl>k__BackingField: + - packageLocal: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSource: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageType: 2 + packageV2: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSourceV2: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <SavedProtocolVersion>k__BackingField: + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageV3: + <Id>k__BackingField: System.Text.Encodings.Web + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: 8.0.0 + <IsManuallyInstalled>k__BackingField: 0 + dependencies: [] + dependenciesFetched: 0 + icon: {fileID: 0} + iconUrl: https://api.nuget.org/v3-flatcontainer/system.text.encodings.web/8.0.0/icon + packageSource: + <Name>k__BackingField: nuget.org + <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json + <SavedProtocolVersion>k__BackingField: + <UpdateSearchBatchSize>k__BackingField: 20 + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 1 + <Versions>k__BackingField: + - <FullVersion>k__BackingField: 8.0.0 + - <FullVersion>k__BackingField: 7.0.0 + - <FullVersion>k__BackingField: 6.0.0 + - <FullVersion>k__BackingField: 5.0.1 + - <FullVersion>k__BackingField: 5.0.0 + - <FullVersion>k__BackingField: 4.7.2 + - <FullVersion>k__BackingField: 4.7.1 + - <FullVersion>k__BackingField: 4.7.0 + - <FullVersion>k__BackingField: 4.6.0 + - <FullVersion>k__BackingField: 4.5.1 + - <FullVersion>k__BackingField: 4.5.0 + - <FullVersion>k__BackingField: 4.4.0 + - <FullVersion>k__BackingField: 4.3.1 + - <FullVersion>k__BackingField: 4.3.0 + - <FullVersion>k__BackingField: 4.0.1 + - <FullVersion>k__BackingField: 4.0.0 + <Authors>k__BackingField: + - Microsoft + <Description>k__BackingField: 'Provides types for encoding and escaping strings + for use in JavaScript, HyperText Markup Language (HTML), and uniform resource + locators (URL). + + + Commonly Used Types: + + System.Text.Encodings.Web.HtmlEncoder + + System.Text.Encodings.Web.UrlEncoder + + System.Text.Encodings.Web.JavaScriptEncoder' + <TotalDownloads>k__BackingField: 2142717214 + <LicenseUrl>k__BackingField: https://www.nuget.org/packages/System.Text.Encodings.Web/8.0.0/license + <ProjectUrl>k__BackingField: https://dot.net/ + <Summary>k__BackingField: + <Title>k__BackingField: System.Text.Encodings.Web + <DownloadUrl>k__BackingField: + - packageLocal: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSource: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageType: 2 + packageV2: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSourceV2: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <SavedProtocolVersion>k__BackingField: + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageV3: + <Id>k__BackingField: System.Text.Json + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: 8.0.0 + <IsManuallyInstalled>k__BackingField: 0 + dependencies: [] + dependenciesFetched: 0 + icon: {fileID: 0} + iconUrl: https://api.nuget.org/v3-flatcontainer/system.text.json/8.0.0/icon + packageSource: + <Name>k__BackingField: nuget.org + <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json + <SavedProtocolVersion>k__BackingField: + <UpdateSearchBatchSize>k__BackingField: 20 + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 1 + <Versions>k__BackingField: + - <FullVersion>k__BackingField: 8.0.0 + - <FullVersion>k__BackingField: 7.0.4 + - <FullVersion>k__BackingField: 7.0.3 + - <FullVersion>k__BackingField: 7.0.2 + - <FullVersion>k__BackingField: 7.0.1 + - <FullVersion>k__BackingField: 7.0.0 + - <FullVersion>k__BackingField: 6.0.9 + - <FullVersion>k__BackingField: 6.0.8 + - <FullVersion>k__BackingField: 6.0.7 + - <FullVersion>k__BackingField: 6.0.6 + - <FullVersion>k__BackingField: 6.0.5 + - <FullVersion>k__BackingField: 6.0.4 + - <FullVersion>k__BackingField: 6.0.3 + - <FullVersion>k__BackingField: 6.0.2 + - <FullVersion>k__BackingField: 6.0.1 + - <FullVersion>k__BackingField: 6.0.0 + - <FullVersion>k__BackingField: 5.0.2 + - <FullVersion>k__BackingField: 5.0.1 + - <FullVersion>k__BackingField: 5.0.0 + - <FullVersion>k__BackingField: 4.7.2 + - <FullVersion>k__BackingField: 4.7.1 + - <FullVersion>k__BackingField: 4.7.0 + - <FullVersion>k__BackingField: 4.6.0 + <Authors>k__BackingField: + - Microsoft + <Description>k__BackingField: 'Provides high-performance and low-allocating + types that serialize objects to JavaScript Object Notation (JSON) text and + deserialize JSON text to objects, with UTF-8 support built-in. Also provides + types to read and write JSON text encoded as UTF-8, and to create an in-memory + document object model (DOM), that is read-only, for random access of the + JSON elements within a structured view of the data. + + + The System.Text.Json + library is built-in as part of the shared framework in .NET Runtime. The + package can be installed when you need to use it in other target frameworks.' + <TotalDownloads>k__BackingField: 1673443518 + <LicenseUrl>k__BackingField: https://www.nuget.org/packages/System.Text.Json/8.0.0/license + <ProjectUrl>k__BackingField: https://dot.net/ + <Summary>k__BackingField: + <Title>k__BackingField: System.Text.Json + <DownloadUrl>k__BackingField: + - packageLocal: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSource: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageType: 2 + packageV2: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSourceV2: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <SavedProtocolVersion>k__BackingField: + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageV3: + <Id>k__BackingField: System.Threading.Channels + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: 8.0.0 + <IsManuallyInstalled>k__BackingField: 0 + dependencies: [] + dependenciesFetched: 0 + icon: {fileID: 0} + iconUrl: https://api.nuget.org/v3-flatcontainer/system.threading.channels/8.0.0/icon + packageSource: + <Name>k__BackingField: nuget.org + <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json + <SavedProtocolVersion>k__BackingField: + <UpdateSearchBatchSize>k__BackingField: 20 + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 1 + <Versions>k__BackingField: + - <FullVersion>k__BackingField: 8.0.0 + - <FullVersion>k__BackingField: 7.0.0 + - <FullVersion>k__BackingField: 6.0.0 + - <FullVersion>k__BackingField: 5.0.0 + - <FullVersion>k__BackingField: 4.7.1 + - <FullVersion>k__BackingField: 4.7.0 + - <FullVersion>k__BackingField: 4.6.0 + - <FullVersion>k__BackingField: 4.5.0 + <Authors>k__BackingField: + - Microsoft + <Description>k__BackingField: 'Provides types for passing data between producers + and consumers. + + + Commonly Used Types: + + System.Threading.Channel + + System.Threading.Channel<T>' + <TotalDownloads>k__BackingField: 439058809 + <LicenseUrl>k__BackingField: https://www.nuget.org/packages/System.Threading.Channels/8.0.0/license + <ProjectUrl>k__BackingField: https://dot.net/ + <Summary>k__BackingField: + <Title>k__BackingField: System.Threading.Channels + <DownloadUrl>k__BackingField: + - packageLocal: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSource: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageType: 2 + packageV2: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSourceV2: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <SavedProtocolVersion>k__BackingField: + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageV3: + <Id>k__BackingField: Utf8StringInterpolation + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: 1.3.1 + <IsManuallyInstalled>k__BackingField: 0 + dependencies: [] + dependenciesFetched: 0 + icon: {fileID: 0} + iconUrl: https://api.nuget.org/v3-flatcontainer/utf8stringinterpolation/1.3.1/icon + packageSource: + <Name>k__BackingField: nuget.org + <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json + <SavedProtocolVersion>k__BackingField: + <UpdateSearchBatchSize>k__BackingField: 20 + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 1 + <Versions>k__BackingField: + - <FullVersion>k__BackingField: 1.3.1 + - <FullVersion>k__BackingField: 1.3.0 + - <FullVersion>k__BackingField: 1.2.3 + - <FullVersion>k__BackingField: 1.2.2 + - <FullVersion>k__BackingField: 1.2.1 + - <FullVersion>k__BackingField: 1.2.0 + - <FullVersion>k__BackingField: 1.1.0 + - <FullVersion>k__BackingField: 1.0.0 + <Authors>k__BackingField: + - Cysharp + <Description>k__BackingField: Successor of ZString; UTF8 based zero allocation + high-peformance String Interpolation and StringBuilder. + <TotalDownloads>k__BackingField: 996 + <LicenseUrl>k__BackingField: https://www.nuget.org/packages/Utf8StringInterpolation/1.3.1/license + <ProjectUrl>k__BackingField: https://github.com/Cysharp/Utf8StringInterpolation + <Summary>k__BackingField: + <Title>k__BackingField: Utf8StringInterpolation + <DownloadUrl>k__BackingField: + - packageLocal: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSource: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageType: 2 + packageV2: + <Id>k__BackingField: + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: + <IsManuallyInstalled>k__BackingField: 0 + icon: {fileID: 0} + <DownloadUrl>k__BackingField: + <IconUrl>k__BackingField: + <RepositoryBranch>k__BackingField: + <Dependencies>k__BackingField: [] + <Authors>k__BackingField: [] + <Description>k__BackingField: + <TotalDownloads>k__BackingField: 0 + <LicenseUrl>k__BackingField: + <ProjectUrl>k__BackingField: + <ReleaseNotes>k__BackingField: + <RepositoryCommit>k__BackingField: + <RepositoryType>k__BackingField: 0 + <RepositoryUrl>k__BackingField: + <Summary>k__BackingField: + <Title>k__BackingField: + packageSourceV2: + <Name>k__BackingField: + <SavedPath>k__BackingField: + <SavedProtocolVersion>k__BackingField: + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 0 + versions: [] + packageV3: + <Id>k__BackingField: ZLogger + <PackageVersion>k__BackingField: + <FullVersion>k__BackingField: 2.0.0 + <IsManuallyInstalled>k__BackingField: 0 + dependencies: [] + dependenciesFetched: 0 + icon: {fileID: 0} + iconUrl: https://api.nuget.org/v3-flatcontainer/zlogger/2.0.0/icon + packageSource: + <Name>k__BackingField: nuget.org + <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json + <SavedProtocolVersion>k__BackingField: + <UpdateSearchBatchSize>k__BackingField: 20 + <UserName>k__BackingField: + <SavedPassword>k__BackingField: + <IsEnabled>k__BackingField: 1 + <Versions>k__BackingField: + - <FullVersion>k__BackingField: 2.0.0 + - <FullVersion>k__BackingField: 1.7.1 + - <FullVersion>k__BackingField: 1.7.0 + - <FullVersion>k__BackingField: 1.6.2 + - <FullVersion>k__BackingField: 1.6.1 + - <FullVersion>k__BackingField: 1.6.0 + - <FullVersion>k__BackingField: 1.5.1 + - <FullVersion>k__BackingField: 1.5.0 + - <FullVersion>k__BackingField: 1.4.1 + - <FullVersion>k__BackingField: 1.4.0 + - <FullVersion>k__BackingField: 1.3.0 + - <FullVersion>k__BackingField: 1.2.1 + - <FullVersion>k__BackingField: 1.2.0 + - <FullVersion>k__BackingField: 1.1.11 + - <FullVersion>k__BackingField: 1.1.10 + - <FullVersion>k__BackingField: 1.1.9 + - <FullVersion>k__BackingField: 1.1.8 + - <FullVersion>k__BackingField: 1.1.7 + - <FullVersion>k__BackingField: 1.1.6 + - <FullVersion>k__BackingField: 1.1.5 + - <FullVersion>k__BackingField: 1.1.4 + - <FullVersion>k__BackingField: 1.1.3 + - <FullVersion>k__BackingField: 1.1.2 + - <FullVersion>k__BackingField: 1.1.1 + - <FullVersion>k__BackingField: 1.1.0 + - <FullVersion>k__BackingField: 1.0.0 + - <FullVersion>k__BackingField: 0.4.1 + - <FullVersion>k__BackingField: 0.3.0 + - <FullVersion>k__BackingField: 0.2.1 + - <FullVersion>k__BackingField: 0.2.0 + - <FullVersion>k__BackingField: 0.1.3 + - <FullVersion>k__BackingField: 0.1.2 + <Authors>k__BackingField: + - Cysharp + <Description>k__BackingField: Zero Allocation Text/Strcutured Logger for .NET + Core, built on top of a Microsoft.Extensions.Logging. + <TotalDownloads>k__BackingField: 923996 + <LicenseUrl>k__BackingField: https://www.nuget.org/packages/ZLogger/2.0.0/license + <ProjectUrl>k__BackingField: https://github.com/Cysharp/ZLogger + <Summary>k__BackingField: + <Title>k__BackingField: ZLogger + <DownloadUrl>k__BackingField: +--- !u!114 &28 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 13953, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 800, y: 250} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Package Manager + m_Image: {fileID: -2824328813065806953, guid: 0000000000000000d000000000000000, type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: -1806 + y: 464 + width: 1356 + height: 828 + m_SerializedDataModeController: + m_DataMode: 0 + m_PreferredDataMode: 0 + m_SupportedDataModes: + isAutomatic: 1 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_OverlaysVisible: 1 +--- !u!114 &29 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 13401, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 100, y: 100} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Test Runner + m_Image: {fileID: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: -2552 + y: 817 + width: 1868 + height: 799 + m_SerializedDataModeController: + m_DataMode: 0 + m_PreferredDataMode: 0 + m_SupportedDataModes: + isAutomatic: 1 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_OverlaysVisible: 1 + m_Spl: + ID: 361 + splitterInitialOffset: 0 + currentActiveSplitter: -1 + realSizes: + - 547 + - 182 + relativeSizes: + - 0.75 + - 0.25 + minSizes: + - 32 + - 32 + maxSizes: + - 0 + - 0 + lastTotalSize: 729 + splitSize: 6 + xOffset: 0 + m_Version: 1 + oldRealSizes: + oldMinSizes: + oldMaxSizes: + oldSplitSize: 0 + m_TestTypeToolbarIndex: 0 + m_PlayModeTestListGUI: + m_Window: {fileID: 29} + m_NewResultList: + - id: 1000 + uniqueId: '[ZLogger.Unity][suite]' + name: ZLogger.Unity + fullName: ZLogger.Unity + resultStatus: 0 + duration: 0 + messages: + output: + stacktrace: + notRunnable: 0 + ignoredOrSkipped: 0 + description: + isSuite: 1 + categories: [] + parentId: + parentUniqueId: + m_ResultText: + m_ResultStacktrace: + m_TestListState: + scrollPos: {x: 0, y: 0} + m_SelectedIDs: + m_LastClickedID: 0 + m_ExpandedIDs: 2971d1a7a36dd169ffffff7f + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 0 + m_ClientGUIView: {fileID: 0} + m_SearchString: + m_TestRunnerUIFilter: + PassedHidden: 0 + FailedHidden: 0 + NotRunHidden: 0 + m_SearchString: + selectedCategoryMask: 0 + availableCategories: + - Uncategorized + m_SelectedOption: 0 + m_EditModeTestListGUI: + m_Window: {fileID: 29} + m_NewResultList: + - id: 1002 + uniqueId: '[ZLogger.Unity][suite]' + name: ZLogger.Unity + fullName: ZLogger.Unity + resultStatus: 0 + duration: 0 + messages: + output: + stacktrace: + notRunnable: 0 + ignoredOrSkipped: 0 + description: + isSuite: 1 + categories: [] + parentId: + parentUniqueId: + m_ResultText: + m_ResultStacktrace: + m_TestListState: + scrollPos: {x: 0, y: 0} + m_SelectedIDs: + m_LastClickedID: 0 + m_ExpandedIDs: 2971d1a7a36dd169ffffff7f + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 0 + m_ClientGUIView: {fileID: 0} + m_SearchString: + m_TestRunnerUIFilter: + PassedHidden: 0 + FailedHidden: 0 + NotRunHidden: 0 + m_SearchString: + selectedCategoryMask: 0 + availableCategories: + - Uncategorized +--- !u!114 &30 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12003, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 100, y: 100} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Console + m_Image: {fileID: -4327648978806127646, guid: 0000000000000000d000000000000000, type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: -2552 + y: 817 + width: 1868 + height: 799 + m_SerializedDataModeController: + m_DataMode: 0 + m_PreferredDataMode: 0 + m_SupportedDataModes: + isAutomatic: 1 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_OverlaysVisible: 1 +--- !u!114 &31 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12015, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Game + m_Image: {fileID: -6423792434712278376, guid: 0000000000000000d000000000000000, type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: -2552 + y: 300 + width: 715 + height: 496 + m_SerializedDataModeController: + m_DataMode: 0 + m_PreferredDataMode: 0 + m_SupportedDataModes: + isAutomatic: 1 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_OverlaysVisible: 1 + m_SerializedViewNames: [] + m_SerializedViewValues: [] + m_PlayModeViewName: GameView + m_ShowGizmos: 0 + m_TargetDisplay: 0 + m_ClearColor: {r: 0, g: 0, b: 0, a: 0} + m_TargetSize: {x: 715, y: 475} + m_TextureFilterMode: 0 + m_TextureHideFlags: 61 + m_RenderIMGUI: 1 + m_EnterPlayModeBehavior: 0 + m_UseMipMap: 0 + m_VSyncEnabled: 0 + m_Gizmos: 0 + m_Stats: 0 + m_SelectedSizes: 00000000000000000000000000000000000000000000000000000000000000000000000000000000 + m_ZoomArea: + m_HRangeLocked: 0 + m_VRangeLocked: 0 + hZoomLockedByDefault: 0 + vZoomLockedByDefault: 0 + m_HBaseRangeMin: -357.5 + m_HBaseRangeMax: 357.5 + m_VBaseRangeMin: -237.5 + m_VBaseRangeMax: 237.5 + m_HAllowExceedBaseRangeMin: 1 + m_HAllowExceedBaseRangeMax: 1 + m_VAllowExceedBaseRangeMin: 1 + m_VAllowExceedBaseRangeMax: 1 + m_ScaleWithWindow: 0 + m_HSlider: 0 + m_VSlider: 0 + m_IgnoreScrollWheelUntilClicked: 0 + m_EnableMouseInput: 1 + m_EnableSliderZoomHorizontal: 0 + m_EnableSliderZoomVertical: 0 + m_UniformScale: 1 + m_UpDirection: 1 + m_DrawArea: + serializedVersion: 2 + x: 0 + y: 21 + width: 715 + height: 475 + m_Scale: {x: 1, y: 1} + m_Translation: {x: 357.5, y: 237.5} + m_MarginLeft: 0 + m_MarginRight: 0 + m_MarginTop: 0 + m_MarginBottom: 0 + m_LastShownAreaInsideMargins: + serializedVersion: 2 + x: -357.5 + y: -237.5 + width: 715 + height: 475 + m_MinimalGUI: 1 + m_defaultScale: 1 + m_LastWindowPixelSize: {x: 715, y: 496} + m_ClearInEditMode: 1 + m_NoCameraWarning: 1 + m_LowResolutionForAspectRatios: 01000000000000000000 + m_XRRenderMode: 0 + m_RenderTexture: {fileID: 0} +--- !u!114 &32 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12013, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Scene + m_Image: {fileID: 2593428753322112591, guid: 0000000000000000d000000000000000, type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: -1836 + y: 300 + width: 677 + height: 496 + m_SerializedDataModeController: + m_DataMode: 0 + m_PreferredDataMode: 0 + m_SupportedDataModes: + isAutomatic: 1 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: + - dockPosition: 0 + containerId: overlay-toolbar__top + floating: 0 + collapsed: 0 + displayed: 1 + snapOffset: {x: -166, y: -26} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 3 + id: Tool Settings + index: 0 + layout: 1 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 0 + containerId: overlay-toolbar__top + floating: 0 + collapsed: 0 + displayed: 1 + snapOffset: {x: -141, y: -224} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 3 + id: unity-grid-and-snap-toolbar + index: 1 + layout: 1 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-toolbar__top + floating: 0 + collapsed: 0 + displayed: 1 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: unity-scene-view-toolbar + index: 0 + layout: 1 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-toolbar__top + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 1 + id: unity-search-toolbar + index: 1 + layout: 1 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 0 + containerId: overlay-container--left + floating: 0 + collapsed: 0 + displayed: 1 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: unity-transform-toolbar + index: 0 + layout: 2 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 0 + containerId: overlay-container--left + floating: 0 + collapsed: 0 + displayed: 1 + snapOffset: {x: 0, y: 197} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: unity-component-tools + index: 1 + layout: 2 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 0 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 1 + snapOffset: {x: 67.5, y: 86} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Orientation + index: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Light Settings + index: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Camera + index: 1 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Cloth Constraints + index: 1 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Cloth Collisions + index: 2 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Navmesh Display + index: 4 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Agent Display + index: 5 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Obstacle Display + index: 6 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Occlusion Culling + index: 3 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Physics Debugger + index: 4 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Scene Visibility + index: 5 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Particles + index: 6 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Tilemap + index: 11 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Tilemap Palette Helper + index: 12 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 48, y: 48} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/TrailRenderer + index: 7 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 1 + snapOffset: {x: 48, y: 48} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: AINavigationOverlay + index: 8 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + m_OverlaysVisible: 1 + m_WindowGUID: cc27987af1a868c49b0894db9c0f5429 + m_Gizmos: 1 + m_OverrideSceneCullingMask: 6917529027641081856 + m_SceneIsLit: 1 + m_SceneLighting: 1 + m_2DMode: 0 + m_isRotationLocked: 0 + m_PlayAudio: 0 + m_AudioPlay: 0 + m_Position: + m_Target: {x: 0, y: 0, z: 0} + speed: 2 + m_Value: {x: 0, y: 0, z: 0} + m_RenderMode: 0 + m_CameraMode: + drawMode: 0 + name: Shaded + section: Shading Mode + m_ValidateTrueMetals: 0 + m_DoValidateTrueMetals: 0 + m_SceneViewState: + m_AlwaysRefresh: 0 + showFog: 1 + showSkybox: 1 + showFlares: 1 + showImageEffects: 1 + showParticleSystems: 1 + showVisualEffectGraphs: 1 + m_FxEnabled: 1 + m_Grid: + xGrid: + m_Fade: + m_Target: 0 + speed: 2 + m_Value: 0 + m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4} + m_Pivot: {x: 0, y: 0, z: 0} + m_Size: {x: 0, y: 0} + yGrid: + m_Fade: + m_Target: 1 + speed: 2 + m_Value: 1 + m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4} + m_Pivot: {x: 0, y: 0, z: 0} + m_Size: {x: 1, y: 1} + zGrid: + m_Fade: + m_Target: 0 + speed: 2 + m_Value: 0 + m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4} + m_Pivot: {x: 0, y: 0, z: 0} + m_Size: {x: 1, y: 1} + m_ShowGrid: 1 + m_GridAxis: 1 + m_gridOpacity: 0.5 + m_Rotation: + m_Target: {x: -0.08717229, y: 0.89959055, z: -0.21045254, w: -0.3726226} + speed: 2 + m_Value: {x: -0.08717229, y: 0.89959055, z: -0.21045254, w: -0.3726226} + m_Size: + m_Target: 10 + speed: 2 + m_Value: 10 + m_Ortho: + m_Target: 0 + speed: 2 + m_Value: 0 + m_CameraSettings: + m_Speed: 1 + m_SpeedNormalized: 0.5 + m_SpeedMin: 0.001 + m_SpeedMax: 2 + m_EasingEnabled: 1 + m_EasingDuration: 0.4 + m_AccelerationEnabled: 1 + m_FieldOfViewHorizontalOrVertical: 60 + m_NearClip: 0.03 + m_FarClip: 10000 + m_DynamicClip: 1 + m_OcclusionCulling: 0 + m_LastSceneViewRotation: {x: -0.08717229, y: 0.89959055, z: -0.21045254, w: -0.3726226} + m_LastSceneViewOrtho: 0 + m_ReplacementShader: {fileID: 0} + m_ReplacementString: + m_SceneVisActive: 1 + m_LastLockedObject: {fileID: 0} + m_ViewIsLockedToObject: 0 +--- !u!114 &33 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12061, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Hierarchy + m_Image: {fileID: 7966133145522015247, guid: 0000000000000000d000000000000000, type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: -1157 + y: 300 + width: 472 + height: 496 + m_SerializedDataModeController: + m_DataMode: 0 + m_PreferredDataMode: 0 + m_SupportedDataModes: + isAutomatic: 1 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_OverlaysVisible: 1 + m_SceneHierarchy: + m_TreeViewState: + scrollPos: {x: 0, y: 0} + m_SelectedIDs: fc880000 + m_LastClickedID: 0 + m_ExpandedIDs: be33ffff + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 0 + m_ClientGUIView: {fileID: 0} + m_SearchString: + m_ExpandedScenes: [] + m_CurrenRootInstanceID: 0 + m_LockTracker: + m_IsLocked: 0 + m_CurrentSortingName: TransformSorting + m_WindowGUID: 4c969a2b90040154d917609493e03593 +--- !u!114 &34 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12014, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 230, y: 250} + m_MaxSize: {x: 10000, y: 10000} + m_TitleContent: + m_Text: Project + m_Image: {fileID: -5467254957812901981, guid: 0000000000000000d000000000000000, type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: -2552 + y: 817 + width: 1868 + height: 799 + m_SerializedDataModeController: + m_DataMode: 0 + m_PreferredDataMode: 0 + m_SupportedDataModes: + isAutomatic: 1 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_OverlaysVisible: 1 + m_SearchFilter: + m_NameFilter: + m_ClassNames: [] + m_AssetLabels: [] + m_AssetBundleNames: [] + m_VersionControlStates: [] + m_SoftLockControlStates: [] + m_ReferencingInstanceIDs: + m_SceneHandles: + m_ShowAllHits: 0 + m_SkipHidden: 0 + m_SearchArea: 1 + m_Folders: + - Assets/Tests + m_Globs: [] + m_OriginalText: + m_ImportLogFlags: 0 + m_FilterByTypeIntersection: 0 + m_ViewMode: 1 + m_StartGridSize: 16 + m_LastFolders: + - Assets/Tests + m_LastFoldersGridSize: 16 + m_LastProjectPath: /Users/s24061/dev/ZLogger/src/ZLogger.Unity + m_LockTracker: + m_IsLocked: 0 + m_FolderTreeState: + scrollPos: {x: 0, y: 0} + m_SelectedIDs: e67e0000 + m_LastClickedID: 32486 + m_ExpandedIDs: 00000000f2050000d206000000ca9a3bffffff7f + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 1 + m_ClientGUIView: {fileID: 23} + m_SearchString: + m_CreateAssetUtility: + m_EndAction: {fileID: 0} + m_InstanceID: 0 + m_Path: + m_Icon: {fileID: 0} + m_ResourceFile: + m_AssetTreeState: + scrollPos: {x: 0, y: 0} + m_SelectedIDs: + m_LastClickedID: 0 + m_ExpandedIDs: + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 1 + m_ClientGUIView: {fileID: 0} + m_SearchString: + m_CreateAssetUtility: + m_EndAction: {fileID: 0} + m_InstanceID: 0 + m_Path: + m_Icon: {fileID: 0} + m_ResourceFile: + m_ListAreaState: + m_SelectedInstanceIDs: fc880000 + m_LastClickedInstanceID: 35068 + m_HadKeyboardFocusLastEvent: 1 + m_ExpandedInstanceIDs: c6230000 + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: Shims + m_OriginalName: Shims + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 35080 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 0 + m_IsRenamingFilename: 1 + m_ClientGUIView: {fileID: 23} + m_CreateAssetUtility: + m_EndAction: {fileID: 0} + m_InstanceID: 0 + m_Path: + m_Icon: {fileID: 0} + m_ResourceFile: + m_NewAssetIndexInList: -1 + m_ScrollPosition: {x: 0, y: 0} + m_GridSize: 16 + m_SkipHiddenPackages: 0 + m_DirectoriesAreaWidth: 207 +--- !u!114 &35 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12019, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 275, y: 50} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Inspector + m_Image: {fileID: -2667387946076563598, guid: 0000000000000000d000000000000000, type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: -683 + y: 300 + width: 570 + height: 1316 + m_SerializedDataModeController: + m_DataMode: 0 + m_PreferredDataMode: 0 + m_SupportedDataModes: + isAutomatic: 1 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_OverlaysVisible: 1 + m_ObjectsLockedBeforeSerialization: [] + m_InstanceIDsLockedBeforeSerialization: + m_PreviewResizer: + m_CachedPref: 160 + m_ControlHash: -371814159 + m_PrefName: Preview_InspectorPreview + m_LastInspectedObjectInstanceID: -1 + m_LastVerticalScrollValue: 0 + m_GlobalObjectId: + m_InspectorMode: 0 + m_LockTracker: + m_IsLocked: 0 + m_PreviewWindow: {fileID: 0} diff --git a/src/ZLogger.Unity/UserSettings/Search.index b/src/ZLogger.Unity/UserSettings/Search.index new file mode 100644 index 00000000..dba62d53 --- /dev/null +++ b/src/ZLogger.Unity/UserSettings/Search.index @@ -0,0 +1,13 @@ +{ + "name": "Assets", + "roots": ["Assets"], + "includes": [], + "excludes": [], + "options": { + "types": true, + "properties": true, + "extended": false, + "dependencies": false + }, + "baseScore": 999 +} \ No newline at end of file diff --git a/src/ZLogger.Unity/UserSettings/Search.settings b/src/ZLogger.Unity/UserSettings/Search.settings new file mode 100644 index 00000000..35204fa0 --- /dev/null +++ b/src/ZLogger.Unity/UserSettings/Search.settings @@ -0,0 +1,75 @@ +trackSelection = true +refreshSearchWindowsInPlayMode = false +fetchPreview = true +defaultFlags = 0 +keepOpen = false +queryFolder = "Assets" +onBoardingDoNotAskAgain = true +showPackageIndexes = false +showStatusBar = false +scopes = { +} +providers = { + scene = { + active = true + priority = 50 + defaultAction = null + } + asset = { + active = true + priority = 25 + defaultAction = null + } + log = { + active = false + priority = 210 + defaultAction = null + } + packages = { + active = true + priority = 90 + defaultAction = null + } + performance = { + active = false + priority = 100 + defaultAction = null + } + profilermarkers = { + active = false + priority = 100 + defaultAction = null + } + adb = { + active = false + priority = 2500 + defaultAction = null + } + store = { + active = true + priority = 100 + defaultAction = null + } + find = { + active = true + priority = 25 + defaultAction = null + } +} +objectSelectors = { +} +recentSearches = [ +] +searchItemFavorites = [ +] +savedSearchesSortOrder = 0 +showSavedSearchPanel = false +hideTabs = false +expandedQueries = [ +] +queryBuilder = false +ignoredProperties = "id;name;classname;imagecontentshash" +helperWidgetCurrentArea = "all" +disabledIndexers = "" +minIndexVariations = 2 +findProviderIndexHelper = true \ No newline at end of file From edc5368cc119668c834777db841ea82716bd5c83 Mon Sep 17 00:00:00 2001 From: hadashiA <dev@hadashikick.jp> Date: Thu, 14 Dec 2023 15:59:39 +0900 Subject: [PATCH 3/8] Add UnityDebugLoggerProvider --- src/ZLogger.Unity/Assets/Sample.meta | 8 + .../Assets/Sample/SampleBehaviour.cs | 39 ++ .../Assets/Sample/SampleBehaviour.cs.meta | 11 + .../Assets/Scenes/SampleScene.unity | 622 ++++++++++-------- .../Runtime/ZLogger.Unity.asmdef | 30 +- .../ZLoggerUnityDebugLoggerProvider.cs | 128 ++++ .../ZLoggerUnityDebugLoggerProvider.cs.meta | 3 + src/ZLogger.Unity/Assets/csc.rsp | 1 + src/ZLogger.Unity/Assets/csc.rsp.meta | 7 + .../ProjectSettings/ProjectSettings.asset | 8 +- 10 files changed, 575 insertions(+), 282 deletions(-) create mode 100644 src/ZLogger.Unity/Assets/Sample.meta create mode 100644 src/ZLogger.Unity/Assets/Sample/SampleBehaviour.cs create mode 100644 src/ZLogger.Unity/Assets/Sample/SampleBehaviour.cs.meta create mode 100644 src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/ZLoggerUnityDebugLoggerProvider.cs create mode 100644 src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/ZLoggerUnityDebugLoggerProvider.cs.meta create mode 100644 src/ZLogger.Unity/Assets/csc.rsp create mode 100644 src/ZLogger.Unity/Assets/csc.rsp.meta diff --git a/src/ZLogger.Unity/Assets/Sample.meta b/src/ZLogger.Unity/Assets/Sample.meta new file mode 100644 index 00000000..8a02fbb4 --- /dev/null +++ b/src/ZLogger.Unity/Assets/Sample.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ab60e5e1957a14ec387833772f7a5528 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/ZLogger.Unity/Assets/Sample/SampleBehaviour.cs b/src/ZLogger.Unity/Assets/Sample/SampleBehaviour.cs new file mode 100644 index 00000000..3bd2631b --- /dev/null +++ b/src/ZLogger.Unity/Assets/Sample/SampleBehaviour.cs @@ -0,0 +1,39 @@ +using Microsoft.Extensions.Logging; +using UnityEngine; +using ZLogger; +using ZLogger.Unity; + + +public class SampleBehaviour : MonoBehaviour +{ + void Start() + { + using var loggerFactory = LoggerFactory.Create(logging => + { + logging.AddZLoggerUnityDebug(options => + { + options.UsePlainTextFormatter(); + options.IncludeScopes = true; + }); + + logging.AddZLoggerUnityDebug(options => + { + options.UseJsonFormatter(); + options.IncludeScopes = true; + }); + + }); + + var logger = loggerFactory.CreateLogger(nameof(SampleBehaviour)); + + var name = "Hoge"; + var id = 12345; + + logger.ZLogInformation($"!!!!!! Hello {name} your id is {id:@userId}"); + + using (logger.BeginScope("{Id}", id)) + { + logger.ZLogInformation($"@@@@@@@@ Hello {name}"); + } + } +} diff --git a/src/ZLogger.Unity/Assets/Sample/SampleBehaviour.cs.meta b/src/ZLogger.Unity/Assets/Sample/SampleBehaviour.cs.meta new file mode 100644 index 00000000..48e2a38f --- /dev/null +++ b/src/ZLogger.Unity/Assets/Sample/SampleBehaviour.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 98aecb6fcb9c147deae2eaf4c4612408 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/ZLogger.Unity/Assets/Scenes/SampleScene.unity b/src/ZLogger.Unity/Assets/Scenes/SampleScene.unity index c39e5814..081dc329 100644 --- a/src/ZLogger.Unity/Assets/Scenes/SampleScene.unity +++ b/src/ZLogger.Unity/Assets/Scenes/SampleScene.unity @@ -1,267 +1,355 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!29 &1 -OcclusionCullingSettings: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_OcclusionBakeSettings: - smallestOccluder: 5 - smallestHole: 0.25 - backfaceThreshold: 100 - m_SceneGUID: 00000000000000000000000000000000 - m_OcclusionCullingData: {fileID: 0} ---- !u!104 &2 -RenderSettings: - m_ObjectHideFlags: 0 - serializedVersion: 9 - m_Fog: 0 - m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} - m_FogMode: 3 - m_FogDensity: 0.01 - m_LinearFogStart: 0 - m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} - m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} - m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} - m_AmbientIntensity: 1 - m_AmbientMode: 0 - m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} - m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} - m_HaloStrength: 0.5 - m_FlareStrength: 1 - m_FlareFadeSpeed: 3 - m_HaloTexture: {fileID: 0} - m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} - m_DefaultReflectionMode: 0 - m_DefaultReflectionResolution: 128 - m_ReflectionBounces: 1 - m_ReflectionIntensity: 1 - m_CustomReflection: {fileID: 0} - m_Sun: {fileID: 705507994} - m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} - m_UseRadianceAmbientProbe: 0 ---- !u!157 &3 -LightmapSettings: - m_ObjectHideFlags: 0 - serializedVersion: 12 - m_GIWorkflowMode: 1 - m_GISettings: - serializedVersion: 2 - m_BounceScale: 1 - m_IndirectOutputScale: 1 - m_AlbedoBoost: 1 - m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_LightmapEditorSettings: - serializedVersion: 12 - m_Resolution: 2 - m_BakeResolution: 40 - m_AtlasSize: 1024 - m_AO: 0 - m_AOMaxDistance: 1 - m_CompAOExponent: 1 - m_CompAOExponentDirect: 0 - m_ExtractAmbientOcclusion: 0 - m_Padding: 2 - m_LightmapParameters: {fileID: 0} - m_LightmapsBakeMode: 1 - m_TextureCompression: 1 - m_FinalGather: 0 - m_FinalGatherFiltering: 1 - m_FinalGatherRayCount: 256 - m_ReflectionCompression: 2 - m_MixedBakeMode: 2 - m_BakeBackend: 1 - m_PVRSampling: 1 - m_PVRDirectSampleCount: 32 - m_PVRSampleCount: 500 - m_PVRBounces: 2 - m_PVREnvironmentSampleCount: 500 - m_PVREnvironmentReferencePointCount: 2048 - m_PVRFilteringMode: 2 - m_PVRDenoiserTypeDirect: 0 - m_PVRDenoiserTypeIndirect: 0 - m_PVRDenoiserTypeAO: 0 - m_PVRFilterTypeDirect: 0 - m_PVRFilterTypeIndirect: 0 - m_PVRFilterTypeAO: 0 - m_PVREnvironmentMIS: 0 - m_PVRCulling: 1 - m_PVRFilteringGaussRadiusDirect: 1 - m_PVRFilteringGaussRadiusIndirect: 5 - m_PVRFilteringGaussRadiusAO: 2 - m_PVRFilteringAtrousPositionSigmaDirect: 0.5 - m_PVRFilteringAtrousPositionSigmaIndirect: 2 - m_PVRFilteringAtrousPositionSigmaAO: 1 - m_ExportTrainingData: 0 - m_TrainingDataDestination: TrainingData - m_LightProbeSampleCountMultiplier: 4 - m_LightingDataAsset: {fileID: 0} - m_LightingSettings: {fileID: 0} ---- !u!196 &4 -NavMeshSettings: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_BuildSettings: - serializedVersion: 2 - agentTypeID: 0 - agentRadius: 0.5 - agentHeight: 2 - agentSlope: 45 - agentClimb: 0.4 - ledgeDropHeight: 0 - maxJumpAcrossDistance: 0 - minRegionArea: 2 - manualCellSize: 0 - cellSize: 0.16666667 - manualTileSize: 0 - tileSize: 256 - accuratePlacement: 0 - debug: - m_Flags: 0 - m_NavMeshData: {fileID: 0} ---- !u!1 &705507993 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 705507995} - - component: {fileID: 705507994} - m_Layer: 0 - m_Name: Directional Light - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!108 &705507994 -Light: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 705507993} - m_Enabled: 1 - serializedVersion: 8 - m_Type: 1 - m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} - m_Intensity: 1 - m_Range: 10 - m_SpotAngle: 30 - m_CookieSize: 10 - m_Shadows: - m_Type: 2 - m_Resolution: -1 - m_CustomResolution: -1 - m_Strength: 1 - m_Bias: 0.05 - m_NormalBias: 0.4 - m_NearPlane: 0.2 - m_Cookie: {fileID: 0} - m_DrawHalo: 0 - m_Flare: {fileID: 0} - m_RenderMode: 0 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_Lightmapping: 1 - m_LightShadowCasterMode: 0 - m_AreaSize: {x: 1, y: 1} - m_BounceIntensity: 1 - m_ColorTemperature: 6570 - m_UseColorTemperature: 0 - m_ShadowRadius: 0 - m_ShadowAngle: 0 ---- !u!4 &705507995 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 705507993} - m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} - m_LocalPosition: {x: 0, y: 3, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} ---- !u!1 &963194225 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 963194228} - - component: {fileID: 963194227} - - component: {fileID: 963194226} - m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!81 &963194226 -AudioListener: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 963194225} - m_Enabled: 1 ---- !u!20 &963194227 -Camera: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 963194225} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} - m_projectionMatrixMode: 1 - m_SensorSize: {x: 36, y: 24} - m_LensShift: {x: 0, y: 0} - m_GateFitMode: 2 - m_FocalLength: 50 - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: 0.3 - far clip plane: 1000 - field of view: 60 - orthographic: 0 - orthographic size: 5 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 1 - m_AllowMSAA: 1 - m_AllowDynamicResolution: 0 - m_ForceIntoRT: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: 0.022 ---- !u!4 &963194228 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 963194225} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 1, z: -10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 705507994} + m_IndirectSpecularColor: {r: 0.4465788, g: 0.49641287, b: 0.5748173, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 3 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &705507993 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 705507995} + - component: {fileID: 705507994} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &705507994 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.802082 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 1 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &705507995 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &754745475 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 754745477} + - component: {fileID: 754745476} + m_Layer: 0 + m_Name: SampleBehaviour + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &754745476 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 754745475} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 98aecb6fcb9c147deae2eaf4c4612408, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &754745477 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 754745475} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &963194225 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 963194228} + - component: {fileID: 963194227} + - component: {fileID: 963194226} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &963194226 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 +--- !u!20 &963194227 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &963194228 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/ZLogger.Unity.asmdef b/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/ZLogger.Unity.asmdef index cf6c0fee..552eed84 100644 --- a/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/ZLogger.Unity.asmdef +++ b/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/ZLogger.Unity.asmdef @@ -1,12 +1,20 @@ { - "name": "ZLogger.Unity", - "references": [], - "optionalUnityReferences": [], - "includePlatforms": [], - "excludePlatforms": [], - "allowUnsafeCode": true, - "overrideReferences": false, - "precompiledReferences": [], - "autoReferenced": true, - "defineConstraints": [] -} + "name": "ZLogger.Unity", + "rootNamespace": "", + "references": [], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": true, + "overrideReferences": true, + "precompiledReferences": [ + "ZLogger.dll", + "Microsoft.Extensions.Logging.Abstractions.dll", + "Microsoft.Extensions.Logging.dll", + "Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "Microsoft.Extensions.DependencyInjection.dll" + ], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/ZLoggerUnityDebugLoggerProvider.cs b/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/ZLoggerUnityDebugLoggerProvider.cs new file mode 100644 index 00000000..a658e1fa --- /dev/null +++ b/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/ZLoggerUnityDebugLoggerProvider.cs @@ -0,0 +1,128 @@ +using System; +using System.Buffers; +using System.Text; +using System.Threading.Tasks; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using ZLogger.Providers; + +namespace ZLogger.Unity; + +public static class ZLoggerUnityExtensions +{ + public static ILoggingBuilder AddZLoggerUnityDebug(this ILoggingBuilder builder) => builder.AddZLoggerConsole((_, _) => { }); + public static ILoggingBuilder AddZLoggerUnityDebug(this ILoggingBuilder builder, Action<ZLoggerOptions> configure) + { + builder.Services.AddSingleton<ILoggerProvider, ZLoggerUnityDebugLoggerProvider>(serviceProvider => + { + var options = new ZLoggerConsoleOptions(); + configure(options); + return new ZLoggerUnityDebugLoggerProvider(options); + }); + return builder; + } + +} + +public class UnityDebugLogProcessor : IAsyncLogProcessor +{ + [ThreadStatic] + static ArrayBufferWriter<byte>? bufferWriter; + + readonly ZLoggerOptions options; + readonly IZLoggerFormatter formatter; + + public UnityDebugLogProcessor(ZLoggerOptions options) + { + this.options = options; + formatter = options.CreateFormatter(); + } + + public ValueTask DisposeAsync() + { + return default; + } + + public void Post(IZLoggerEntry log) + { + bufferWriter ??= new ArrayBufferWriter<byte>(); + + try + { + var msg = FormatToString(log, formatter); + switch (log.LogInfo.LogLevel) + { + case LogLevel.Trace: + case LogLevel.Debug: + case LogLevel.Information: + UnityEngine.Debug.Log(msg); + break; + case LogLevel.Warning: + case LogLevel.Critical: + UnityEngine.Debug.LogWarning(msg); + break; + case LogLevel.Error: + if (log.LogInfo.Exception != null) + { + UnityEngine.Debug.LogException(log.LogInfo.Exception); + } + else + { + UnityEngine.Debug.LogError(msg); + } + break; + case LogLevel.None: + break; + default: + break; + } + } + finally + { + log.Return(); + } + } + + static string FormatToString(IZLoggerEntry entry, IZLoggerFormatter formatter) + { + bufferWriter ??= new ArrayBufferWriter<byte>(); + bufferWriter.Clear(); + + formatter.FormatLogEntry(bufferWriter, entry); + return Encoding.UTF8.GetString(bufferWriter.WrittenSpan); + } +} + +[ProviderAlias("ZLoggerUnityDebug")] +public class ZLoggerUnityDebugLoggerProvider : ILoggerProvider, ISupportExternalScope, IAsyncDisposable +{ + readonly ZLoggerOptions options; + readonly UnityDebugLogProcessor processor; + IExternalScopeProvider? scopeProvider; + + public ZLoggerUnityDebugLoggerProvider(ZLoggerOptions options) + { + this.options = options; + this.processor = new UnityDebugLogProcessor(options); + } + + public ILogger CreateLogger(string categoryName) + { + return new ZLoggerLogger(categoryName, processor, options, options.IncludeScopes ? scopeProvider : null); + } + + public void Dispose() + { + processor.DisposeAsync().AsTask().Wait(); + } + + public async ValueTask DisposeAsync() + { + await processor.DisposeAsync().ConfigureAwait(false); + } + + public void SetScopeProvider(IExternalScopeProvider scopeProvider) + { + this.scopeProvider = scopeProvider; + } +} diff --git a/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/ZLoggerUnityDebugLoggerProvider.cs.meta b/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/ZLoggerUnityDebugLoggerProvider.cs.meta new file mode 100644 index 00000000..9be1727b --- /dev/null +++ b/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/ZLoggerUnityDebugLoggerProvider.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 5e848968088e4dbdb904a230e06fa2cf +timeCreated: 1702534930 \ No newline at end of file diff --git a/src/ZLogger.Unity/Assets/csc.rsp b/src/ZLogger.Unity/Assets/csc.rsp new file mode 100644 index 00000000..f712c6f6 --- /dev/null +++ b/src/ZLogger.Unity/Assets/csc.rsp @@ -0,0 +1 @@ +-langVersion:10 -nullable \ No newline at end of file diff --git a/src/ZLogger.Unity/Assets/csc.rsp.meta b/src/ZLogger.Unity/Assets/csc.rsp.meta new file mode 100644 index 00000000..b64381db --- /dev/null +++ b/src/ZLogger.Unity/Assets/csc.rsp.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6901591f504cf4420a5c4fac2e520980 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/ZLogger.Unity/ProjectSettings/ProjectSettings.asset b/src/ZLogger.Unity/ProjectSettings/ProjectSettings.asset index d58cfd76..54739547 100644 --- a/src/ZLogger.Unity/ProjectSettings/ProjectSettings.asset +++ b/src/ZLogger.Unity/ProjectSettings/ProjectSettings.asset @@ -17,7 +17,7 @@ PlayerSettings: defaultCursor: {fileID: 0} cursorHotspot: {x: 0, y: 0} m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} - m_ShowUnitySplashScreen: 0 + m_ShowUnitySplashScreen: 1 m_ShowUnitySplashLogo: 1 m_SplashScreenOverlayOpacity: 1 m_SplashScreenAnimation: 1 @@ -89,7 +89,7 @@ PlayerSettings: bakeCollisionMeshes: 0 forceSingleInstance: 0 useFlipModelSwapchain: 1 - resizableWindow: 1 + resizableWindow: 0 useMacAppStoreValidation: 0 macAppStoreCategory: public.app-category.games gpuSkinning: 1 @@ -100,7 +100,7 @@ PlayerSettings: xboxEnableFitness: 0 visibleInBackground: 1 allowFullscreenSwitch: 1 - fullscreenMode: 3 + fullscreenMode: 1 xboxSpeechDB: 0 xboxEnableHeadOrientation: 0 xboxEnableGuest: 0 @@ -165,7 +165,7 @@ PlayerSettings: AndroidMinSdkVersion: 22 AndroidTargetSdkVersion: 0 AndroidPreferredInstallLocation: 1 - aotOptions: nimt-trampolines=1024 + aotOptions: stripEngineCode: 1 iPhoneStrippingLevel: 0 iPhoneScriptCallOptimization: 0 From 26b085afeee30e4a8332c966e318199343a3c118 Mon Sep 17 00:00:00 2001 From: hadashiA <dev@hadashikick.jp> Date: Thu, 14 Dec 2023 16:10:55 +0900 Subject: [PATCH 4/8] Downgrade Microsoft.CodeAnalysis.CSharp to 4.1.0 --- .../Shims/CSharpSyntaxHelper.cs | 127 +++++ .../Shims/CompilationExtensions.cs | 189 ++++++++ src/ZLogger.Generator/Shims/GlobalAliases.cs | 76 +++ src/ZLogger.Generator/Shims/Hash.cs | 26 + src/ZLogger.Generator/Shims/ISyntaxHelper.cs | 68 +++ .../Shims/ImmutableArrayValueComparer.cs | 32 ++ ...ueProvider_ForAttributeWithMetadataName.cs | 203 ++++++++ ...alueProvider_ForAttributeWithSimpleName.cs | 455 ++++++++++++++++++ .../Shims/ValueListHelper.cs | 213 ++++++++ .../ZLogger.Generator.csproj | 3 +- .../ZLoggerGenerator.Parser.cs | 1 + src/ZLogger.Generator/ZLoggerGenerator.cs | 2 + 12 files changed, 1394 insertions(+), 1 deletion(-) create mode 100644 src/ZLogger.Generator/Shims/CSharpSyntaxHelper.cs create mode 100644 src/ZLogger.Generator/Shims/CompilationExtensions.cs create mode 100644 src/ZLogger.Generator/Shims/GlobalAliases.cs create mode 100644 src/ZLogger.Generator/Shims/Hash.cs create mode 100644 src/ZLogger.Generator/Shims/ISyntaxHelper.cs create mode 100644 src/ZLogger.Generator/Shims/ImmutableArrayValueComparer.cs create mode 100644 src/ZLogger.Generator/Shims/SyntaxValueProvider_ForAttributeWithMetadataName.cs create mode 100644 src/ZLogger.Generator/Shims/SyntaxValueProvider_ForAttributeWithSimpleName.cs create mode 100644 src/ZLogger.Generator/Shims/ValueListHelper.cs diff --git a/src/ZLogger.Generator/Shims/CSharpSyntaxHelper.cs b/src/ZLogger.Generator/Shims/CSharpSyntaxHelper.cs new file mode 100644 index 00000000..fb076462 --- /dev/null +++ b/src/ZLogger.Generator/Shims/CSharpSyntaxHelper.cs @@ -0,0 +1,127 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +// Copied from https://github.com/dotnet/runtime/blob/1473deaa50785b956edd7d078e68c0581c1b4d95/src/libraries/Common/src/Roslyn/CSharpSyntaxHelper.cs + +using System.Collections.Generic; +using System.Diagnostics; + +using Microsoft.CodeAnalysis.CSharp; +using Microsoft.CodeAnalysis.CSharp.Syntax; + +namespace Microsoft.CodeAnalysis.DotnetRuntime.Extensions +{ + internal sealed class CSharpSyntaxHelper : AbstractSyntaxHelper + { + public static readonly ISyntaxHelper Instance = new CSharpSyntaxHelper(); + + private CSharpSyntaxHelper() + { + } + + public override bool IsCaseSensitive + => true; + + public override bool IsValidIdentifier(string name) + => SyntaxFacts.IsValidIdentifier(name); + + public override bool IsAnyNamespaceBlock(SyntaxNode node) + => node is BaseNamespaceDeclarationSyntax; + + public override bool IsAttribute(SyntaxNode node) + => node is AttributeSyntax; + + public override SyntaxNode GetNameOfAttribute(SyntaxNode node) + => ((AttributeSyntax)node).Name; + + public override bool IsAttributeList(SyntaxNode node) + => node is AttributeListSyntax; + + public override void AddAttributeTargets(SyntaxNode node, ref ValueListBuilder<SyntaxNode> targets) + { + var attributeList = (AttributeListSyntax)node; + var container = attributeList.Parent; + Debug.Assert(container != null); + + // For fields/events, the attribute applies to all the variables declared. + if (container is FieldDeclarationSyntax field) + { + foreach (var variable in field.Declaration.Variables) + targets.Append(variable); + } + else if (container is EventFieldDeclarationSyntax ev) + { + foreach (var variable in ev.Declaration.Variables) + targets.Append(variable); + } + else + { + targets.Append(container); + } + } + + public override SeparatedSyntaxList<SyntaxNode> GetAttributesOfAttributeList(SyntaxNode node) + => ((AttributeListSyntax)node).Attributes; + + public override bool IsLambdaExpression(SyntaxNode node) + => node is LambdaExpressionSyntax; + + public override SyntaxToken GetUnqualifiedIdentifierOfName(SyntaxNode node) + => ((NameSyntax)node).GetUnqualifiedName().Identifier; + + public override void AddAliases(SyntaxNode node, ref ValueListBuilder<(string aliasName, string symbolName)> aliases, bool global) + { + if (node is CompilationUnitSyntax compilationUnit) + { + AddAliases(compilationUnit.Usings, ref aliases, global); + } + else if (node is BaseNamespaceDeclarationSyntax namespaceDeclaration) + { + AddAliases(namespaceDeclaration.Usings, ref aliases, global); + } + else + { + Debug.Fail("This should not be reachable. Caller already checked we had a compilation unit or namespace."); + } + } + + private static void AddAliases(SyntaxList<UsingDirectiveSyntax> usings, ref ValueListBuilder<(string aliasName, string symbolName)> aliases, bool global) + { + foreach (var usingDirective in usings) + { + if (usingDirective.Alias is null) + continue; + + if (global != usingDirective.GlobalKeyword.Kind() is SyntaxKind.GlobalKeyword) + continue; + + var aliasName = usingDirective.Alias.Name.Identifier.ValueText; + var symbolName = usingDirective.Name.GetUnqualifiedName().Identifier.ValueText; + aliases.Append((aliasName, symbolName)); + } + } + + public override void AddAliases(CompilationOptions compilation, ref ValueListBuilder<(string aliasName, string symbolName)> aliases) + { + // C# doesn't have global aliases at the compilation level. + return; + } + + public override bool ContainsGlobalAliases(SyntaxNode root) + { + // Global usings can only exist at the compilation-unit level, so no need to dive any deeper than that. + var compilationUnit = (CompilationUnitSyntax)root; + + foreach (var directive in compilationUnit.Usings) + { + if (directive.GlobalKeyword.IsKind(SyntaxKind.GlobalKeyword) && + directive.Alias != null) + { + return true; + } + } + + return false; + } + } +} \ No newline at end of file diff --git a/src/ZLogger.Generator/Shims/CompilationExtensions.cs b/src/ZLogger.Generator/Shims/CompilationExtensions.cs new file mode 100644 index 00000000..9cc3ef8a --- /dev/null +++ b/src/ZLogger.Generator/Shims/CompilationExtensions.cs @@ -0,0 +1,189 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +// Copied from https://github.com/dotnet/runtime/blob/1473deaa50785b956edd7d078e68c0581c1b4d95/src/libraries/Common/src/Roslyn/GetBestTypeByMetadataName.cs + +using System; +using System.Collections.Immutable; +using Microsoft.CodeAnalysis.CSharp.Syntax; + +namespace Microsoft.CodeAnalysis.DotnetRuntime.Extensions +{ + internal static class RoslynExtensions + { + // Copied from: https://github.com/dotnet/roslyn/blob/main/src/Workspaces/SharedUtilitiesAndExtensions/Compiler/Core/Extensions/CompilationExtensions.cs + /// <summary> + /// Gets a type by its metadata name to use for code analysis within a <see cref="Compilation"/>. This method + /// attempts to find the "best" symbol to use for code analysis, which is the symbol matching the first of the + /// following rules. + /// + /// <list type="number"> + /// <item><description> + /// If only one type with the given name is found within the compilation and its referenced assemblies, that + /// type is returned regardless of accessibility. + /// </description></item> + /// <item><description> + /// If the current <paramref name="compilation"/> defines the symbol, that symbol is returned. + /// </description></item> + /// <item><description> + /// If exactly one referenced assembly defines the symbol in a manner that makes it visible to the current + /// <paramref name="compilation"/>, that symbol is returned. + /// </description></item> + /// <item><description> + /// Otherwise, this method returns <see langword="null"/>. + /// </description></item> + /// </list> + /// </summary> + /// <param name="compilation">The <see cref="Compilation"/> to consider for analysis.</param> + /// <param name="fullyQualifiedMetadataName">The fully-qualified metadata type name to find.</param> + /// <returns>The symbol to use for code analysis; otherwise, <see langword="null"/>.</returns> + public static INamedTypeSymbol? GetBestTypeByMetadataName(this Compilation compilation, string fullyQualifiedMetadataName) + { + // Try to get the unique type with this name, ignoring accessibility + var type = compilation.GetTypeByMetadataName(fullyQualifiedMetadataName); + + // Otherwise, try to get the unique type with this name originally defined in 'compilation' + type ??= compilation.Assembly.GetTypeByMetadataName(fullyQualifiedMetadataName); + + // Otherwise, try to get the unique accessible type with this name from a reference + if (type is null) + { + foreach (var module in compilation.Assembly.Modules) + { + foreach (var referencedAssembly in module.ReferencedAssemblySymbols) + { + var currentType = referencedAssembly.GetTypeByMetadataName(fullyQualifiedMetadataName); + if (currentType is null) + continue; + + switch (currentType.GetResultantVisibility()) + { + case SymbolVisibility.Public: + case SymbolVisibility.Internal when referencedAssembly.GivesAccessTo(compilation.Assembly): + break; + + default: + continue; + } + + if (type is object) + { + // Multiple visible types with the same metadata name are present + return null; + } + + type = currentType; + } + } + } + + return type; + } + + /// <summary> + /// A thin wrapper over <see cref="GetBestTypeByMetadataName(Compilation, string)"/>, + /// but taking the type itself rather than the fully-qualified metadata type name. + /// </summary> + /// <param name="compilation">The <see cref="Compilation"/> to consider for analysis.</param> + /// <param name="type">The type to find.</param> + /// <returns></returns> + public static INamedTypeSymbol? GetBestTypeByMetadataName(this Compilation compilation, Type type) => + type.IsArray || type.FullName is null + ? throw new ArgumentException("The input type must correspond to a named type symbol.") + : GetBestTypeByMetadataName(compilation, type.FullName); + + // copied from https://github.com/dotnet/roslyn/blob/main/src/Workspaces/SharedUtilitiesAndExtensions/Compiler/Core/Extensions/ISymbolExtensions.cs + private static SymbolVisibility GetResultantVisibility(this ISymbol symbol) + { + // Start by assuming it's visible. + SymbolVisibility visibility = SymbolVisibility.Public; + + switch (symbol.Kind) + { + case SymbolKind.Alias: + // Aliases are uber private. They're only visible in the same file that they + // were declared in. + return SymbolVisibility.Private; + + case SymbolKind.Parameter: + // Parameters are only as visible as their containing symbol + return GetResultantVisibility(symbol.ContainingSymbol); + + case SymbolKind.TypeParameter: + // Type Parameters are private. + return SymbolVisibility.Private; + } + + while (symbol != null && symbol.Kind != SymbolKind.Namespace) + { + switch (symbol.DeclaredAccessibility) + { + // If we see anything private, then the symbol is private. + case Accessibility.NotApplicable: + case Accessibility.Private: + return SymbolVisibility.Private; + + // If we see anything internal, then knock it down from public to + // internal. + case Accessibility.Internal: + case Accessibility.ProtectedAndInternal: + visibility = SymbolVisibility.Internal; + break; + + // For anything else (Public, Protected, ProtectedOrInternal), the + // symbol stays at the level we've gotten so far. + } + + symbol = symbol.ContainingSymbol; + } + + return visibility; + } + + // Copied from: https://github.com/dotnet/roslyn/blob/main/src/Workspaces/SharedUtilitiesAndExtensions/Compiler/Core/Utilities/SymbolVisibility.cs +#pragma warning disable CA1027 // Mark enums with FlagsAttribute + private enum SymbolVisibility +#pragma warning restore CA1027 // Mark enums with FlagsAttribute + { + Public = 0, + Internal = 1, + Private = 2, + Friend = Internal, + } + + internal static bool HasAttributeSuffix(this string name, bool isCaseSensitive) + { + const string AttributeSuffix = "Attribute"; + + var comparison = isCaseSensitive ? StringComparison.Ordinal : StringComparison.OrdinalIgnoreCase; + return name.Length > AttributeSuffix.Length && name.EndsWith(AttributeSuffix, comparison); + } + + public static ImmutableArray<T> ToImmutableArray<T>(this ReadOnlySpan<T> span) + { + switch (span.Length) + { + case 0: return ImmutableArray<T>.Empty; + case 1: return ImmutableArray.Create(span[0]); + case 2: return ImmutableArray.Create(span[0], span[1]); + case 3: return ImmutableArray.Create(span[0], span[1], span[2]); + case 4: return ImmutableArray.Create(span[0], span[1], span[2], span[3]); + default: + var builder = ImmutableArray.CreateBuilder<T>(span.Length); + foreach (var item in span) + builder.Add(item); + + return builder.MoveToImmutable(); + } + } + + public static SimpleNameSyntax GetUnqualifiedName(this NameSyntax name) + => name switch + { + AliasQualifiedNameSyntax alias => alias.Name, + QualifiedNameSyntax qualified => qualified.Right, + SimpleNameSyntax simple => simple, + _ => throw new InvalidOperationException("Unreachable"), + }; + } +} \ No newline at end of file diff --git a/src/ZLogger.Generator/Shims/GlobalAliases.cs b/src/ZLogger.Generator/Shims/GlobalAliases.cs new file mode 100644 index 00000000..6fa3476e --- /dev/null +++ b/src/ZLogger.Generator/Shims/GlobalAliases.cs @@ -0,0 +1,76 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +// Copied from https://github.com/dotnet/runtime/blob/1473deaa50785b956edd7d078e68c0581c1b4d95/src/libraries/Common/src/Roslyn/GlobalAliases.cs + +using System; +using System.Collections.Immutable; +using Microsoft.CodeAnalysis.PooledObjects; +using Roslyn.Utilities; + +namespace Microsoft.CodeAnalysis.DotnetRuntime.Extensions; + +/// <summary> +/// Simple wrapper class around an immutable array so we can have the value-semantics needed for the incremental +/// generator to know when a change actually happened and it should run later transform stages. +/// </summary> +internal sealed class GlobalAliases : IEquatable<GlobalAliases> +{ + public static readonly GlobalAliases Empty = new(ImmutableArray<(string aliasName, string symbolName)>.Empty); + + public readonly ImmutableArray<(string aliasName, string symbolName)> AliasAndSymbolNames; + + private int _hashCode; + + private GlobalAliases(ImmutableArray<(string aliasName, string symbolName)> aliasAndSymbolNames) + { + AliasAndSymbolNames = aliasAndSymbolNames; + } + + public static GlobalAliases Create(ImmutableArray<(string aliasName, string symbolName)> aliasAndSymbolNames) + { + return aliasAndSymbolNames.IsEmpty ? Empty : new GlobalAliases(aliasAndSymbolNames); + } + + public static GlobalAliases Concat(GlobalAliases ga1, GlobalAliases ga2) + { + if (ga1.AliasAndSymbolNames.Length == 0) + return ga2; + + if (ga2.AliasAndSymbolNames.Length == 0) + return ga1; + + return new(ga1.AliasAndSymbolNames.AddRange(ga2.AliasAndSymbolNames)); + } + + public override int GetHashCode() + { + if (_hashCode == 0) + { + var hashCode = 0; + foreach (var tuple in this.AliasAndSymbolNames) + hashCode = Hash.Combine(tuple.GetHashCode(), hashCode); + + _hashCode = hashCode == 0 ? 1 : hashCode; + } + + return _hashCode; + } + + public override bool Equals(object? obj) + => this.Equals(obj as GlobalAliases); + + public bool Equals(GlobalAliases? aliases) + { + if (aliases is null) + return false; + + if (ReferenceEquals(this, aliases)) + return true; + + if (this.AliasAndSymbolNames == aliases.AliasAndSymbolNames) + return true; + + return this.AliasAndSymbolNames.AsSpan().SequenceEqual(aliases.AliasAndSymbolNames.AsSpan()); + } +} diff --git a/src/ZLogger.Generator/Shims/Hash.cs b/src/ZLogger.Generator/Shims/Hash.cs new file mode 100644 index 00000000..4dd887ac --- /dev/null +++ b/src/ZLogger.Generator/Shims/Hash.cs @@ -0,0 +1,26 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +// Copied from https://github.com/dotnet/runtime/blob/main/src/libraries/Common/src/Roslyn/Hash.cs + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using Microsoft.CodeAnalysis; + +namespace Roslyn.Utilities +{ + internal static class Hash + { + /// <summary> + /// This is how VB Anonymous Types combine hash values for fields. + /// </summary> + internal static int Combine(int newKey, int currentKey) + { + return unchecked((currentKey * (int)0xA5555529) + newKey); + } + + // The rest of this file was removed as they were not currently needed in the polyfill of SyntaxValueProvider.ForAttributeWithMetadataName. + // If that changes, they should be added back as necessary. + } +} diff --git a/src/ZLogger.Generator/Shims/ISyntaxHelper.cs b/src/ZLogger.Generator/Shims/ISyntaxHelper.cs new file mode 100644 index 00000000..76a97045 --- /dev/null +++ b/src/ZLogger.Generator/Shims/ISyntaxHelper.cs @@ -0,0 +1,68 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +// Copied from https://github.com/dotnet/runtime/blob/1473deaa50785b956edd7d078e68c0581c1b4d95/src/libraries/Common/src/Roslyn/ISyntaxHelper.cs + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Linq; + +using Roslyn.Utilities; + +namespace Microsoft.CodeAnalysis.DotnetRuntime.Extensions +{ + internal interface ISyntaxHelper + { + bool IsCaseSensitive { get; } + + bool IsValidIdentifier(string name); + + bool IsAnyNamespaceBlock(SyntaxNode node); + + bool IsAttributeList(SyntaxNode node); + SeparatedSyntaxList<SyntaxNode> GetAttributesOfAttributeList(SyntaxNode node); + + void AddAttributeTargets(SyntaxNode node, ref ValueListBuilder<SyntaxNode> targets); + + bool IsAttribute(SyntaxNode node); + SyntaxNode GetNameOfAttribute(SyntaxNode node); + + bool IsLambdaExpression(SyntaxNode node); + + SyntaxToken GetUnqualifiedIdentifierOfName(SyntaxNode node); + + /// <summary> + /// <paramref name="node"/> must be a compilation unit or namespace block. + /// </summary> + void AddAliases(SyntaxNode node, ref ValueListBuilder<(string aliasName, string symbolName)> aliases, bool global); + void AddAliases(CompilationOptions options, ref ValueListBuilder<(string aliasName, string symbolName)> aliases); + + bool ContainsGlobalAliases(SyntaxNode root); + } + + internal abstract class AbstractSyntaxHelper : ISyntaxHelper + { + public abstract bool IsCaseSensitive { get; } + + public abstract bool IsValidIdentifier(string name); + + public abstract SyntaxToken GetUnqualifiedIdentifierOfName(SyntaxNode name); + + public abstract bool IsAnyNamespaceBlock(SyntaxNode node); + + public abstract bool IsAttribute(SyntaxNode node); + public abstract SyntaxNode GetNameOfAttribute(SyntaxNode node); + + public abstract bool IsAttributeList(SyntaxNode node); + public abstract SeparatedSyntaxList<SyntaxNode> GetAttributesOfAttributeList(SyntaxNode node); + public abstract void AddAttributeTargets(SyntaxNode node, ref ValueListBuilder<SyntaxNode> targets); + + public abstract bool IsLambdaExpression(SyntaxNode node); + + public abstract void AddAliases(SyntaxNode node, ref ValueListBuilder<(string aliasName, string symbolName)> aliases, bool global); + public abstract void AddAliases(CompilationOptions options, ref ValueListBuilder<(string aliasName, string symbolName)> aliases); + + public abstract bool ContainsGlobalAliases(SyntaxNode root); + } +} diff --git a/src/ZLogger.Generator/Shims/ImmutableArrayValueComparer.cs b/src/ZLogger.Generator/Shims/ImmutableArrayValueComparer.cs new file mode 100644 index 00000000..c03764c4 --- /dev/null +++ b/src/ZLogger.Generator/Shims/ImmutableArrayValueComparer.cs @@ -0,0 +1,32 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +// Copied from https://github.com/dotnet/runtime/blob/1473deaa50785b956edd7d078e68c0581c1b4d95/src/libraries/Common/src/Roslyn/SyntaxValueProvider.ImmutableArrayValueComparer.cs + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Linq; +using Roslyn.Utilities; + +namespace Microsoft.CodeAnalysis.DotnetRuntime.Extensions; + +internal static partial class SyntaxValueProviderExtensions +{ + private sealed class ImmutableArrayValueComparer<T> : IEqualityComparer<ImmutableArray<T>> + { + public static readonly IEqualityComparer<ImmutableArray<T>> Instance = new ImmutableArrayValueComparer<T>(); + + public bool Equals(ImmutableArray<T> x, ImmutableArray<T> y) + => x.SequenceEqual(y, EqualityComparer<T>.Default); + + public int GetHashCode(ImmutableArray<T> obj) + { + var hashCode = 0; + foreach (var value in obj) + hashCode = Hash.Combine(hashCode, EqualityComparer<T>.Default.GetHashCode(value!)); + + return hashCode; + } + } +} \ No newline at end of file diff --git a/src/ZLogger.Generator/Shims/SyntaxValueProvider_ForAttributeWithMetadataName.cs b/src/ZLogger.Generator/Shims/SyntaxValueProvider_ForAttributeWithMetadataName.cs new file mode 100644 index 00000000..0da2d9b9 --- /dev/null +++ b/src/ZLogger.Generator/Shims/SyntaxValueProvider_ForAttributeWithMetadataName.cs @@ -0,0 +1,203 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +// Copied from https://github.com/dotnet/runtime/blob/1473deaa50785b956edd7d078e68c0581c1b4d95/src/libraries/Common/src/Roslyn/SyntaxValueProvider_ForAttributeWithMetadataName.cs + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Diagnostics; +using System.Linq; +using System.Threading; + +using Microsoft.CodeAnalysis; + +using Roslyn.Utilities; + +namespace Microsoft.CodeAnalysis.DotnetRuntime.Extensions; + +internal readonly struct GeneratorAttributeSyntaxContext +{ + /// <summary> + /// The syntax node the attribute is attached to. For example, with <c>[CLSCompliant] class C { }</c> this would + /// the class declaration node. + /// </summary> + public SyntaxNode TargetNode { get; } + + /// <summary> + /// The symbol that the attribute is attached to. For example, with <c>[CLSCompliant] class C { }</c> this would be + /// the <see cref="INamedTypeSymbol"/> for <c>"C"</c>. + /// </summary> + public ISymbol TargetSymbol { get; } + + /// <summary> + /// Semantic model for the file that <see cref="TargetNode"/> is contained within. + /// </summary> + public SemanticModel SemanticModel { get; } + + /// <summary> + /// <see cref="AttributeData"/>s for any matching attributes on <see cref="TargetSymbol"/>. Always non-empty. All + /// these attributes will have an <see cref="AttributeData.AttributeClass"/> whose fully qualified name metadata + /// name matches the name requested in <see cref="SyntaxValueProvider.ForAttributeWithMetadataName{T}"/>. + /// <para> + /// To get the entire list of attributes, use <see cref="ISymbol.GetAttributes"/> on <see cref="TargetSymbol"/>. + /// </para> + /// </summary> + public ImmutableArray<AttributeData> Attributes { get; } + + internal GeneratorAttributeSyntaxContext( + SyntaxNode targetNode, + ISymbol targetSymbol, + SemanticModel semanticModel, + ImmutableArray<AttributeData> attributes) + { + TargetNode = targetNode; + TargetSymbol = targetSymbol; + SemanticModel = semanticModel; + Attributes = attributes; + } +} + +internal static partial class SyntaxValueProviderExtensions +{ +#if false + + // Deviation from roslyn. We do not support attributes that are nested or generic. That's ok as that's not a + // scenario that ever arises in our generators. + + private static readonly char[] s_nestedTypeNameSeparators = new char[] { '+' }; + + private static readonly SymbolDisplayFormat s_metadataDisplayFormat = + SymbolDisplayFormat.QualifiedNameArityFormat.AddCompilerInternalOptions(SymbolDisplayCompilerInternalOptions.UsePlusForNestedTypes); + +#endif + + /// <summary> + /// Creates an <see cref="IncrementalValuesProvider{T}"/> that can provide a transform over all <see + /// cref="SyntaxNode"/>s if that node has an attribute on it that binds to a <see cref="INamedTypeSymbol"/> with the + /// same fully-qualified metadata as the provided <paramref name="fullyQualifiedMetadataName"/>. <paramref + /// name="fullyQualifiedMetadataName"/> should be the fully-qualified, metadata name of the attribute, including the + /// <c>Attribute</c> suffix. For example <c>"System.CLSCompliantAttribute</c> for <see + /// cref="System.CLSCompliantAttribute"/>. + /// </summary> + /// <param name="predicate">A function that determines if the given <see cref="SyntaxNode"/> attribute target (<see + /// cref="GeneratorAttributeSyntaxContext.TargetNode"/>) should be transformed. Nodes that do not pass this + /// predicate will not have their attributes looked at at all.</param> + /// <param name="transform">A function that performs the transform. This will only be passed nodes that return <see + /// langword="true"/> for <paramref name="predicate"/> and which have a matching <see cref="AttributeData"/> whose + /// <see cref="AttributeData.AttributeClass"/> has the same fully qualified, metadata name as <paramref + /// name="fullyQualifiedMetadataName"/>.</param> + public static IncrementalValuesProvider<T> ForAttributeWithMetadataName<T>( + this SyntaxValueProvider @this, + IncrementalGeneratorInitializationContext context, + string fullyQualifiedMetadataName, + Func<SyntaxNode, CancellationToken, bool> predicate, + Func<GeneratorAttributeSyntaxContext, CancellationToken, T> transform) + { +#if false + + // Deviation from roslyn. We do not support attributes that are nested or generic. That's ok as that's not a + // scenario that ever arises in our generators. + + var metadataName = fullyQualifiedMetadataName.Contains('+') + ? MetadataTypeName.FromFullName(fullyQualifiedMetadataName.Split(s_nestedTypeNameSeparators).Last()) + : MetadataTypeName.FromFullName(fullyQualifiedMetadataName); + + var nodesWithAttributesMatchingSimpleName = @this.ForAttributeWithSimpleName(context, metadataName.UnmangledTypeName, predicate); + +#else + + var lastDotIndex = fullyQualifiedMetadataName.LastIndexOf('.'); + Debug.Assert(lastDotIndex > 0); + var unmangledTypeName = fullyQualifiedMetadataName.Substring(lastDotIndex + 1); + + var nodesWithAttributesMatchingSimpleName = @this.ForAttributeWithSimpleName(context, unmangledTypeName, predicate); + +#endif + + var compilationAndGroupedNodesProvider = nodesWithAttributesMatchingSimpleName + .Combine(context.CompilationProvider) + /*.WithTrackingName("compilationAndGroupedNodes_ForAttributeWithMetadataName")*/; + + var syntaxHelper = CSharpSyntaxHelper.Instance; + var finalProvider = compilationAndGroupedNodesProvider.SelectMany((tuple, cancellationToken) => + { + var ((syntaxTree, syntaxNodes), compilation) = tuple; + Debug.Assert(syntaxNodes.All(n => n.SyntaxTree == syntaxTree)); + + using var result = new ValueListBuilder<T>(Span<T>.Empty); + if (!syntaxNodes.IsEmpty) + { + var semanticModel = compilation.GetSemanticModel(syntaxTree); + + foreach (var targetNode in syntaxNodes) + { + cancellationToken.ThrowIfCancellationRequested(); + + var targetSymbol = + targetNode is ICompilationUnitSyntax compilationUnit ? semanticModel.Compilation.Assembly : + syntaxHelper.IsLambdaExpression(targetNode) ? semanticModel.GetSymbolInfo(targetNode, cancellationToken).Symbol : + semanticModel.GetDeclaredSymbol(targetNode, cancellationToken); + if (targetSymbol is null) + continue; + + var attributes = getMatchingAttributes(targetNode, targetSymbol, fullyQualifiedMetadataName); + if (attributes.Length > 0) + { + result.Append(transform( + new GeneratorAttributeSyntaxContext(targetNode, targetSymbol, semanticModel, attributes), + cancellationToken)); + } + } + } + + return result.AsSpan().ToImmutableArray(); + })/*.WithTrackingName("result_ForAttributeWithMetadataName")*/; + + return finalProvider; + + static ImmutableArray<AttributeData> getMatchingAttributes( + SyntaxNode attributeTarget, + ISymbol symbol, + string fullyQualifiedMetadataName) + { + var targetSyntaxTree = attributeTarget.SyntaxTree; + var result = new ValueListBuilder<AttributeData>(Span<AttributeData>.Empty); + + try + { + addMatchingAttributes(ref result, symbol.GetAttributes()); + addMatchingAttributes(ref result, (symbol as IMethodSymbol)?.GetReturnTypeAttributes()); + + if (symbol is IAssemblySymbol assemblySymbol) + { + foreach (var module in assemblySymbol.Modules) + addMatchingAttributes(ref result, module.GetAttributes()); + } + + return result.AsSpan().ToImmutableArray(); + } + finally + { + result.Dispose(); + } + + void addMatchingAttributes( + ref ValueListBuilder<AttributeData> result, + ImmutableArray<AttributeData>? attributes) + { + if (!attributes.HasValue) + return; + + foreach (var attribute in attributes.Value) + { + if (attribute.ApplicationSyntaxReference?.SyntaxTree == targetSyntaxTree && + attribute.AttributeClass?.ToDisplayString(/*s_metadataDisplayFormat*/) == fullyQualifiedMetadataName) + { + result.Append(attribute); + } + } + } + } + } +} diff --git a/src/ZLogger.Generator/Shims/SyntaxValueProvider_ForAttributeWithSimpleName.cs b/src/ZLogger.Generator/Shims/SyntaxValueProvider_ForAttributeWithSimpleName.cs new file mode 100644 index 00000000..193f8dd4 --- /dev/null +++ b/src/ZLogger.Generator/Shims/SyntaxValueProvider_ForAttributeWithSimpleName.cs @@ -0,0 +1,455 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +// Copied from https://github.com/dotnet/runtime/blob/1473deaa50785b956edd7d078e68c0581c1b4d95/src/libraries/Common/src/Roslyn/SyntaxValueProvider_ForAttributeWithSimpleName.cs + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Diagnostics; +using System.Linq; +using System.Runtime.CompilerServices; +using System.Threading; + +using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.CSharp; +using Aliases = System.Collections.Generic.ValueListBuilder<(string aliasName, string symbolName)>; + +namespace Microsoft.CodeAnalysis.DotnetRuntime.Extensions; + +internal static partial class SyntaxValueProviderExtensions +{ + // Normal class as Runtime does not seem to support records currently. + + /// <summary> + /// Information computed about a particular tree. Cached so we don't repeatedly recompute this important + /// information each time the incremental pipeline is rerun. + /// </summary> + private sealed class SyntaxTreeInfo : IEquatable<SyntaxTreeInfo> + { + public readonly SyntaxTree Tree; + public readonly bool ContainsGlobalAliases; + public readonly bool ContainsAttributeList; + + public SyntaxTreeInfo(SyntaxTree tree, bool containsGlobalAliases, bool containsAttributeList) + { + Tree = tree; + ContainsGlobalAliases = containsGlobalAliases; + ContainsAttributeList = containsAttributeList; + } + + public bool Equals(SyntaxTreeInfo? other) + => Tree == other?.Tree; + + public override bool Equals(object? obj) + => this.Equals(obj as SyntaxTreeInfo); + + public override int GetHashCode() + => Tree.GetHashCode(); + } + + /// <summary> + /// Caching of syntax-tree to the info we've computed about it. Used because compilations will have thousands of + /// trees, and the incremental pipeline will get called back for *all* of them each time a compilation changes. We + /// do not want to continually recompute this data over and over again each time that happens given that normally + /// only one tree will be different. We also do not want to create an IncrementalValuesProvider that yield this + /// information as that will mean we have a node in the tree that scales with the number of *all syntax trees*, not + /// the number of *relevant syntax trees*. This can lead to huge memory churn keeping track of a high number of + /// trees, most of which are not going to be relevant. + /// </summary> + private static readonly ConditionalWeakTable<SyntaxTree, SyntaxTreeInfo> s_treeToInfo = new ConditionalWeakTable<SyntaxTree, SyntaxTreeInfo>(); + +#if false + // Not used in runtime. Pooling is not a pattern here, and we use ValueListBuilder instead. + + private static readonly ObjectPool<Stack<string>> s_stackPool = new(static () => new()); +#endif + + /// <summary> + /// Returns all syntax nodes of that match <paramref name="predicate"/> if that node has an attribute on it that + /// could possibly bind to the provided <paramref name="simpleName"/>. <paramref name="simpleName"/> should be the + /// simple, non-qualified, name of the attribute, including the <c>Attribute</c> suffix, and not containing any + /// generics, containing types, or namespaces. For example <c>CLSCompliantAttribute</c> for <see + /// cref="System.CLSCompliantAttribute"/>. + /// <para/> This provider understands <see langword="using"/> (<c>Import</c> in Visual Basic) aliases and will find + /// matches even when the attribute references an alias name. For example, given: + /// <code> + /// using XAttribute = System.CLSCompliantAttribute; + /// [X] + /// class C { } + /// </code> + /// Then + /// <c>context.SyntaxProvider.CreateSyntaxProviderForAttribute(nameof(CLSCompliantAttribute), (node, c) => node is ClassDeclarationSyntax)</c> + /// will find the <c>C</c> class. + /// </summary> + /// <remarks> + /// Note: a 'Values'-provider of arrays are returned. Each array provides all the matching nodes from a single <see + /// cref="SyntaxTree"/>. + /// </remarks> + public static IncrementalValuesProvider<(SyntaxTree tree, ImmutableArray<SyntaxNode> matches)> ForAttributeWithSimpleName( + this SyntaxValueProvider @this, + IncrementalGeneratorInitializationContext context, + string simpleName, + Func<SyntaxNode, CancellationToken, bool> predicate) + { + var syntaxHelper = CSharpSyntaxHelper.Instance; + + // Create a provider over all the syntax trees in the compilation. This is better than CreateSyntaxProvider as + // using SyntaxTrees is purely syntax and will not update the incremental node for a tree when another tree is + // changed. CreateSyntaxProvider will have to rerun all incremental nodes since it passes along the + // SemanticModel, and that model is updated whenever any tree changes (since it is tied to the compilation). + var syntaxTreesProvider = context.CompilationProvider + .SelectMany((compilation, cancellationToken) => compilation.SyntaxTrees + .Select(tree => GetTreeInfo(tree, syntaxHelper, cancellationToken)) + .Where(info => info.ContainsGlobalAliases || info.ContainsAttributeList)) + /*.WithTrackingName("compilationUnit_ForAttribute")*/; + + // Create a provider that provides (and updates) the global aliases for any particular file when it is edited. + var individualFileGlobalAliasesProvider = syntaxTreesProvider + .Where(info => info.ContainsGlobalAliases) + .Select((info, cancellationToken) => getGlobalAliasesInCompilationUnit(info.Tree.GetRoot(cancellationToken))) + /*.WithTrackingName("individualFileGlobalAliases_ForAttribute")*/; + + // Create an aggregated view of all global aliases across all files. This should only update when an individual + // file changes its global aliases or a file is added / removed from the compilation + var collectedGlobalAliasesProvider = individualFileGlobalAliasesProvider + .Collect() + .WithComparer(ImmutableArrayValueComparer<GlobalAliases>.Instance) + /*.WithTrackingName("collectedGlobalAliases_ForAttribute")*/; + + var allUpGlobalAliasesProvider = collectedGlobalAliasesProvider + .Select(static (arrays, _) => GlobalAliases.Create(arrays.SelectMany(a => a.AliasAndSymbolNames).ToImmutableArray())) + /*.WithTrackingName("allUpGlobalAliases_ForAttribute")*/; + +#if false + + // C# does not support global aliases from compilation options. So we can just ignore this part. + + // Regenerate our data if the compilation options changed. VB can supply global aliases with compilation options, + // so we have to reanalyze everything if those changed. + var compilationGlobalAliases = _context.CompilationOptionsProvider.Select( + (o, _) => + { + var aliases = Aliases.GetInstance(); + syntaxHelper.AddAliases(o, aliases); + return GlobalAliases.Create(aliases.ToImmutableAndFree()); + }).WithTrackingName("compilationGlobalAliases_ForAttribute"); + + allUpGlobalAliasesProvider = allUpGlobalAliasesProvider + .Combine(compilationGlobalAliases) + .Select((tuple, _) => GlobalAliases.Concat(tuple.Left, tuple.Right)) + .WithTrackingName("allUpIncludingCompilationGlobalAliases_ForAttribute"); + +#endif + + // Combine the two providers so that we reanalyze every file if the global aliases change, or we reanalyze a + // particular file when it's compilation unit changes. + var syntaxTreeAndGlobalAliasesProvider = syntaxTreesProvider + .Where(info => info.ContainsAttributeList) + .Combine(allUpGlobalAliasesProvider) + /*.WithTrackingName("compilationUnitAndGlobalAliases_ForAttribute")*/; + + // For each pair of compilation unit + global aliases, walk the compilation unit + var result = syntaxTreeAndGlobalAliasesProvider + .Select((tuple, c) => (tuple.Left.Tree, GetMatchingNodes(syntaxHelper, tuple.Right, tuple.Left.Tree, simpleName, predicate, c))) + .Where(tuple => tuple.Item2.Length > 0) + /*.WithTrackingName("result_ForAttribute")*/; + + return result; + + static GlobalAliases getGlobalAliasesInCompilationUnit( + SyntaxNode compilationUnit) + { + Debug.Assert(compilationUnit is ICompilationUnitSyntax); + var globalAliases = new Aliases(Span<(string aliasName, string symbolName)>.Empty); + + CSharpSyntaxHelper.Instance.AddAliases(compilationUnit, ref globalAliases, global: true); + + return GlobalAliases.Create(globalAliases.AsSpan().ToImmutableArray()); + } + } + + private static SyntaxTreeInfo GetTreeInfo( + SyntaxTree tree, ISyntaxHelper syntaxHelper, CancellationToken cancellationToken) + { + // prevent captures for the case where the item is in the tree. + return s_treeToInfo.TryGetValue(tree, out var info) + ? info + : computeTreeInfo(); + + SyntaxTreeInfo computeTreeInfo() + { + var root = tree.GetRoot(cancellationToken); + var containsGlobalAliases = syntaxHelper.ContainsGlobalAliases(root); + var containsAttributeList = ContainsAttributeList(root); + + var info = new SyntaxTreeInfo(tree, containsGlobalAliases, containsAttributeList); + return s_treeToInfo.GetValue(tree, _ => info); + } + } + + private static ImmutableArray<SyntaxNode> GetMatchingNodes( + ISyntaxHelper syntaxHelper, + GlobalAliases globalAliases, + SyntaxTree syntaxTree, + string name, + Func<SyntaxNode, CancellationToken, bool> predicate, + CancellationToken cancellationToken) + { + var compilationUnit = syntaxTree.GetRoot(cancellationToken); + Debug.Assert(compilationUnit is ICompilationUnitSyntax); + + var isCaseSensitive = syntaxHelper.IsCaseSensitive; + var comparison = isCaseSensitive ? StringComparison.Ordinal : StringComparison.OrdinalIgnoreCase; + + // As we walk down the compilation unit and nested namespaces, we may encounter additional using aliases local + // to this file. Keep track of them so we can determine if they would allow an attribute in code to bind to the + // attribute being searched for. + var localAliases = new Aliases(Span<(string, string)>.Empty); + var nameHasAttributeSuffix = name.HasAttributeSuffix(isCaseSensitive); + + // Used to ensure that as we recurse through alias names to see if they could bind to attributeName that we + // don't get into cycles. + + var seenNames = new ValueListBuilder<string>(Span<string>.Empty); + var results = new ValueListBuilder<SyntaxNode>(Span<SyntaxNode>.Empty); + var attributeTargets = new ValueListBuilder<SyntaxNode>(Span<SyntaxNode>.Empty); + + try + { + processCompilationUnit(compilationUnit, ref localAliases, ref seenNames, ref results, ref attributeTargets); + + if (results.Length == 0) + return ImmutableArray<SyntaxNode>.Empty; + + return results.AsSpan().ToArray().Distinct().ToImmutableArray(); + } + finally + { + attributeTargets.Dispose(); + results.Dispose(); + seenNames.Dispose(); + } + + void processCompilationUnit( + SyntaxNode compilationUnit, + ref Aliases localAliases, + ref ValueListBuilder<string> seenNames, + ref ValueListBuilder<SyntaxNode> results, + ref ValueListBuilder<SyntaxNode> attributeTargets) + { + cancellationToken.ThrowIfCancellationRequested(); + + syntaxHelper.AddAliases(compilationUnit, ref localAliases, global: false); + + processCompilationOrNamespaceMembers(compilationUnit, ref localAliases, ref seenNames, ref results, ref attributeTargets); + } + + void processCompilationOrNamespaceMembers( + SyntaxNode node, + ref Aliases localAliases, + ref ValueListBuilder<string> seenNames, + ref ValueListBuilder<SyntaxNode> results, + ref ValueListBuilder<SyntaxNode> attributeTargets) + { + cancellationToken.ThrowIfCancellationRequested(); + + foreach (var child in node.ChildNodesAndTokens()) + { + if (child.IsNode) + { + var childNode = child.AsNode()!; + if (syntaxHelper.IsAnyNamespaceBlock(childNode)) + processNamespaceBlock(childNode, ref localAliases, ref seenNames, ref results, ref attributeTargets); + else + processMember(childNode, ref localAliases, ref seenNames, ref results, ref attributeTargets); + } + } + } + + void processNamespaceBlock( + SyntaxNode namespaceBlock, + ref Aliases localAliases, + ref ValueListBuilder<string> seenNames, + ref ValueListBuilder<SyntaxNode> results, + ref ValueListBuilder<SyntaxNode> attributeTargets) + { + cancellationToken.ThrowIfCancellationRequested(); + + var localAliasCount = localAliases.Length; + syntaxHelper.AddAliases(namespaceBlock, ref localAliases, global: false); + + processCompilationOrNamespaceMembers( + namespaceBlock, ref localAliases, ref seenNames, ref results, ref attributeTargets); + + // after recursing into this namespace, dump any local aliases we added from this namespace decl itself. + localAliases.Length = localAliasCount; + } + + void processMember( + SyntaxNode member, + ref Aliases localAliases, + ref ValueListBuilder<string> seenNames, + ref ValueListBuilder<SyntaxNode> results, + ref ValueListBuilder<SyntaxNode> attributeTargets) + { + cancellationToken.ThrowIfCancellationRequested(); + + // nodes can be arbitrarily deep. Use an explicit stack over recursion to prevent a stack-overflow. + var nodeStack = new ValueListBuilder<SyntaxNode>(Span<SyntaxNode>.Empty); + nodeStack.Append(member); + + try + { + while (nodeStack.Length > 0) + { + var node = nodeStack.Pop(); + + if (syntaxHelper.IsAttributeList(node)) + { + foreach (var attribute in syntaxHelper.GetAttributesOfAttributeList(node)) + { + // Have to lookup both with the name in the attribute, as well as adding the 'Attribute' suffix. + // e.g. if there is [X] then we have to lookup with X and with XAttribute. + var simpleAttributeName = syntaxHelper.GetUnqualifiedIdentifierOfName( + syntaxHelper.GetNameOfAttribute(attribute)).ValueText; + if (matchesAttributeName(ref localAliases, ref seenNames, simpleAttributeName, withAttributeSuffix: false) || + matchesAttributeName(ref localAliases, ref seenNames, simpleAttributeName, withAttributeSuffix: true)) + { + attributeTargets.Length = 0; + syntaxHelper.AddAttributeTargets(node, ref attributeTargets); + + foreach (var target in attributeTargets.AsSpan()) + { + if (predicate(target, cancellationToken)) + results.Append(target); + } + + break; + } + } + + // attributes can't have attributes inside of them. so no need to recurse when we're done. + } + else + { + // For any other node, just keep recursing deeper to see if we can find an attribute. Note: we cannot + // terminate the search anywhere as attributes may be found on things like local functions, and that + // means having to dive deep into statements and expressions. + var childNodesAndTokens = node.ChildNodesAndTokens(); + + // Avoid performance issue in ChildSyntaxList when iterating the child list in reverse + // (see https://github.com/dotnet/roslyn/issues/66475) by iterating forward first to + // ensure child nodes are realized. + foreach (var childNode in childNodesAndTokens) + { + } + + foreach (var child in childNodesAndTokens.Reverse()) + { + if (child.IsNode) + nodeStack.Append(child.AsNode()!); + } + } + + } + } + finally + { + nodeStack.Dispose(); + } + } + + // Checks if `name` is equal to `matchAgainst`. if `withAttributeSuffix` is true, then + // will check if `name` + "Attribute" is equal to `matchAgainst` + bool matchesName(string name, string matchAgainst, bool withAttributeSuffix) + { + if (withAttributeSuffix) + { + return name.Length + "Attribute".Length == matchAgainst.Length && + matchAgainst.HasAttributeSuffix(isCaseSensitive) && + matchAgainst.StartsWith(name, comparison); + } + else + { + return name.Equals(matchAgainst, comparison); + } + } + + bool matchesAttributeName( + ref Aliases localAliases, + ref ValueListBuilder<string> seenNames, + string currentAttributeName, + bool withAttributeSuffix) + { + // If the names match, we're done. + if (withAttributeSuffix) + { + if (nameHasAttributeSuffix && + matchesName(currentAttributeName, name, withAttributeSuffix)) + { + return true; + } + } + else + { + if (matchesName(currentAttributeName, name, withAttributeSuffix: false)) + return true; + } + + // Otherwise, keep searching through aliases. Check that this is the first time seeing this name so we + // don't infinite recurse in error code where aliases reference each other. + // + // note: as we recurse up the aliases, we do not want to add the attribute suffix anymore. aliases must + // reference the actual real name of the symbol they are aliasing. + foreach (var seenName in seenNames.AsSpan()) + { + if (seenName == currentAttributeName) + return false; + } + + seenNames.Append(currentAttributeName); + + foreach (var (aliasName, symbolName) in localAliases.AsSpan()) + { + // see if user wrote `[SomeAlias]`. If so, if we find a `using SomeAlias = ...` recurse using the + // ... name portion to see if it might bind to the attr name the caller is searching for. + if (matchesName(currentAttributeName, aliasName, withAttributeSuffix) && + matchesAttributeName(ref localAliases, ref seenNames, symbolName, withAttributeSuffix: false)) + { + return true; + } + } + + foreach (var (aliasName, symbolName) in globalAliases.AliasAndSymbolNames) + { + if (matchesName(currentAttributeName, aliasName, withAttributeSuffix) && + matchesAttributeName(ref localAliases, ref seenNames, symbolName, withAttributeSuffix: false)) + { + return true; + } + } + + seenNames.Pop(); + return false; + } + } + + private static bool ContainsAttributeList(SyntaxNode node) + { + if (node.IsKind(SyntaxKind.AttributeList)) + return true; + + foreach (SyntaxNodeOrToken child in node.ChildNodesAndTokens()) + { + if (child.IsToken) + continue; + + SyntaxNode? childNode = child.AsNode()!; + if (ContainsAttributeList(childNode)) + return true; + } + + return false; + } +} diff --git a/src/ZLogger.Generator/Shims/ValueListHelper.cs b/src/ZLogger.Generator/Shims/ValueListHelper.cs new file mode 100644 index 00000000..1c4dc11a --- /dev/null +++ b/src/ZLogger.Generator/Shims/ValueListHelper.cs @@ -0,0 +1,213 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +// Copied from https://github.com/dotnet/runtime/blob/1473deaa50785b956edd7d078e68c0581c1b4d95/src/libraries/System.Private.CoreLib/src/System/Collections/Generic/ValueListBuilder.cs + +using System.Buffers; +using System.Diagnostics; +using System.Runtime.CompilerServices; + +namespace System.Collections.Generic +{ + internal ref partial struct ValueListBuilder<T> + { + private Span<T> _span; + private T[]? _arrayFromPool; + private int _pos; + + public ValueListBuilder(Span<T> initialSpan) + { + _span = initialSpan; + _arrayFromPool = null; + _pos = 0; + } + + public int Length + { + get => _pos; + set + { + Debug.Assert(value >= 0); + Debug.Assert(value <= _span.Length); + _pos = value; + } + } + + public ref T this[int index] + { + get + { + Debug.Assert(index < _pos); + return ref _span[index]; + } + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Append(T item) + { + int pos = _pos; + + // Workaround for https://github.com/dotnet/runtime/issues/72004 + Span<T> span = _span; + if ((uint)pos < (uint)span.Length) + { + span[pos] = item; + _pos = pos + 1; + } + else + { + AddWithResize(item); + } + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Append(scoped ReadOnlySpan<T> source) + { + int pos = _pos; + Span<T> span = _span; + if (source.Length == 1 && (uint)pos < (uint)span.Length) + { + span[pos] = source[0]; + _pos = pos + 1; + } + else + { + AppendMultiChar(source); + } + } + + [MethodImpl(MethodImplOptions.NoInlining)] + private void AppendMultiChar(scoped ReadOnlySpan<T> source) + { + if ((uint)(_pos + source.Length) > (uint)_span.Length) + { + Grow(_span.Length - _pos + source.Length); + } + + source.CopyTo(_span.Slice(_pos)); + _pos += source.Length; + } + + public void Insert(int index, scoped ReadOnlySpan<T> source) + { + Debug.Assert(index >= 0 && index <= _pos); + + if ((uint)(_pos + source.Length) > (uint)_span.Length) + { + Grow(source.Length); + } + + _span.Slice(0, _pos).CopyTo(_span.Slice(source.Length)); + source.CopyTo(_span); + _pos += source.Length; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public Span<T> AppendSpan(int length) + { + Debug.Assert(length >= 0); + + int pos = _pos; + Span<T> span = _span; + if ((ulong)(uint)pos + (ulong)(uint)length <= (ulong)(uint)span.Length) // same guard condition as in Span<T>.Slice on 64-bit + { + _pos = pos + length; + return span.Slice(pos, length); + } + else + { + return AppendSpanWithGrow(length); + } + } + + [MethodImpl(MethodImplOptions.NoInlining)] + private Span<T> AppendSpanWithGrow(int length) + { + int pos = _pos; + Grow(_span.Length - pos + length); + _pos += length; + return _span.Slice(pos, length); + } + + // Hide uncommon path + [MethodImpl(MethodImplOptions.NoInlining)] + private void AddWithResize(T item) + { + Debug.Assert(_pos == _span.Length); + int pos = _pos; + Grow(1); + _span[pos] = item; + _pos = pos + 1; + } + + public ReadOnlySpan<T> AsSpan() + { + return _span.Slice(0, _pos); + } + + public bool TryCopyTo(Span<T> destination, out int itemsWritten) + { + if (_span.Slice(0, _pos).TryCopyTo(destination)) + { + itemsWritten = _pos; + return true; + } + + itemsWritten = 0; + return false; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public T Pop() + { + _pos--; + return _span[_pos]; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Dispose() + { + T[]? toReturn = _arrayFromPool; + if (toReturn != null) + { + _arrayFromPool = null; + ArrayPool<T>.Shared.Return(toReturn); + } + } + + // Note that consuming implementations depend on the list only growing if it's absolutely + // required. If the list is already large enough to hold the additional items be added, + // it must not grow. The list is used in a number of places where the reference is checked + // and it's expected to match the initial reference provided to the constructor if that + // span was sufficiently large. + private void Grow(int additionalCapacityRequired = 1) + { + const int ArrayMaxLength = 0x7FFFFFC7; // same as Array.MaxLength + + // Double the size of the span. If it's currently empty, default to size 4, + // although it'll be increased in Rent to the pool's minimum bucket size. + int nextCapacity = Math.Max(_span.Length != 0 ? _span.Length * 2 : 4, _span.Length + additionalCapacityRequired); + + // If the computed doubled capacity exceeds the possible length of an array, then we + // want to downgrade to either the maximum array length if that's large enough to hold + // an additional item, or the current length + 1 if it's larger than the max length, in + // which case it'll result in an OOM when calling Rent below. In the exceedingly rare + // case where _span.Length is already int.MaxValue (in which case it couldn't be a managed + // array), just use that same value again and let it OOM in Rent as well. + if ((uint)nextCapacity > ArrayMaxLength) + { + nextCapacity = Math.Max(Math.Max(_span.Length + 1, ArrayMaxLength), _span.Length); + } + + T[] array = ArrayPool<T>.Shared.Rent(nextCapacity); + _span.CopyTo(array); + + T[]? toReturn = _arrayFromPool; + _span = _arrayFromPool = array; + if (toReturn != null) + { + ArrayPool<T>.Shared.Return(toReturn); + } + } + } +} \ No newline at end of file diff --git a/src/ZLogger.Generator/ZLogger.Generator.csproj b/src/ZLogger.Generator/ZLogger.Generator.csproj index a63d7fa9..7f1239c9 100644 --- a/src/ZLogger.Generator/ZLogger.Generator.csproj +++ b/src/ZLogger.Generator/ZLogger.Generator.csproj @@ -26,7 +26,8 @@ <!-- https://learn.microsoft.com/en-us/visualstudio/extensibility/roslyn-version-support?view=vs-2022 --> <!-- require to support SyntaxValueProvider.ForAttributeWithMetadataName(Roslyn 4.3.1, VS2022 17.3 --> - <PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.3.1" PrivateAssets="all" /> + <!-- Unity 2022.2 or newer is 4.1.0. --> + <PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.1.0" PrivateAssets="all" /> <PackageReference Include="Microsoft.CodeAnalysis.Analyzers" Version="3.3.3"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> diff --git a/src/ZLogger.Generator/ZLoggerGenerator.Parser.cs b/src/ZLogger.Generator/ZLoggerGenerator.Parser.cs index 5c536741..82e00b5d 100644 --- a/src/ZLogger.Generator/ZLoggerGenerator.Parser.cs +++ b/src/ZLogger.Generator/ZLoggerGenerator.Parser.cs @@ -2,6 +2,7 @@ using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; using System.Collections.Immutable; +using Microsoft.CodeAnalysis.DotnetRuntime.Extensions; namespace ZLogger.Generator; diff --git a/src/ZLogger.Generator/ZLoggerGenerator.cs b/src/ZLogger.Generator/ZLoggerGenerator.cs index ba2fe4c0..2da548e5 100644 --- a/src/ZLogger.Generator/ZLoggerGenerator.cs +++ b/src/ZLogger.Generator/ZLoggerGenerator.cs @@ -1,6 +1,7 @@ using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp.Syntax; using System.Collections.Immutable; +using Microsoft.CodeAnalysis.DotnetRuntime.Extensions; namespace ZLogger.Generator; @@ -12,6 +13,7 @@ public partial class ZLoggerGenerator : IIncrementalGenerator public void Initialize(IncrementalGeneratorInitializationContext context) { var source = context.SyntaxProvider.ForAttributeWithMetadataName( + context, "ZLogger.ZLoggerMessageAttribute", static (node, token) => node is MethodDeclarationSyntax, static (context, token) => context); From 99b55e387b161b10c44d6b35afd1065072d4c302 Mon Sep 17 00:00:00 2001 From: hadashiA <dev@hadashikick.jp> Date: Fri, 15 Dec 2023 14:52:40 +0900 Subject: [PATCH 5/8] Change supported unity version to 2022.3.12f1 --- .../ZLogger.Generator.csproj | 2 +- .../Assets/Sample/SampleBehaviour.cs | 8 + src/ZLogger.Unity/Assets/Tests/Shims.cs | 6 +- .../Assets/ZLogger.Unity/Runtime/package.json | 9 - .../Assets/ZLogger.Unity/package.json | 10 + .../{Runtime => }/package.json.meta | 0 src/ZLogger.Unity/Assets/csc.rsp | 2 +- .../ProjectSettings/ProjectSettings.asset | 17 +- .../ProjectSettings/ProjectVersion.txt | 4 +- .../UserSettings/Layouts/default-2022.dwlt | 3509 ++--------------- 10 files changed, 453 insertions(+), 3114 deletions(-) delete mode 100644 src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/package.json create mode 100644 src/ZLogger.Unity/Assets/ZLogger.Unity/package.json rename src/ZLogger.Unity/Assets/ZLogger.Unity/{Runtime => }/package.json.meta (100%) diff --git a/src/ZLogger.Generator/ZLogger.Generator.csproj b/src/ZLogger.Generator/ZLogger.Generator.csproj index 7f1239c9..94a7f64d 100644 --- a/src/ZLogger.Generator/ZLogger.Generator.csproj +++ b/src/ZLogger.Generator/ZLogger.Generator.csproj @@ -27,7 +27,7 @@ <!-- https://learn.microsoft.com/en-us/visualstudio/extensibility/roslyn-version-support?view=vs-2022 --> <!-- require to support SyntaxValueProvider.ForAttributeWithMetadataName(Roslyn 4.3.1, VS2022 17.3 --> <!-- Unity 2022.2 or newer is 4.1.0. --> - <PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.1.0" PrivateAssets="all" /> + <PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.3.0" PrivateAssets="all" /> <PackageReference Include="Microsoft.CodeAnalysis.Analyzers" Version="3.3.3"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> diff --git a/src/ZLogger.Unity/Assets/Sample/SampleBehaviour.cs b/src/ZLogger.Unity/Assets/Sample/SampleBehaviour.cs index 3bd2631b..965ae367 100644 --- a/src/ZLogger.Unity/Assets/Sample/SampleBehaviour.cs +++ b/src/ZLogger.Unity/Assets/Sample/SampleBehaviour.cs @@ -2,7 +2,13 @@ using UnityEngine; using ZLogger; using ZLogger.Unity; +using ILogger = Microsoft.Extensions.Logging.ILogger; +public static partial class Log +{ + [ZLoggerMessage(LogLevel.Information, "Could not open socket to {hostName} {ipAddress}.")] + public static partial void Hello(this ILogger logger, string hostName, string ipAddress); +} public class SampleBehaviour : MonoBehaviour { @@ -35,5 +41,7 @@ void Start() { logger.ZLogInformation($"@@@@@@@@ Hello {name}"); } + + logger.Hello("example.com", "111.111.111.111"); } } diff --git a/src/ZLogger.Unity/Assets/Tests/Shims.cs b/src/ZLogger.Unity/Assets/Tests/Shims.cs index 78139ca4..47c6f0aa 100644 --- a/src/ZLogger.Unity/Assets/Tests/Shims.cs +++ b/src/ZLogger.Unity/Assets/Tests/Shims.cs @@ -25,7 +25,7 @@ public static Bool Should(this bool value) return new Bool(value); } - public static String Should(this string value) + public static String Should(this string? value) { return new String(value); } @@ -134,9 +134,9 @@ public void BeCloseTo(int expected, int delta) public class String { - readonly string actual; + readonly string? actual; - public String(string value) + public String(string? value) { actual = value; } diff --git a/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/package.json b/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/package.json deleted file mode 100644 index 8e92326d..00000000 --- a/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "com.cysharp.zlogger", - "version": "2.0.0", - "author": { "name": "Cysharp, Inc.", "url": "https://cysharp.co.jp/en/" }, - "displayName": "ZLogger", - "description": "Zero Allocation Text/Structured Logger for .NET with StringInterpolation and Source Generator, built on top of a Microsoft.Extensions.Logging.", - "unity": "2022.2", - "license": "MIT" -} diff --git a/src/ZLogger.Unity/Assets/ZLogger.Unity/package.json b/src/ZLogger.Unity/Assets/ZLogger.Unity/package.json new file mode 100644 index 00000000..5aba1a9f --- /dev/null +++ b/src/ZLogger.Unity/Assets/ZLogger.Unity/package.json @@ -0,0 +1,10 @@ +{ + "name": "com.cysharp.zlogger", + "version": "2.0.0", + "author": { "name": "Cysharp, Inc.", "url": "https://cysharp.co.jp/en/" }, + "displayName": "ZLogger", + "description": "ZLogger unity extensions", + "unity": "2022.3", + "unityRelease": "12f1", + "license": "MIT" +} diff --git a/src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/package.json.meta b/src/ZLogger.Unity/Assets/ZLogger.Unity/package.json.meta similarity index 100% rename from src/ZLogger.Unity/Assets/ZLogger.Unity/Runtime/package.json.meta rename to src/ZLogger.Unity/Assets/ZLogger.Unity/package.json.meta diff --git a/src/ZLogger.Unity/Assets/csc.rsp b/src/ZLogger.Unity/Assets/csc.rsp index f712c6f6..4b8c3e45 100644 --- a/src/ZLogger.Unity/Assets/csc.rsp +++ b/src/ZLogger.Unity/Assets/csc.rsp @@ -1 +1 @@ --langVersion:10 -nullable \ No newline at end of file +-langVersion:preview -nullable \ No newline at end of file diff --git a/src/ZLogger.Unity/ProjectSettings/ProjectSettings.asset b/src/ZLogger.Unity/ProjectSettings/ProjectSettings.asset index 54739547..a9ab7fa8 100644 --- a/src/ZLogger.Unity/ProjectSettings/ProjectSettings.asset +++ b/src/ZLogger.Unity/ProjectSettings/ProjectSettings.asset @@ -48,6 +48,7 @@ PlayerSettings: defaultScreenHeightWeb: 600 m_StereoRenderingPath: 0 m_ActiveColorSpace: 0 + unsupportedMSAAFallback: 0 m_SpriteBatchVertexThreshold: 300 m_MTRendering: 1 mipStripping: 0 @@ -86,6 +87,7 @@ PlayerSettings: hideHomeButton: 0 submitAnalytics: 1 usePlayerLog: 1 + dedicatedServerOptimizations: 0 bakeCollisionMeshes: 0 forceSingleInstance: 0 useFlipModelSwapchain: 1 @@ -125,6 +127,7 @@ PlayerSettings: switchNVNMaxPublicTextureIDCount: 0 switchNVNMaxPublicSamplerIDCount: 0 switchNVNGraphicsFirmwareMemory: 32 + switchMaxWorkerMultiple: 8 stadiaPresentMode: 0 stadiaTargetFramerate: 0 vulkanNumSwapchainBuffers: 3 @@ -145,6 +148,7 @@ PlayerSettings: isWsaHolographicRemotingEnabled: 0 enableFrameTimingStats: 0 enableOpenGLProfilerGPURecorders: 1 + allowHDRDisplaySupport: 0 useHDRDisplay: 0 hdrBitDepth: 0 m_ColorGamuts: 00000000 @@ -182,6 +186,8 @@ PlayerSettings: tvOSSdkVersion: 0 tvOSRequireExtendedGameController: 0 tvOSTargetOSVersionString: 12.0 + VisionOSSdkVersion: 0 + VisionOSTargetOSVersionString: 1.0 uIPrerenderedIcon: 0 uIRequiresPersistentWiFi: 0 uIRequiresFullScreen: 1 @@ -229,8 +235,10 @@ PlayerSettings: appleDeveloperTeamID: iOSManualSigningProvisioningProfileID: tvOSManualSigningProvisioningProfileID: + VisionOSManualSigningProvisioningProfileID: iOSManualSigningProvisioningProfileType: 0 tvOSManualSigningProvisioningProfileType: 0 + VisionOSManualSigningProvisioningProfileType: 0 appleEnableAutomaticSigning: 0 iOSRequireARKit: 0 iOSAutomaticallyDetectAndAddCapabilities: 1 @@ -395,6 +403,7 @@ PlayerSettings: switchSocketConcurrencyLimit: 14 switchScreenResolutionBehavior: 2 switchUseCPUProfiler: 0 + switchEnableFileSystemTrace: 0 switchUseGOLDLinker: 0 switchLTOSetting: 0 switchApplicationID: 0x01004b9000490000 @@ -525,7 +534,6 @@ PlayerSettings: switchSocketBufferEfficiency: 4 switchSocketInitializeEnabled: 1 switchNetworkInterfaceManagerInitializeEnabled: 1 - switchPlayerConnectionEnabled: 1 switchUseNewStyleFilepaths: 1 switchUseLegacyFmodPriorities: 0 switchUseMicroSleepForYield: 1 @@ -638,9 +646,11 @@ PlayerSettings: scriptingDefineSymbols: {} additionalCompilerArguments: {} platformArchitecture: {} - scriptingBackend: {} + scriptingBackend: + Standalone: 1 il2cppCompilerConfiguration: {} - il2cppCodeGeneration: {} + il2cppCodeGeneration: + Standalone: 1 managedStrippingLevel: EmbeddedLinux: 1 GameCoreScarlett: 1 @@ -660,7 +670,6 @@ PlayerSettings: suppressCommonWarnings: 1 allowUnsafeCode: 0 useDeterministicCompilation: 1 - selectedPlatform: 0 additionalIl2CppArgs: scriptingRuntimeVersion: 1 gcIncremental: 1 diff --git a/src/ZLogger.Unity/ProjectSettings/ProjectVersion.txt b/src/ZLogger.Unity/ProjectSettings/ProjectVersion.txt index 759a7715..e4eac159 100644 --- a/src/ZLogger.Unity/ProjectSettings/ProjectVersion.txt +++ b/src/ZLogger.Unity/ProjectSettings/ProjectVersion.txt @@ -1,2 +1,2 @@ -m_EditorVersion: 2022.2.21f1 -m_EditorVersionWithRevision: 2022.2.21f1 (4907324dc95b) +m_EditorVersion: 2022.3.12f1 +m_EditorVersionWithRevision: 2022.3.12f1 (4fe6e059c7ef) diff --git a/src/ZLogger.Unity/UserSettings/Layouts/default-2022.dwlt b/src/ZLogger.Unity/UserSettings/Layouts/default-2022.dwlt index a4910670..8ca6e57f 100644 --- a/src/ZLogger.Unity/UserSettings/Layouts/default-2022.dwlt +++ b/src/ZLogger.Unity/UserSettings/Layouts/default-2022.dwlt @@ -14,313 +14,17 @@ MonoBehaviour: m_EditorClassIdentifier: m_PixelRect: serializedVersion: 2 - x: -1436 - y: 328 - width: 1206 - height: 820 - m_ShowMode: 0 - m_Title: Project Settings - m_RootView: {fileID: 7} - m_MinSize: {x: 310, y: 221} - m_MaxSize: {x: 4000, y: 4021} - m_Maximized: 0 ---- !u!114 &2 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 12004, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_PixelRect: - serializedVersion: 2 - x: -1892 - y: 466 - width: 1208 - height: 870 - m_ShowMode: 0 - m_Title: Preferences - m_RootView: {fileID: 9} - m_MinSize: {x: 310, y: 221} - m_MaxSize: {x: 4000, y: 4021} - m_Maximized: 0 ---- !u!114 &3 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 12004, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_PixelRect: - serializedVersion: 2 - x: -1528 - y: 553 - width: 1164 - height: 815 - m_ShowMode: 0 - m_Title: NuGet For Unity - m_RootView: {fileID: 11} - m_MinSize: {x: 100, y: 121} - m_MaxSize: {x: 4000, y: 4021} - m_Maximized: 0 ---- !u!114 &4 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 12004, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_PixelRect: - serializedVersion: 2 - x: -1806 - y: 464 - width: 1356 - height: 849 - m_ShowMode: 0 - m_Title: Package Manager - m_RootView: {fileID: 13} - m_MinSize: {x: 800, y: 271} - m_MaxSize: {x: 4000, y: 4021} - m_Maximized: 0 ---- !u!114 &5 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 12004, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_PixelRect: - serializedVersion: 2 - x: -2552 - y: 270 + x: 0 + y: 53 width: 2440 height: 1387 m_ShowMode: 4 - m_Title: Console - m_RootView: {fileID: 14} + m_Title: Test Runner + m_RootView: {fileID: 2} m_MinSize: {x: 875, y: 300} m_MaxSize: {x: 10000, y: 10000} m_Maximized: 0 ---- !u!114 &6 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} - m_Name: ProjectSettingsWindow - m_EditorClassIdentifier: - m_Children: [] - m_Position: - serializedVersion: 2 - x: 0 - y: 0 - width: 1206 - height: 820 - m_MinSize: {x: 310, y: 221} - m_MaxSize: {x: 4000, y: 4021} - m_ActualView: {fileID: 25} - m_Panes: - - {fileID: 25} - m_Selected: 0 - m_LastSelected: 0 ---- !u!114 &7 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_Children: - - {fileID: 6} - m_Position: - serializedVersion: 2 - x: 0 - y: 0 - width: 1206 - height: 820 - m_MinSize: {x: 310, y: 221} - m_MaxSize: {x: 4000, y: 4021} - vertical: 0 - controlID: 3930 ---- !u!114 &8 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} - m_Name: PreferenceSettingsWindow - m_EditorClassIdentifier: - m_Children: [] - m_Position: - serializedVersion: 2 - x: 0 - y: 0 - width: 1208 - height: 870 - m_MinSize: {x: 310, y: 221} - m_MaxSize: {x: 4000, y: 4021} - m_ActualView: {fileID: 26} - m_Panes: - - {fileID: 26} - m_Selected: 0 - m_LastSelected: 0 ---- !u!114 &9 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_Children: - - {fileID: 8} - m_Position: - serializedVersion: 2 - x: 0 - y: 0 - width: 1208 - height: 870 - m_MinSize: {x: 310, y: 221} - m_MaxSize: {x: 4000, y: 4021} - vertical: 0 - controlID: 1997 ---- !u!114 &10 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} - m_Name: NugetWindow - m_EditorClassIdentifier: - m_Children: [] - m_Position: - serializedVersion: 2 - x: 0 - y: 0 - width: 1164 - height: 815 - m_MinSize: {x: 100, y: 121} - m_MaxSize: {x: 4000, y: 4021} - m_ActualView: {fileID: 27} - m_Panes: - - {fileID: 27} - m_Selected: 0 - m_LastSelected: 0 ---- !u!114 &11 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_Children: - - {fileID: 10} - m_Position: - serializedVersion: 2 - x: 0 - y: 0 - width: 1164 - height: 815 - m_MinSize: {x: 100, y: 121} - m_MaxSize: {x: 4000, y: 4021} - vertical: 0 - controlID: 1896 ---- !u!114 &12 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} - m_Name: PackageManagerWindow - m_EditorClassIdentifier: - m_Children: [] - m_Position: - serializedVersion: 2 - x: 0 - y: 0 - width: 1356 - height: 849 - m_MinSize: {x: 800, y: 250} - m_MaxSize: {x: 4000, y: 4000} - m_ActualView: {fileID: 28} - m_Panes: - - {fileID: 28} - m_Selected: 0 - m_LastSelected: 0 ---- !u!114 &13 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_Children: - - {fileID: 12} - m_Position: - serializedVersion: 2 - x: 0 - y: 0 - width: 1356 - height: 849 - m_MinSize: {x: 800, y: 271} - m_MaxSize: {x: 4000, y: 4021} - vertical: 0 - controlID: 977 ---- !u!114 &14 +--- !u!114 &2 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -333,9 +37,9 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Children: - - {fileID: 15} - - {fileID: 17} - - {fileID: 16} + - {fileID: 3} + - {fileID: 5} + - {fileID: 4} m_Position: serializedVersion: 2 x: 0 @@ -348,7 +52,7 @@ MonoBehaviour: m_TopViewHeight: 30 m_UseBottomView: 1 m_BottomViewHeight: 20 ---- !u!114 &15 +--- !u!114 &3 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -370,7 +74,7 @@ MonoBehaviour: m_MinSize: {x: 0, y: 0} m_MaxSize: {x: 0, y: 0} m_LastLoadedLayoutName: ---- !u!114 &16 +--- !u!114 &4 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -391,7 +95,7 @@ MonoBehaviour: height: 20 m_MinSize: {x: 0, y: 0} m_MaxSize: {x: 0, y: 0} ---- !u!114 &17 +--- !u!114 &5 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -404,8 +108,8 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Children: - - {fileID: 18} - - {fileID: 24} + - {fileID: 6} + - {fileID: 12} m_Position: serializedVersion: 2 x: 0 @@ -415,8 +119,8 @@ MonoBehaviour: m_MinSize: {x: 400, y: 100} m_MaxSize: {x: 32384, y: 16192} vertical: 0 - controlID: 66 ---- !u!114 &18 + controlID: 137 +--- !u!114 &6 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -429,8 +133,8 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Children: - - {fileID: 19} - - {fileID: 23} + - {fileID: 7} + - {fileID: 11} m_Position: serializedVersion: 2 x: 0 @@ -440,8 +144,8 @@ MonoBehaviour: m_MinSize: {x: 300, y: 100} m_MaxSize: {x: 24288, y: 16192} vertical: 1 - controlID: 67 ---- !u!114 &19 + controlID: 138 +--- !u!114 &7 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -454,9 +158,9 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Children: - - {fileID: 20} - - {fileID: 21} - - {fileID: 22} + - {fileID: 8} + - {fileID: 9} + - {fileID: 10} m_Position: serializedVersion: 2 x: 0 @@ -466,8 +170,8 @@ MonoBehaviour: m_MinSize: {x: 300, y: 50} m_MaxSize: {x: 24288, y: 8096} vertical: 0 - controlID: 68 ---- !u!114 &20 + controlID: 139 +--- !u!114 &8 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -488,12 +192,12 @@ MonoBehaviour: height: 517 m_MinSize: {x: 200, y: 200} m_MaxSize: {x: 4000, y: 4000} - m_ActualView: {fileID: 31} + m_ActualView: {fileID: 15} m_Panes: - - {fileID: 31} + - {fileID: 15} m_Selected: 0 m_LastSelected: 0 ---- !u!114 &21 +--- !u!114 &9 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -514,153 +218,12 @@ MonoBehaviour: height: 517 m_MinSize: {x: 200, y: 200} m_MaxSize: {x: 4000, y: 4000} - m_ActualView: {fileID: 32} - m_Panes: - - {fileID: 32} - m_Selected: 0 - m_LastSelected: 0 ---- !u!114 &22 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} - m_Name: SceneHierarchyWindow - m_EditorClassIdentifier: - m_Children: [] - m_Position: - serializedVersion: 2 - x: 1395 - y: 0 - width: 474 - height: 517 - m_MinSize: {x: 200, y: 200} - m_MaxSize: {x: 4000, y: 4000} - m_ActualView: {fileID: 33} + m_ActualView: {fileID: 16} m_Panes: - - {fileID: 33} - m_Selected: 0 - m_LastSelected: 0 ---- !u!114 &23 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 1 - m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} - m_Name: ConsoleWindow - m_EditorClassIdentifier: - m_Children: [] - m_Position: - serializedVersion: 2 - x: 0 - y: 517 - width: 1869 - height: 820 - m_MinSize: {x: 100, y: 100} - m_MaxSize: {x: 4000, y: 4000} - m_ActualView: {fileID: 30} - m_Panes: - - {fileID: 34} - - {fileID: 30} - - {fileID: 29} - m_Selected: 1 - m_LastSelected: 0 ---- !u!114 &24 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 1 - m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_Children: [] - m_Position: - serializedVersion: 2 - x: 1869 - y: 0 - width: 571 - height: 1337 - m_MinSize: {x: 275, y: 50} - m_MaxSize: {x: 4000, y: 4000} - m_ActualView: {fileID: 35} - m_Panes: - - {fileID: 35} - m_Selected: 0 - m_LastSelected: 0 ---- !u!114 &25 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 13854, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_MinSize: {x: 310, y: 200} - m_MaxSize: {x: 4000, y: 4000} - m_TitleContent: - m_Text: Project Settings - m_Image: {fileID: -5712115415447495865, guid: 0000000000000000d000000000000000, type: 0} - m_Tooltip: - m_Pos: - serializedVersion: 2 - x: -1436 - y: 328 - width: 1206 - height: 799 - m_SerializedDataModeController: - m_DataMode: 0 - m_PreferredDataMode: 0 - m_SupportedDataModes: - isAutomatic: 1 - m_ViewDataDictionary: {fileID: 0} - m_OverlayCanvas: - m_LastAppliedPresetName: Default - m_SaveData: [] - m_OverlaysVisible: 1 - m_PosLeft: {x: 0, y: 0} - m_PosRight: {x: 0, y: 0} - m_Scope: 1 - m_SplitterFlex: 0.2 - m_SearchText: - m_TreeViewState: - scrollPos: {x: 0, y: 0} - m_SelectedIDs: ce5df219 - m_LastClickedID: 435314126 - m_ExpandedIDs: a73eced700000000 - m_RenameOverlay: - m_UserAcceptedRename: 0 - m_Name: - m_OriginalName: - m_EditFieldRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 0 - height: 0 - m_UserData: 0 - m_IsWaitingForDelay: 0 - m_IsRenaming: 0 - m_OriginalEventType: 11 - m_IsRenamingFilename: 0 - m_ClientGUIView: {fileID: 0} - m_SearchString: ---- !u!114 &26 + - {fileID: 16} + m_Selected: 0 + m_LastSelected: 0 +--- !u!114 &10 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -669,59 +232,24 @@ MonoBehaviour: m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 13855, guid: 0000000000000000e000000000000000, type: 0} - m_Name: + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: SceneHierarchyWindow m_EditorClassIdentifier: - m_MinSize: {x: 310, y: 200} - m_MaxSize: {x: 4000, y: 4000} - m_TitleContent: - m_Text: Preferences - m_Image: {fileID: -5712115415447495865, guid: 0000000000000000d000000000000000, type: 0} - m_Tooltip: - m_Pos: + m_Children: [] + m_Position: serializedVersion: 2 - x: -1892 - y: 466 - width: 1208 - height: 849 - m_SerializedDataModeController: - m_DataMode: 0 - m_PreferredDataMode: 0 - m_SupportedDataModes: - isAutomatic: 1 - m_ViewDataDictionary: {fileID: 0} - m_OverlayCanvas: - m_LastAppliedPresetName: Default - m_SaveData: [] - m_OverlaysVisible: 1 - m_PosLeft: {x: 0, y: 0} - m_PosRight: {x: 0, y: 0} - m_Scope: 0 - m_SplitterFlex: 0.2 - m_SearchText: - m_TreeViewState: - scrollPos: {x: 0, y: 0} - m_SelectedIDs: 36d7af56 - m_LastClickedID: 1454364470 - m_ExpandedIDs: 2956c29689577ec10000000001fecd11 - m_RenameOverlay: - m_UserAcceptedRename: 0 - m_Name: - m_OriginalName: - m_EditFieldRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 0 - height: 0 - m_UserData: 0 - m_IsWaitingForDelay: 0 - m_IsRenaming: 0 - m_OriginalEventType: 11 - m_IsRenamingFilename: 0 - m_ClientGUIView: {fileID: 0} - m_SearchString: ---- !u!114 &27 + x: 1395 + y: 0 + width: 474 + height: 517 + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} + m_ActualView: {fileID: 17} + m_Panes: + - {fileID: 17} + m_Selected: 0 + m_LastSelected: 0 +--- !u!114 &11 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -729,2509 +257,27 @@ MonoBehaviour: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1f5cd2e0ccf7a56478ad918ff9829c5c, type: 3} - m_Name: NuGetForUnity + m_EditorHideFlags: 1 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: TestRunnerWindow m_EditorClassIdentifier: - m_MinSize: {x: 100, y: 100} - m_MaxSize: {x: 4000, y: 4000} - m_TitleContent: - m_Text: NuGet For Unity - m_Image: {fileID: 0} - m_Tooltip: - m_Pos: + m_Children: [] + m_Position: serializedVersion: 2 - x: -1528 - y: 553 - width: 1164 - height: 794 - m_SerializedDataModeController: - m_DataMode: 0 - m_PreferredDataMode: 0 - m_SupportedDataModes: - isAutomatic: 1 - m_ViewDataDictionary: {fileID: 0} - m_OverlayCanvas: - m_LastAppliedPresetName: Default - m_SaveData: [] - m_OverlaysVisible: 1 - defaultIcon: {fileID: 2800000, guid: 0efa0a38ec1ce484896502259d7ee8f7, type: 3} - hasRefreshed: 1 - numberToSkip: 0 - serializableAvailablePackages: - - packageLocal: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSource: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageType: 2 - packageV2: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSourceV2: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <SavedProtocolVersion>k__BackingField: - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageV3: - <Id>k__BackingField: ZLogger - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: 2.0.0 - <IsManuallyInstalled>k__BackingField: 0 - dependencies: [] - dependenciesFetched: 0 - icon: {fileID: 0} - iconUrl: https://api.nuget.org/v3-flatcontainer/zlogger/2.0.0/icon - packageSource: - <Name>k__BackingField: nuget.org - <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json - <SavedProtocolVersion>k__BackingField: - <UpdateSearchBatchSize>k__BackingField: 20 - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 1 - <Versions>k__BackingField: - - <FullVersion>k__BackingField: 2.0.0 - - <FullVersion>k__BackingField: 1.7.1 - - <FullVersion>k__BackingField: 1.7.0 - - <FullVersion>k__BackingField: 1.6.2 - - <FullVersion>k__BackingField: 1.6.1 - - <FullVersion>k__BackingField: 1.6.0 - - <FullVersion>k__BackingField: 1.5.1 - - <FullVersion>k__BackingField: 1.5.0 - - <FullVersion>k__BackingField: 1.4.1 - - <FullVersion>k__BackingField: 1.4.0 - - <FullVersion>k__BackingField: 1.3.0 - - <FullVersion>k__BackingField: 1.2.1 - - <FullVersion>k__BackingField: 1.2.0 - - <FullVersion>k__BackingField: 1.1.11 - - <FullVersion>k__BackingField: 1.1.10 - - <FullVersion>k__BackingField: 1.1.9 - - <FullVersion>k__BackingField: 1.1.8 - - <FullVersion>k__BackingField: 1.1.7 - - <FullVersion>k__BackingField: 1.1.6 - - <FullVersion>k__BackingField: 1.1.5 - - <FullVersion>k__BackingField: 1.1.4 - - <FullVersion>k__BackingField: 1.1.3 - - <FullVersion>k__BackingField: 1.1.2 - - <FullVersion>k__BackingField: 1.1.1 - - <FullVersion>k__BackingField: 1.1.0 - - <FullVersion>k__BackingField: 1.0.0 - - <FullVersion>k__BackingField: 0.4.1 - - <FullVersion>k__BackingField: 0.3.0 - - <FullVersion>k__BackingField: 0.2.1 - - <FullVersion>k__BackingField: 0.2.0 - - <FullVersion>k__BackingField: 0.1.3 - - <FullVersion>k__BackingField: 0.1.2 - <Authors>k__BackingField: - - Cysharp - <Description>k__BackingField: Zero Allocation Text/Strcutured Logger for .NET - Core, built on top of a Microsoft.Extensions.Logging. - <TotalDownloads>k__BackingField: 923996 - <LicenseUrl>k__BackingField: https://www.nuget.org/packages/ZLogger/2.0.0/license - <ProjectUrl>k__BackingField: https://github.com/Cysharp/ZLogger - <Summary>k__BackingField: - <Title>k__BackingField: ZLogger - <DownloadUrl>k__BackingField: - - packageLocal: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSource: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageType: 2 - packageV2: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSourceV2: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <SavedProtocolVersion>k__BackingField: - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageV3: - <Id>k__BackingField: ZLogger.MessagePack - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: 2.0.0 - <IsManuallyInstalled>k__BackingField: 0 - dependencies: [] - dependenciesFetched: 0 - icon: {fileID: 0} - iconUrl: https://api.nuget.org/v3-flatcontainer/zlogger.messagepack/2.0.0/icon - packageSource: - <Name>k__BackingField: nuget.org - <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json - <SavedProtocolVersion>k__BackingField: - <UpdateSearchBatchSize>k__BackingField: 20 - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 1 - <Versions>k__BackingField: - - <FullVersion>k__BackingField: 2.0.0 - <Authors>k__BackingField: - - Cysharp - <Description>k__BackingField: ZLogger plugin to format log results as messagepack. - <TotalDownloads>k__BackingField: 68 - <LicenseUrl>k__BackingField: https://www.nuget.org/packages/ZLogger.MessagePack/2.0.0/license - <ProjectUrl>k__BackingField: https://github.com/Cysharp/ZLogger - <Summary>k__BackingField: - <Title>k__BackingField: ZLogger.MessagePack - <DownloadUrl>k__BackingField: - - packageLocal: - <Id>k__BackingField: ZLogger - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: 2.0.1 - <IsManuallyInstalled>k__BackingField: 1 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: /Users/s24061/packages/ZLogger.2.0.1.nupkg - <IconUrl>k__BackingField: file:////Users/s24061/packages/Icon.png - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: - - <TargetFramework>k__BackingField: net6.0 - - <TargetFramework>k__BackingField: net8.0 - - <TargetFramework>k__BackingField: netstandard2.0 - - <TargetFramework>k__BackingField: netstandard2.1 - <Authors>k__BackingField: - - Cysharp - <Description>k__BackingField: Zero Allocation Text/Strcutured Logger for .NET - Core, built on top of a Microsoft.Extensions.Logging. - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: https://licenses.nuget.org/MIT - <ProjectUrl>k__BackingField: https://github.com/Cysharp/ZLogger - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: 6bf4ba639ac1e32fd6dd86c39bcc156b83ac0c42 - <RepositoryType>k__BackingField: 1 - <RepositoryUrl>k__BackingField: https://github.com/Cysharp/ZLogger - <Summary>k__BackingField: - <Title>k__BackingField: ZLogger - packageSource: - <Name>k__BackingField: Local - <SavedPath>k__BackingField: /Users/s24061/packages - <IsEnabled>k__BackingField: 1 - versions: - - <FullVersion>k__BackingField: 2.0.1 - packageType: 0 - packageV2: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSourceV2: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <SavedProtocolVersion>k__BackingField: - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageV3: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - dependencies: [] - dependenciesFetched: 0 - icon: {fileID: 0} - iconUrl: - packageSource: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <SavedProtocolVersion>k__BackingField: - <UpdateSearchBatchSize>k__BackingField: 0 - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 0 - <Versions>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - <DownloadUrl>k__BackingField: - - packageLocal: - <Id>k__BackingField: ZLogger.MessagePack - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: 2.0.1 - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: /Users/s24061/packages/ZLogger.MessagePack.2.0.1.nupkg - <IconUrl>k__BackingField: file:////Users/s24061/packages/Icon.png - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: - - <TargetFramework>k__BackingField: net6.0 - - <TargetFramework>k__BackingField: net8.0 - - <TargetFramework>k__BackingField: netstandard2.1 - <Authors>k__BackingField: - - Cysharp - <Description>k__BackingField: ZLogger plugin to format log results as messagepack. - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: https://licenses.nuget.org/MIT - <ProjectUrl>k__BackingField: https://github.com/Cysharp/ZLogger - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: 6bf4ba639ac1e32fd6dd86c39bcc156b83ac0c42 - <RepositoryType>k__BackingField: 1 - <RepositoryUrl>k__BackingField: https://github.com/Cysharp/ZLogger - <Summary>k__BackingField: - <Title>k__BackingField: ZLogger.MessagePack - packageSource: - <Name>k__BackingField: Local - <SavedPath>k__BackingField: /Users/s24061/packages - <IsEnabled>k__BackingField: 1 - versions: - - <FullVersion>k__BackingField: 2.0.1 - - <FullVersion>k__BackingField: 1.0.0 - packageType: 0 - packageV2: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSourceV2: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <SavedProtocolVersion>k__BackingField: - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageV3: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - dependencies: [] - dependenciesFetched: 0 - icon: {fileID: 0} - iconUrl: - packageSource: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <SavedProtocolVersion>k__BackingField: - <UpdateSearchBatchSize>k__BackingField: 0 - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 0 - <Versions>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - <DownloadUrl>k__BackingField: - serializableUpdatePackages: - - packageLocal: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSource: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageType: 2 - packageV2: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSourceV2: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <SavedProtocolVersion>k__BackingField: - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageV3: - <Id>k__BackingField: Microsoft.Bcl.AsyncInterfaces - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: 8.0.0 - <IsManuallyInstalled>k__BackingField: 0 - dependencies: [] - dependenciesFetched: 0 - icon: {fileID: 0} - iconUrl: https://api.nuget.org/v3-flatcontainer/microsoft.bcl.asyncinterfaces/8.0.0/icon - packageSource: - <Name>k__BackingField: nuget.org - <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json - <SavedProtocolVersion>k__BackingField: - <UpdateSearchBatchSize>k__BackingField: 20 - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 1 - <Versions>k__BackingField: - - <FullVersion>k__BackingField: 8.0.0 - - <FullVersion>k__BackingField: 7.0.0 - - <FullVersion>k__BackingField: 6.0.0 - - <FullVersion>k__BackingField: 5.0.0 - - <FullVersion>k__BackingField: 1.1.1 - - <FullVersion>k__BackingField: 1.1.0 - - <FullVersion>k__BackingField: 1.0.0 - <Authors>k__BackingField: - - Microsoft - <Description>k__BackingField: 'Provides the IAsyncEnumerable<T> and IAsyncDisposable - interfaces and helper types for .NET Standard 2.0. This package is not required - starting with .NET Standard 2.1 and .NET Core 3.0. - - - Commonly Used - Types: - - System.IAsyncDisposable - - System.Collections.Generic.IAsyncEnumerable - - System.Collections.Generic.IAsyncEnumerator' - <TotalDownloads>k__BackingField: 1286237322 - <LicenseUrl>k__BackingField: https://www.nuget.org/packages/Microsoft.Bcl.AsyncInterfaces/8.0.0/license - <ProjectUrl>k__BackingField: https://dot.net/ - <Summary>k__BackingField: - <Title>k__BackingField: Microsoft.Bcl.AsyncInterfaces - <DownloadUrl>k__BackingField: - - packageLocal: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSource: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageType: 2 - packageV2: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSourceV2: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <SavedProtocolVersion>k__BackingField: - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageV3: - <Id>k__BackingField: Microsoft.Bcl.TimeProvider - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: 8.0.0 - <IsManuallyInstalled>k__BackingField: 0 - dependencies: [] - dependenciesFetched: 0 - icon: {fileID: 0} - iconUrl: https://api.nuget.org/v3-flatcontainer/microsoft.bcl.timeprovider/8.0.0/icon - packageSource: - <Name>k__BackingField: nuget.org - <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json - <SavedProtocolVersion>k__BackingField: - <UpdateSearchBatchSize>k__BackingField: 20 - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 1 - <Versions>k__BackingField: - - <FullVersion>k__BackingField: 8.0.0 - <Authors>k__BackingField: - - Microsoft - <Description>k__BackingField: 'Provides support for system time abstraction - primitives for .NET Framework and .NET Standard. - - - Commonly Used - Types: - - System.TimeProvider - - System.ITimer' - <TotalDownloads>k__BackingField: 861354 - <LicenseUrl>k__BackingField: https://www.nuget.org/packages/Microsoft.Bcl.TimeProvider/8.0.0/license - <ProjectUrl>k__BackingField: https://dot.net/ - <Summary>k__BackingField: - <Title>k__BackingField: Microsoft.Bcl.TimeProvider - <DownloadUrl>k__BackingField: - - packageLocal: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSource: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageType: 2 - packageV2: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSourceV2: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <SavedProtocolVersion>k__BackingField: - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageV3: - <Id>k__BackingField: Microsoft.Extensions.DependencyInjection - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: 8.0.0 - <IsManuallyInstalled>k__BackingField: 0 - dependencies: [] - dependenciesFetched: 0 - icon: {fileID: 0} - iconUrl: https://api.nuget.org/v3-flatcontainer/microsoft.extensions.dependencyinjection/8.0.0/icon - packageSource: - <Name>k__BackingField: nuget.org - <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json - <SavedProtocolVersion>k__BackingField: - <UpdateSearchBatchSize>k__BackingField: 20 - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 1 - <Versions>k__BackingField: - - <FullVersion>k__BackingField: 8.0.0 - - <FullVersion>k__BackingField: 7.0.0 - - <FullVersion>k__BackingField: 6.0.1 - - <FullVersion>k__BackingField: 6.0.0 - - <FullVersion>k__BackingField: 5.0.2 - - <FullVersion>k__BackingField: 5.0.1 - - <FullVersion>k__BackingField: 5.0.0 - - <FullVersion>k__BackingField: 3.1.32 - - <FullVersion>k__BackingField: 3.1.31 - - <FullVersion>k__BackingField: 3.1.30 - - <FullVersion>k__BackingField: 3.1.29 - - <FullVersion>k__BackingField: 3.1.28 - - <FullVersion>k__BackingField: 3.1.27 - - <FullVersion>k__BackingField: 3.1.26 - - <FullVersion>k__BackingField: 3.1.25 - - <FullVersion>k__BackingField: 3.1.24 - - <FullVersion>k__BackingField: 3.1.23 - - <FullVersion>k__BackingField: 3.1.22 - - <FullVersion>k__BackingField: 3.1.21 - - <FullVersion>k__BackingField: 3.1.20 - - <FullVersion>k__BackingField: 3.1.19 - - <FullVersion>k__BackingField: 3.1.18 - - <FullVersion>k__BackingField: 3.1.17 - - <FullVersion>k__BackingField: 3.1.16 - - <FullVersion>k__BackingField: 3.1.15 - - <FullVersion>k__BackingField: 3.1.14 - - <FullVersion>k__BackingField: 3.1.13 - - <FullVersion>k__BackingField: 3.1.12 - - <FullVersion>k__BackingField: 3.1.11 - - <FullVersion>k__BackingField: 3.1.10 - - <FullVersion>k__BackingField: 3.1.9 - - <FullVersion>k__BackingField: 3.1.8 - - <FullVersion>k__BackingField: 3.1.7 - - <FullVersion>k__BackingField: 3.1.6 - - <FullVersion>k__BackingField: 3.1.5 - - <FullVersion>k__BackingField: 3.1.4 - - <FullVersion>k__BackingField: 3.1.3 - - <FullVersion>k__BackingField: 3.1.2 - - <FullVersion>k__BackingField: 3.1.1 - - <FullVersion>k__BackingField: 3.1.0 - - <FullVersion>k__BackingField: 3.0.3 - - <FullVersion>k__BackingField: 3.0.2 - - <FullVersion>k__BackingField: 3.0.1 - - <FullVersion>k__BackingField: 3.0.0 - - <FullVersion>k__BackingField: 2.2.0 - - <FullVersion>k__BackingField: 2.1.1 - - <FullVersion>k__BackingField: 2.1.0 - - <FullVersion>k__BackingField: 2.0.0 - - <FullVersion>k__BackingField: 1.1.1 - - <FullVersion>k__BackingField: 1.1.0 - - <FullVersion>k__BackingField: 1.0.2 - - <FullVersion>k__BackingField: 1.0.1 - - <FullVersion>k__BackingField: 1.0.0 - <Authors>k__BackingField: - - Microsoft - <Description>k__BackingField: Default implementation of dependency injection - for Microsoft.Extensions.DependencyInjection. - <TotalDownloads>k__BackingField: 2830888183 - <LicenseUrl>k__BackingField: https://www.nuget.org/packages/Microsoft.Extensions.DependencyInjection/8.0.0/license - <ProjectUrl>k__BackingField: https://dot.net/ - <Summary>k__BackingField: - <Title>k__BackingField: Microsoft.Extensions.DependencyInjection - <DownloadUrl>k__BackingField: - - packageLocal: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSource: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageType: 2 - packageV2: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSourceV2: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <SavedProtocolVersion>k__BackingField: - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageV3: - <Id>k__BackingField: Microsoft.Extensions.DependencyInjection.Abstractions - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: 8.0.0 - <IsManuallyInstalled>k__BackingField: 0 - dependencies: [] - dependenciesFetched: 0 - icon: {fileID: 0} - iconUrl: https://api.nuget.org/v3-flatcontainer/microsoft.extensions.dependencyinjection.abstractions/8.0.0/icon - packageSource: - <Name>k__BackingField: nuget.org - <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json - <SavedProtocolVersion>k__BackingField: - <UpdateSearchBatchSize>k__BackingField: 20 - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 1 - <Versions>k__BackingField: - - <FullVersion>k__BackingField: 8.0.0 - - <FullVersion>k__BackingField: 7.0.0 - - <FullVersion>k__BackingField: 6.0.0 - - <FullVersion>k__BackingField: 5.0.0 - - <FullVersion>k__BackingField: 3.1.32 - - <FullVersion>k__BackingField: 3.1.31 - - <FullVersion>k__BackingField: 3.1.30 - - <FullVersion>k__BackingField: 3.1.29 - - <FullVersion>k__BackingField: 3.1.28 - - <FullVersion>k__BackingField: 3.1.27 - - <FullVersion>k__BackingField: 3.1.26 - - <FullVersion>k__BackingField: 3.1.25 - - <FullVersion>k__BackingField: 3.1.24 - - <FullVersion>k__BackingField: 3.1.23 - - <FullVersion>k__BackingField: 3.1.22 - - <FullVersion>k__BackingField: 3.1.21 - - <FullVersion>k__BackingField: 3.1.20 - - <FullVersion>k__BackingField: 3.1.19 - - <FullVersion>k__BackingField: 3.1.18 - - <FullVersion>k__BackingField: 3.1.17 - - <FullVersion>k__BackingField: 3.1.16 - - <FullVersion>k__BackingField: 3.1.15 - - <FullVersion>k__BackingField: 3.1.14 - - <FullVersion>k__BackingField: 3.1.13 - - <FullVersion>k__BackingField: 3.1.12 - - <FullVersion>k__BackingField: 3.1.11 - - <FullVersion>k__BackingField: 3.1.10 - - <FullVersion>k__BackingField: 3.1.9 - - <FullVersion>k__BackingField: 3.1.8 - - <FullVersion>k__BackingField: 3.1.7 - - <FullVersion>k__BackingField: 3.1.6 - - <FullVersion>k__BackingField: 3.1.5 - - <FullVersion>k__BackingField: 3.1.4 - - <FullVersion>k__BackingField: 3.1.3 - - <FullVersion>k__BackingField: 3.1.2 - - <FullVersion>k__BackingField: 3.1.1 - - <FullVersion>k__BackingField: 3.1.0 - - <FullVersion>k__BackingField: 3.0.3 - - <FullVersion>k__BackingField: 3.0.2 - - <FullVersion>k__BackingField: 3.0.1 - - <FullVersion>k__BackingField: 3.0.0 - - <FullVersion>k__BackingField: 2.2.0 - - <FullVersion>k__BackingField: 2.1.1 - - <FullVersion>k__BackingField: 2.1.0 - - <FullVersion>k__BackingField: 2.0.0 - - <FullVersion>k__BackingField: 1.1.1 - - <FullVersion>k__BackingField: 1.1.0 - - <FullVersion>k__BackingField: 1.0.2 - - <FullVersion>k__BackingField: 1.0.1 - - <FullVersion>k__BackingField: 1.0.0 - <Authors>k__BackingField: - - Microsoft - <Description>k__BackingField: 'Abstractions for dependency injection. - - - Commonly - Used Types: - - Microsoft.Extensions.DependencyInjection.IServiceCollection' - <TotalDownloads>k__BackingField: 4466954741 - <LicenseUrl>k__BackingField: https://www.nuget.org/packages/Microsoft.Extensions.DependencyInjection.Abstractions/8.0.0/license - <ProjectUrl>k__BackingField: https://dot.net/ - <Summary>k__BackingField: - <Title>k__BackingField: Microsoft.Extensions.DependencyInjection.Abstractions - <DownloadUrl>k__BackingField: - - packageLocal: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSource: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageType: 2 - packageV2: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSourceV2: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <SavedProtocolVersion>k__BackingField: - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageV3: - <Id>k__BackingField: Microsoft.Extensions.Logging - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: 8.0.0 - <IsManuallyInstalled>k__BackingField: 0 - dependencies: [] - dependenciesFetched: 0 - icon: {fileID: 0} - iconUrl: https://api.nuget.org/v3-flatcontainer/microsoft.extensions.logging/8.0.0/icon - packageSource: - <Name>k__BackingField: nuget.org - <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json - <SavedProtocolVersion>k__BackingField: - <UpdateSearchBatchSize>k__BackingField: 20 - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 1 - <Versions>k__BackingField: - - <FullVersion>k__BackingField: 8.0.0 - - <FullVersion>k__BackingField: 7.0.0 - - <FullVersion>k__BackingField: 6.0.0 - - <FullVersion>k__BackingField: 5.0.0 - - <FullVersion>k__BackingField: 3.1.32 - - <FullVersion>k__BackingField: 3.1.31 - - <FullVersion>k__BackingField: 3.1.30 - - <FullVersion>k__BackingField: 3.1.29 - - <FullVersion>k__BackingField: 3.1.28 - - <FullVersion>k__BackingField: 3.1.27 - - <FullVersion>k__BackingField: 3.1.26 - - <FullVersion>k__BackingField: 3.1.25 - - <FullVersion>k__BackingField: 3.1.24 - - <FullVersion>k__BackingField: 3.1.23 - - <FullVersion>k__BackingField: 3.1.22 - - <FullVersion>k__BackingField: 3.1.21 - - <FullVersion>k__BackingField: 3.1.20 - - <FullVersion>k__BackingField: 3.1.19 - - <FullVersion>k__BackingField: 3.1.18 - - <FullVersion>k__BackingField: 3.1.17 - - <FullVersion>k__BackingField: 3.1.16 - - <FullVersion>k__BackingField: 3.1.15 - - <FullVersion>k__BackingField: 3.1.14 - - <FullVersion>k__BackingField: 3.1.13 - - <FullVersion>k__BackingField: 3.1.12 - - <FullVersion>k__BackingField: 3.1.11 - - <FullVersion>k__BackingField: 3.1.10 - - <FullVersion>k__BackingField: 3.1.9 - - <FullVersion>k__BackingField: 3.1.8 - - <FullVersion>k__BackingField: 3.1.7 - - <FullVersion>k__BackingField: 3.1.6 - - <FullVersion>k__BackingField: 3.1.5 - - <FullVersion>k__BackingField: 3.1.4 - - <FullVersion>k__BackingField: 3.1.3 - - <FullVersion>k__BackingField: 3.1.2 - - <FullVersion>k__BackingField: 3.1.1 - - <FullVersion>k__BackingField: 3.1.0 - - <FullVersion>k__BackingField: 3.0.3 - - <FullVersion>k__BackingField: 3.0.2 - - <FullVersion>k__BackingField: 3.0.1 - - <FullVersion>k__BackingField: 3.0.0 - - <FullVersion>k__BackingField: 2.2.0 - - <FullVersion>k__BackingField: 2.1.1 - - <FullVersion>k__BackingField: 2.1.0 - - <FullVersion>k__BackingField: 2.0.2 - - <FullVersion>k__BackingField: 2.0.1 - - <FullVersion>k__BackingField: 2.0.0 - - <FullVersion>k__BackingField: 1.1.2 - - <FullVersion>k__BackingField: 1.1.1 - - <FullVersion>k__BackingField: 1.1.0 - - <FullVersion>k__BackingField: 1.0.2 - - <FullVersion>k__BackingField: 1.0.1 - - <FullVersion>k__BackingField: 1.0.0 - <Authors>k__BackingField: - - Microsoft - <Description>k__BackingField: Logging infrastructure default implementation - for Microsoft.Extensions.Logging. - <TotalDownloads>k__BackingField: 2644023373 - <LicenseUrl>k__BackingField: https://www.nuget.org/packages/Microsoft.Extensions.Logging/8.0.0/license - <ProjectUrl>k__BackingField: https://dot.net/ - <Summary>k__BackingField: - <Title>k__BackingField: Microsoft.Extensions.Logging - <DownloadUrl>k__BackingField: - - packageLocal: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSource: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageType: 2 - packageV2: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSourceV2: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <SavedProtocolVersion>k__BackingField: - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageV3: - <Id>k__BackingField: Microsoft.Extensions.Logging.Abstractions - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: 8.0.0 - <IsManuallyInstalled>k__BackingField: 0 - dependencies: [] - dependenciesFetched: 0 - icon: {fileID: 0} - iconUrl: https://api.nuget.org/v3-flatcontainer/microsoft.extensions.logging.abstractions/8.0.0/icon - packageSource: - <Name>k__BackingField: nuget.org - <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json - <SavedProtocolVersion>k__BackingField: - <UpdateSearchBatchSize>k__BackingField: 20 - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 1 - <Versions>k__BackingField: - - <FullVersion>k__BackingField: 8.0.0 - - <FullVersion>k__BackingField: 7.0.1 - - <FullVersion>k__BackingField: 7.0.0 - - <FullVersion>k__BackingField: 6.0.4 - - <FullVersion>k__BackingField: 6.0.3 - - <FullVersion>k__BackingField: 6.0.2 - - <FullVersion>k__BackingField: 6.0.1 - - <FullVersion>k__BackingField: 6.0.0 - - <FullVersion>k__BackingField: 5.0.0 - - <FullVersion>k__BackingField: 3.1.32 - - <FullVersion>k__BackingField: 3.1.31 - - <FullVersion>k__BackingField: 3.1.30 - - <FullVersion>k__BackingField: 3.1.29 - - <FullVersion>k__BackingField: 3.1.28 - - <FullVersion>k__BackingField: 3.1.27 - - <FullVersion>k__BackingField: 3.1.26 - - <FullVersion>k__BackingField: 3.1.25 - - <FullVersion>k__BackingField: 3.1.24 - - <FullVersion>k__BackingField: 3.1.23 - - <FullVersion>k__BackingField: 3.1.22 - - <FullVersion>k__BackingField: 3.1.21 - - <FullVersion>k__BackingField: 3.1.20 - - <FullVersion>k__BackingField: 3.1.19 - - <FullVersion>k__BackingField: 3.1.18 - - <FullVersion>k__BackingField: 3.1.17 - - <FullVersion>k__BackingField: 3.1.16 - - <FullVersion>k__BackingField: 3.1.15 - - <FullVersion>k__BackingField: 3.1.14 - - <FullVersion>k__BackingField: 3.1.13 - - <FullVersion>k__BackingField: 3.1.12 - - <FullVersion>k__BackingField: 3.1.11 - - <FullVersion>k__BackingField: 3.1.10 - - <FullVersion>k__BackingField: 3.1.9 - - <FullVersion>k__BackingField: 3.1.8 - - <FullVersion>k__BackingField: 3.1.7 - - <FullVersion>k__BackingField: 3.1.6 - - <FullVersion>k__BackingField: 3.1.5 - - <FullVersion>k__BackingField: 3.1.4 - - <FullVersion>k__BackingField: 3.1.3 - - <FullVersion>k__BackingField: 3.1.2 - - <FullVersion>k__BackingField: 3.1.1 - - <FullVersion>k__BackingField: 3.1.0 - - <FullVersion>k__BackingField: 3.0.3 - - <FullVersion>k__BackingField: 3.0.2 - - <FullVersion>k__BackingField: 3.0.1 - - <FullVersion>k__BackingField: 3.0.0 - - <FullVersion>k__BackingField: 2.2.0 - - <FullVersion>k__BackingField: 2.1.1 - - <FullVersion>k__BackingField: 2.1.0 - - <FullVersion>k__BackingField: 2.0.2 - - <FullVersion>k__BackingField: 2.0.1 - - <FullVersion>k__BackingField: 2.0.0 - - <FullVersion>k__BackingField: 1.1.2 - - <FullVersion>k__BackingField: 1.1.1 - - <FullVersion>k__BackingField: 1.1.0 - - <FullVersion>k__BackingField: 1.0.2 - - <FullVersion>k__BackingField: 1.0.1 - - <FullVersion>k__BackingField: 1.0.0 - <Authors>k__BackingField: - - Microsoft - <Description>k__BackingField: 'Logging abstractions for Microsoft.Extensions.Logging. - - - Commonly - Used Types: - - Microsoft.Extensions.Logging.ILogger - - Microsoft.Extensions.Logging.ILoggerFactory - - Microsoft.Extensions.Logging.ILogger<TCategoryName> - - Microsoft.Extensions.Logging.LogLevel - - Microsoft.Extensions.Logging.Logger<T> - - Microsoft.Extensions.Logging.LoggerMessage - - Microsoft.Extensions.Logging.Abstractions.NullLogger' - <TotalDownloads>k__BackingField: 3923304627 - <LicenseUrl>k__BackingField: https://www.nuget.org/packages/Microsoft.Extensions.Logging.Abstractions/8.0.0/license - <ProjectUrl>k__BackingField: https://dot.net/ - <Summary>k__BackingField: - <Title>k__BackingField: Microsoft.Extensions.Logging.Abstractions - <DownloadUrl>k__BackingField: - - packageLocal: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSource: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageType: 2 - packageV2: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSourceV2: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <SavedProtocolVersion>k__BackingField: - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageV3: - <Id>k__BackingField: Microsoft.Extensions.Options - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: 8.0.0 - <IsManuallyInstalled>k__BackingField: 0 - dependencies: [] - dependenciesFetched: 0 - icon: {fileID: 0} - iconUrl: https://api.nuget.org/v3-flatcontainer/microsoft.extensions.options/8.0.0/icon - packageSource: - <Name>k__BackingField: nuget.org - <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json - <SavedProtocolVersion>k__BackingField: - <UpdateSearchBatchSize>k__BackingField: 20 - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 1 - <Versions>k__BackingField: - - <FullVersion>k__BackingField: 8.0.0 - - <FullVersion>k__BackingField: 7.0.1 - - <FullVersion>k__BackingField: 7.0.0 - - <FullVersion>k__BackingField: 6.0.0 - - <FullVersion>k__BackingField: 5.0.0 - - <FullVersion>k__BackingField: 3.1.32 - - <FullVersion>k__BackingField: 3.1.31 - - <FullVersion>k__BackingField: 3.1.30 - - <FullVersion>k__BackingField: 3.1.29 - - <FullVersion>k__BackingField: 3.1.28 - - <FullVersion>k__BackingField: 3.1.27 - - <FullVersion>k__BackingField: 3.1.26 - - <FullVersion>k__BackingField: 3.1.25 - - <FullVersion>k__BackingField: 3.1.24 - - <FullVersion>k__BackingField: 3.1.23 - - <FullVersion>k__BackingField: 3.1.22 - - <FullVersion>k__BackingField: 3.1.21 - - <FullVersion>k__BackingField: 3.1.20 - - <FullVersion>k__BackingField: 3.1.19 - - <FullVersion>k__BackingField: 3.1.18 - - <FullVersion>k__BackingField: 3.1.17 - - <FullVersion>k__BackingField: 3.1.16 - - <FullVersion>k__BackingField: 3.1.15 - - <FullVersion>k__BackingField: 3.1.14 - - <FullVersion>k__BackingField: 3.1.13 - - <FullVersion>k__BackingField: 3.1.12 - - <FullVersion>k__BackingField: 3.1.11 - - <FullVersion>k__BackingField: 3.1.10 - - <FullVersion>k__BackingField: 3.1.9 - - <FullVersion>k__BackingField: 3.1.8 - - <FullVersion>k__BackingField: 3.1.7 - - <FullVersion>k__BackingField: 3.1.6 - - <FullVersion>k__BackingField: 3.1.5 - - <FullVersion>k__BackingField: 3.1.4 - - <FullVersion>k__BackingField: 3.1.3 - - <FullVersion>k__BackingField: 3.1.2 - - <FullVersion>k__BackingField: 3.1.1 - - <FullVersion>k__BackingField: 3.1.0 - - <FullVersion>k__BackingField: 3.0.3 - - <FullVersion>k__BackingField: 3.0.2 - - <FullVersion>k__BackingField: 3.0.1 - - <FullVersion>k__BackingField: 3.0.0 - - <FullVersion>k__BackingField: 2.2.0 - - <FullVersion>k__BackingField: 2.1.1 - - <FullVersion>k__BackingField: 2.1.0 - - <FullVersion>k__BackingField: 2.0.2 - - <FullVersion>k__BackingField: 2.0.1 - - <FullVersion>k__BackingField: 2.0.0 - - <FullVersion>k__BackingField: 1.1.2 - - <FullVersion>k__BackingField: 1.1.1 - - <FullVersion>k__BackingField: 1.1.0 - - <FullVersion>k__BackingField: 1.0.2 - - <FullVersion>k__BackingField: 1.0.1 - - <FullVersion>k__BackingField: 1.0.0 - <Authors>k__BackingField: - - Microsoft - <Description>k__BackingField: Provides a strongly typed way of specifying and - accessing settings using dependency injection. - <TotalDownloads>k__BackingField: 3861232974 - <LicenseUrl>k__BackingField: https://www.nuget.org/packages/Microsoft.Extensions.Options/8.0.0/license - <ProjectUrl>k__BackingField: https://dot.net/ - <Summary>k__BackingField: - <Title>k__BackingField: Microsoft.Extensions.Options - <DownloadUrl>k__BackingField: - - packageLocal: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSource: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageType: 2 - packageV2: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSourceV2: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <SavedProtocolVersion>k__BackingField: - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageV3: - <Id>k__BackingField: Microsoft.Extensions.Primitives - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: 8.0.0 - <IsManuallyInstalled>k__BackingField: 0 - dependencies: [] - dependenciesFetched: 0 - icon: {fileID: 0} - iconUrl: https://api.nuget.org/v3-flatcontainer/microsoft.extensions.primitives/8.0.0/icon - packageSource: - <Name>k__BackingField: nuget.org - <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json - <SavedProtocolVersion>k__BackingField: - <UpdateSearchBatchSize>k__BackingField: 20 - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 1 - <Versions>k__BackingField: - - <FullVersion>k__BackingField: 8.0.0 - - <FullVersion>k__BackingField: 7.0.0 - - <FullVersion>k__BackingField: 6.0.0 - - <FullVersion>k__BackingField: 5.0.1 - - <FullVersion>k__BackingField: 5.0.0 - - <FullVersion>k__BackingField: 3.1.32 - - <FullVersion>k__BackingField: 3.1.31 - - <FullVersion>k__BackingField: 3.1.30 - - <FullVersion>k__BackingField: 3.1.29 - - <FullVersion>k__BackingField: 3.1.28 - - <FullVersion>k__BackingField: 3.1.27 - - <FullVersion>k__BackingField: 3.1.26 - - <FullVersion>k__BackingField: 3.1.25 - - <FullVersion>k__BackingField: 3.1.24 - - <FullVersion>k__BackingField: 3.1.23 - - <FullVersion>k__BackingField: 3.1.22 - - <FullVersion>k__BackingField: 3.1.21 - - <FullVersion>k__BackingField: 3.1.20 - - <FullVersion>k__BackingField: 3.1.19 - - <FullVersion>k__BackingField: 3.1.18 - - <FullVersion>k__BackingField: 3.1.17 - - <FullVersion>k__BackingField: 3.1.16 - - <FullVersion>k__BackingField: 3.1.15 - - <FullVersion>k__BackingField: 3.1.14 - - <FullVersion>k__BackingField: 3.1.13 - - <FullVersion>k__BackingField: 3.1.12 - - <FullVersion>k__BackingField: 3.1.11 - - <FullVersion>k__BackingField: 3.1.10 - - <FullVersion>k__BackingField: 3.1.9 - - <FullVersion>k__BackingField: 3.1.8 - - <FullVersion>k__BackingField: 3.1.7 - - <FullVersion>k__BackingField: 3.1.6 - - <FullVersion>k__BackingField: 3.1.5 - - <FullVersion>k__BackingField: 3.1.4 - - <FullVersion>k__BackingField: 3.1.3 - - <FullVersion>k__BackingField: 3.1.2 - - <FullVersion>k__BackingField: 3.1.1 - - <FullVersion>k__BackingField: 3.1.0 - - <FullVersion>k__BackingField: 3.0.3 - - <FullVersion>k__BackingField: 3.0.2 - - <FullVersion>k__BackingField: 3.0.1 - - <FullVersion>k__BackingField: 3.0.0 - - <FullVersion>k__BackingField: 2.2.0 - - <FullVersion>k__BackingField: 2.1.6 - - <FullVersion>k__BackingField: 2.1.1 - - <FullVersion>k__BackingField: 2.1.0 - - <FullVersion>k__BackingField: 2.0.0 - - <FullVersion>k__BackingField: 1.1.1 - - <FullVersion>k__BackingField: 1.1.0 - - <FullVersion>k__BackingField: 1.0.1 - - <FullVersion>k__BackingField: 1.0.0 - <Authors>k__BackingField: - - Microsoft - <Description>k__BackingField: 'Primitives shared by framework extensions. Commonly - used types include: - - - Commonly Used Types: - - Microsoft.Extensions.Primitives.IChangeToken - - Microsoft.Extensions.Primitives.StringValues - - Microsoft.Extensions.Primitives.StringSegment' - <TotalDownloads>k__BackingField: 4612660642 - <LicenseUrl>k__BackingField: https://www.nuget.org/packages/Microsoft.Extensions.Primitives/8.0.0/license - <ProjectUrl>k__BackingField: https://dot.net/ - <Summary>k__BackingField: - <Title>k__BackingField: Microsoft.Extensions.Primitives - <DownloadUrl>k__BackingField: - - packageLocal: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSource: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageType: 2 - packageV2: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSourceV2: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <SavedProtocolVersion>k__BackingField: - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageV3: - <Id>k__BackingField: System.Collections.Immutable - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: 8.0.0 - <IsManuallyInstalled>k__BackingField: 0 - dependencies: [] - dependenciesFetched: 0 - icon: {fileID: 0} - iconUrl: https://api.nuget.org/v3-flatcontainer/system.collections.immutable/8.0.0/icon - packageSource: - <Name>k__BackingField: nuget.org - <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json - <SavedProtocolVersion>k__BackingField: - <UpdateSearchBatchSize>k__BackingField: 20 - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 1 - <Versions>k__BackingField: - - <FullVersion>k__BackingField: 8.0.0 - - <FullVersion>k__BackingField: 7.0.0 - - <FullVersion>k__BackingField: 6.0.0 - - <FullVersion>k__BackingField: 5.0.0 - - <FullVersion>k__BackingField: 1.7.1 - - <FullVersion>k__BackingField: 1.7.0 - - <FullVersion>k__BackingField: 1.6.0 - - <FullVersion>k__BackingField: 1.5.0 - - <FullVersion>k__BackingField: 1.4.0 - - <FullVersion>k__BackingField: 1.3.1 - - <FullVersion>k__BackingField: 1.3.0 - - <FullVersion>k__BackingField: 1.2.0 - - <FullVersion>k__BackingField: 1.1.37 - - <FullVersion>k__BackingField: 1.1.36 - <Authors>k__BackingField: - - Microsoft - <Description>k__BackingField: 'This package provides collections that are thread - safe and guaranteed to never change their contents, also known as immutable - collections. Like strings, any methods that perform modifications will not - change the existing instance but instead return a new instance. For efficiency - reasons, the implementation uses a sharing mechanism to ensure that newly - created instances share as much data as possible with the previous instance - while ensuring that operations have a predictable time complexity. - - - The - System.Collections.Immutable library is built-in as part of the shared framework - in .NET Runtime. The package can be installed when you need to use it in - other target frameworks.' - <TotalDownloads>k__BackingField: 1817284688 - <LicenseUrl>k__BackingField: https://www.nuget.org/packages/System.Collections.Immutable/8.0.0/license - <ProjectUrl>k__BackingField: https://dot.net/ - <Summary>k__BackingField: - <Title>k__BackingField: System.Collections.Immutable - <DownloadUrl>k__BackingField: - - packageLocal: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSource: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageType: 2 - packageV2: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSourceV2: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <SavedProtocolVersion>k__BackingField: - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageV3: - <Id>k__BackingField: System.ComponentModel.Annotations - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: 5.0.0 - <IsManuallyInstalled>k__BackingField: 0 - dependencies: [] - dependenciesFetched: 0 - icon: {fileID: 0} - iconUrl: https://api.nuget.org/v3-flatcontainer/system.componentmodel.annotations/5.0.0/icon - packageSource: - <Name>k__BackingField: nuget.org - <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json - <SavedProtocolVersion>k__BackingField: - <UpdateSearchBatchSize>k__BackingField: 20 - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 1 - <Versions>k__BackingField: - - <FullVersion>k__BackingField: 5.0.0 - - <FullVersion>k__BackingField: 4.7.0 - - <FullVersion>k__BackingField: 4.6.0 - - <FullVersion>k__BackingField: 4.5.0 - - <FullVersion>k__BackingField: 4.4.1 - - <FullVersion>k__BackingField: 4.4.0 - - <FullVersion>k__BackingField: 4.3.0 - - <FullVersion>k__BackingField: 4.1.0 - - <FullVersion>k__BackingField: 4.0.10 - - <FullVersion>k__BackingField: 4.0.0 - <Authors>k__BackingField: - - Microsoft - <Description>k__BackingField: "Provides attributes that are used to define - metadata for objects used as data sources.\n\nCommonly Used Types:\nSystem.ComponentModel.DataAnnotations.ValidationResult\nSystem.ComponentModel.DataAnnotations.IValidatableObject\nSystem.ComponentModel.DataAnnotations.ValidationAttribute\nSystem.ComponentModel.DataAnnotations.RequiredAttribute\nSystem.ComponentModel.DataAnnotations.StringLengthAttribute\nSystem.ComponentModel.DataAnnotations.DisplayAttribute\nSystem.ComponentModel.DataAnnotations.RegularExpressionAttribute\nSystem.ComponentModel.DataAnnotations.DataTypeAttribute\nSystem.ComponentModel.DataAnnotations.RangeAttribute\nSystem.ComponentModel.DataAnnotations.KeyAttribute\n - \nWhen using NuGet 3.x this package requires at least version 3.4." - <TotalDownloads>k__BackingField: 1644557912 - <LicenseUrl>k__BackingField: https://www.nuget.org/packages/System.ComponentModel.Annotations/5.0.0/license - <ProjectUrl>k__BackingField: https://github.com/dotnet/runtime - <Summary>k__BackingField: - <Title>k__BackingField: System.ComponentModel.Annotations - <DownloadUrl>k__BackingField: - - packageLocal: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSource: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageType: 2 - packageV2: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSourceV2: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <SavedProtocolVersion>k__BackingField: - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageV3: - <Id>k__BackingField: System.Diagnostics.DiagnosticSource - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: 8.0.0 - <IsManuallyInstalled>k__BackingField: 0 - dependencies: [] - dependenciesFetched: 0 - icon: {fileID: 0} - iconUrl: https://api.nuget.org/v3-flatcontainer/system.diagnostics.diagnosticsource/8.0.0/icon - packageSource: - <Name>k__BackingField: nuget.org - <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json - <SavedProtocolVersion>k__BackingField: - <UpdateSearchBatchSize>k__BackingField: 20 - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 1 - <Versions>k__BackingField: - - <FullVersion>k__BackingField: 8.0.0 - - <FullVersion>k__BackingField: 7.0.2 - - <FullVersion>k__BackingField: 7.0.1 - - <FullVersion>k__BackingField: 7.0.0 - - <FullVersion>k__BackingField: 6.0.1 - - <FullVersion>k__BackingField: 6.0.0 - - <FullVersion>k__BackingField: 5.0.1 - - <FullVersion>k__BackingField: 5.0.0 - - <FullVersion>k__BackingField: 4.7.1 - - <FullVersion>k__BackingField: 4.7.0 - - <FullVersion>k__BackingField: 4.6.0 - - <FullVersion>k__BackingField: 4.5.1 - - <FullVersion>k__BackingField: 4.5.0 - - <FullVersion>k__BackingField: 4.4.1 - - <FullVersion>k__BackingField: 4.4.0 - - <FullVersion>k__BackingField: 4.3.1 - - <FullVersion>k__BackingField: 4.3.0 - - <FullVersion>k__BackingField: 4.0.0 - <Authors>k__BackingField: - - Microsoft - <Description>k__BackingField: 'Provides Classes that allow you to decouple - code logging rich (unserializable) diagnostics/telemetry (e.g. framework) - from code that consumes it (e.g. tools) - - - Commonly Used Types: - - System.Diagnostics.DiagnosticListener - - System.Diagnostics.DiagnosticSource' - <TotalDownloads>k__BackingField: 3799345755 - <LicenseUrl>k__BackingField: https://www.nuget.org/packages/System.Diagnostics.DiagnosticSource/8.0.0/license - <ProjectUrl>k__BackingField: https://dot.net/ - <Summary>k__BackingField: - <Title>k__BackingField: System.Diagnostics.DiagnosticSource - <DownloadUrl>k__BackingField: - - packageLocal: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSource: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageType: 2 - packageV2: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSourceV2: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <SavedProtocolVersion>k__BackingField: - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageV3: - <Id>k__BackingField: System.IO.Hashing - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: 8.0.0 - <IsManuallyInstalled>k__BackingField: 0 - dependencies: [] - dependenciesFetched: 0 - icon: {fileID: 0} - iconUrl: https://api.nuget.org/v3-flatcontainer/system.io.hashing/8.0.0/icon - packageSource: - <Name>k__BackingField: nuget.org - <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json - <SavedProtocolVersion>k__BackingField: - <UpdateSearchBatchSize>k__BackingField: 20 - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 1 - <Versions>k__BackingField: - - <FullVersion>k__BackingField: 8.0.0 - - <FullVersion>k__BackingField: 7.0.0 - - <FullVersion>k__BackingField: 6.0.2 - - <FullVersion>k__BackingField: 6.0.1 - - <FullVersion>k__BackingField: 6.0.0 - <Authors>k__BackingField: - - Microsoft - <Description>k__BackingField: 'Provides non-cryptographic hash algorithms, - such as CRC-32. - - - Commonly Used Types: - - System.IO.Hashing.Crc32 - - System.IO.Hashing.XxHash32' - <TotalDownloads>k__BackingField: 86287458 - <LicenseUrl>k__BackingField: https://www.nuget.org/packages/System.IO.Hashing/8.0.0/license - <ProjectUrl>k__BackingField: https://dot.net/ - <Summary>k__BackingField: - <Title>k__BackingField: System.IO.Hashing - <DownloadUrl>k__BackingField: - - packageLocal: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSource: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageType: 2 - packageV2: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSourceV2: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <SavedProtocolVersion>k__BackingField: - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageV3: - <Id>k__BackingField: System.Runtime.CompilerServices.Unsafe - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: 6.0.0 - <IsManuallyInstalled>k__BackingField: 0 - dependencies: [] - dependenciesFetched: 0 - icon: {fileID: 0} - iconUrl: https://api.nuget.org/v3-flatcontainer/system.runtime.compilerservices.unsafe/6.0.0/icon - packageSource: - <Name>k__BackingField: nuget.org - <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json - <SavedProtocolVersion>k__BackingField: - <UpdateSearchBatchSize>k__BackingField: 20 - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 1 - <Versions>k__BackingField: - - <FullVersion>k__BackingField: 6.0.0 - - <FullVersion>k__BackingField: 5.0.0 - - <FullVersion>k__BackingField: 4.7.1 - - <FullVersion>k__BackingField: 4.7.0 - - <FullVersion>k__BackingField: 4.6.0 - - <FullVersion>k__BackingField: 4.5.3 - - <FullVersion>k__BackingField: 4.5.2 - - <FullVersion>k__BackingField: 4.5.1 - - <FullVersion>k__BackingField: 4.5.0 - - <FullVersion>k__BackingField: 4.4.0 - - <FullVersion>k__BackingField: 4.3.0 - - <FullVersion>k__BackingField: 4.0.0 - <Authors>k__BackingField: - - Microsoft - <Description>k__BackingField: 'Provides the System.Runtime.CompilerServices.Unsafe - class, which provides generic, low-level functionality for manipulating pointers. - - - Commonly - Used Types: - - System.Runtime.CompilerServices.Unsafe' - <TotalDownloads>k__BackingField: 3886345057 - <LicenseUrl>k__BackingField: https://www.nuget.org/packages/System.Runtime.CompilerServices.Unsafe/6.0.0/license - <ProjectUrl>k__BackingField: https://dot.net/ - <Summary>k__BackingField: - <Title>k__BackingField: System.Runtime.CompilerServices.Unsafe - <DownloadUrl>k__BackingField: - - packageLocal: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSource: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageType: 2 - packageV2: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSourceV2: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <SavedProtocolVersion>k__BackingField: - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageV3: - <Id>k__BackingField: System.Text.Encodings.Web - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: 8.0.0 - <IsManuallyInstalled>k__BackingField: 0 - dependencies: [] - dependenciesFetched: 0 - icon: {fileID: 0} - iconUrl: https://api.nuget.org/v3-flatcontainer/system.text.encodings.web/8.0.0/icon - packageSource: - <Name>k__BackingField: nuget.org - <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json - <SavedProtocolVersion>k__BackingField: - <UpdateSearchBatchSize>k__BackingField: 20 - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 1 - <Versions>k__BackingField: - - <FullVersion>k__BackingField: 8.0.0 - - <FullVersion>k__BackingField: 7.0.0 - - <FullVersion>k__BackingField: 6.0.0 - - <FullVersion>k__BackingField: 5.0.1 - - <FullVersion>k__BackingField: 5.0.0 - - <FullVersion>k__BackingField: 4.7.2 - - <FullVersion>k__BackingField: 4.7.1 - - <FullVersion>k__BackingField: 4.7.0 - - <FullVersion>k__BackingField: 4.6.0 - - <FullVersion>k__BackingField: 4.5.1 - - <FullVersion>k__BackingField: 4.5.0 - - <FullVersion>k__BackingField: 4.4.0 - - <FullVersion>k__BackingField: 4.3.1 - - <FullVersion>k__BackingField: 4.3.0 - - <FullVersion>k__BackingField: 4.0.1 - - <FullVersion>k__BackingField: 4.0.0 - <Authors>k__BackingField: - - Microsoft - <Description>k__BackingField: 'Provides types for encoding and escaping strings - for use in JavaScript, HyperText Markup Language (HTML), and uniform resource - locators (URL). - - - Commonly Used Types: - - System.Text.Encodings.Web.HtmlEncoder - - System.Text.Encodings.Web.UrlEncoder - - System.Text.Encodings.Web.JavaScriptEncoder' - <TotalDownloads>k__BackingField: 2142717214 - <LicenseUrl>k__BackingField: https://www.nuget.org/packages/System.Text.Encodings.Web/8.0.0/license - <ProjectUrl>k__BackingField: https://dot.net/ - <Summary>k__BackingField: - <Title>k__BackingField: System.Text.Encodings.Web - <DownloadUrl>k__BackingField: - - packageLocal: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSource: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageType: 2 - packageV2: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSourceV2: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <SavedProtocolVersion>k__BackingField: - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageV3: - <Id>k__BackingField: System.Text.Json - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: 8.0.0 - <IsManuallyInstalled>k__BackingField: 0 - dependencies: [] - dependenciesFetched: 0 - icon: {fileID: 0} - iconUrl: https://api.nuget.org/v3-flatcontainer/system.text.json/8.0.0/icon - packageSource: - <Name>k__BackingField: nuget.org - <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json - <SavedProtocolVersion>k__BackingField: - <UpdateSearchBatchSize>k__BackingField: 20 - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 1 - <Versions>k__BackingField: - - <FullVersion>k__BackingField: 8.0.0 - - <FullVersion>k__BackingField: 7.0.4 - - <FullVersion>k__BackingField: 7.0.3 - - <FullVersion>k__BackingField: 7.0.2 - - <FullVersion>k__BackingField: 7.0.1 - - <FullVersion>k__BackingField: 7.0.0 - - <FullVersion>k__BackingField: 6.0.9 - - <FullVersion>k__BackingField: 6.0.8 - - <FullVersion>k__BackingField: 6.0.7 - - <FullVersion>k__BackingField: 6.0.6 - - <FullVersion>k__BackingField: 6.0.5 - - <FullVersion>k__BackingField: 6.0.4 - - <FullVersion>k__BackingField: 6.0.3 - - <FullVersion>k__BackingField: 6.0.2 - - <FullVersion>k__BackingField: 6.0.1 - - <FullVersion>k__BackingField: 6.0.0 - - <FullVersion>k__BackingField: 5.0.2 - - <FullVersion>k__BackingField: 5.0.1 - - <FullVersion>k__BackingField: 5.0.0 - - <FullVersion>k__BackingField: 4.7.2 - - <FullVersion>k__BackingField: 4.7.1 - - <FullVersion>k__BackingField: 4.7.0 - - <FullVersion>k__BackingField: 4.6.0 - <Authors>k__BackingField: - - Microsoft - <Description>k__BackingField: 'Provides high-performance and low-allocating - types that serialize objects to JavaScript Object Notation (JSON) text and - deserialize JSON text to objects, with UTF-8 support built-in. Also provides - types to read and write JSON text encoded as UTF-8, and to create an in-memory - document object model (DOM), that is read-only, for random access of the - JSON elements within a structured view of the data. - - - The System.Text.Json - library is built-in as part of the shared framework in .NET Runtime. The - package can be installed when you need to use it in other target frameworks.' - <TotalDownloads>k__BackingField: 1673443518 - <LicenseUrl>k__BackingField: https://www.nuget.org/packages/System.Text.Json/8.0.0/license - <ProjectUrl>k__BackingField: https://dot.net/ - <Summary>k__BackingField: - <Title>k__BackingField: System.Text.Json - <DownloadUrl>k__BackingField: - - packageLocal: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSource: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageType: 2 - packageV2: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSourceV2: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <SavedProtocolVersion>k__BackingField: - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageV3: - <Id>k__BackingField: System.Threading.Channels - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: 8.0.0 - <IsManuallyInstalled>k__BackingField: 0 - dependencies: [] - dependenciesFetched: 0 - icon: {fileID: 0} - iconUrl: https://api.nuget.org/v3-flatcontainer/system.threading.channels/8.0.0/icon - packageSource: - <Name>k__BackingField: nuget.org - <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json - <SavedProtocolVersion>k__BackingField: - <UpdateSearchBatchSize>k__BackingField: 20 - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 1 - <Versions>k__BackingField: - - <FullVersion>k__BackingField: 8.0.0 - - <FullVersion>k__BackingField: 7.0.0 - - <FullVersion>k__BackingField: 6.0.0 - - <FullVersion>k__BackingField: 5.0.0 - - <FullVersion>k__BackingField: 4.7.1 - - <FullVersion>k__BackingField: 4.7.0 - - <FullVersion>k__BackingField: 4.6.0 - - <FullVersion>k__BackingField: 4.5.0 - <Authors>k__BackingField: - - Microsoft - <Description>k__BackingField: 'Provides types for passing data between producers - and consumers. - - - Commonly Used Types: - - System.Threading.Channel - - System.Threading.Channel<T>' - <TotalDownloads>k__BackingField: 439058809 - <LicenseUrl>k__BackingField: https://www.nuget.org/packages/System.Threading.Channels/8.0.0/license - <ProjectUrl>k__BackingField: https://dot.net/ - <Summary>k__BackingField: - <Title>k__BackingField: System.Threading.Channels - <DownloadUrl>k__BackingField: - - packageLocal: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSource: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageType: 2 - packageV2: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSourceV2: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <SavedProtocolVersion>k__BackingField: - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageV3: - <Id>k__BackingField: Utf8StringInterpolation - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: 1.3.1 - <IsManuallyInstalled>k__BackingField: 0 - dependencies: [] - dependenciesFetched: 0 - icon: {fileID: 0} - iconUrl: https://api.nuget.org/v3-flatcontainer/utf8stringinterpolation/1.3.1/icon - packageSource: - <Name>k__BackingField: nuget.org - <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json - <SavedProtocolVersion>k__BackingField: - <UpdateSearchBatchSize>k__BackingField: 20 - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 1 - <Versions>k__BackingField: - - <FullVersion>k__BackingField: 1.3.1 - - <FullVersion>k__BackingField: 1.3.0 - - <FullVersion>k__BackingField: 1.2.3 - - <FullVersion>k__BackingField: 1.2.2 - - <FullVersion>k__BackingField: 1.2.1 - - <FullVersion>k__BackingField: 1.2.0 - - <FullVersion>k__BackingField: 1.1.0 - - <FullVersion>k__BackingField: 1.0.0 - <Authors>k__BackingField: - - Cysharp - <Description>k__BackingField: Successor of ZString; UTF8 based zero allocation - high-peformance String Interpolation and StringBuilder. - <TotalDownloads>k__BackingField: 996 - <LicenseUrl>k__BackingField: https://www.nuget.org/packages/Utf8StringInterpolation/1.3.1/license - <ProjectUrl>k__BackingField: https://github.com/Cysharp/Utf8StringInterpolation - <Summary>k__BackingField: - <Title>k__BackingField: Utf8StringInterpolation - <DownloadUrl>k__BackingField: - - packageLocal: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSource: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageType: 2 - packageV2: - <Id>k__BackingField: - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: - <IsManuallyInstalled>k__BackingField: 0 - icon: {fileID: 0} - <DownloadUrl>k__BackingField: - <IconUrl>k__BackingField: - <RepositoryBranch>k__BackingField: - <Dependencies>k__BackingField: [] - <Authors>k__BackingField: [] - <Description>k__BackingField: - <TotalDownloads>k__BackingField: 0 - <LicenseUrl>k__BackingField: - <ProjectUrl>k__BackingField: - <ReleaseNotes>k__BackingField: - <RepositoryCommit>k__BackingField: - <RepositoryType>k__BackingField: 0 - <RepositoryUrl>k__BackingField: - <Summary>k__BackingField: - <Title>k__BackingField: - packageSourceV2: - <Name>k__BackingField: - <SavedPath>k__BackingField: - <SavedProtocolVersion>k__BackingField: - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 0 - versions: [] - packageV3: - <Id>k__BackingField: ZLogger - <PackageVersion>k__BackingField: - <FullVersion>k__BackingField: 2.0.0 - <IsManuallyInstalled>k__BackingField: 0 - dependencies: [] - dependenciesFetched: 0 - icon: {fileID: 0} - iconUrl: https://api.nuget.org/v3-flatcontainer/zlogger/2.0.0/icon - packageSource: - <Name>k__BackingField: nuget.org - <SavedPath>k__BackingField: https://api.nuget.org/v3/index.json - <SavedProtocolVersion>k__BackingField: - <UpdateSearchBatchSize>k__BackingField: 20 - <UserName>k__BackingField: - <SavedPassword>k__BackingField: - <IsEnabled>k__BackingField: 1 - <Versions>k__BackingField: - - <FullVersion>k__BackingField: 2.0.0 - - <FullVersion>k__BackingField: 1.7.1 - - <FullVersion>k__BackingField: 1.7.0 - - <FullVersion>k__BackingField: 1.6.2 - - <FullVersion>k__BackingField: 1.6.1 - - <FullVersion>k__BackingField: 1.6.0 - - <FullVersion>k__BackingField: 1.5.1 - - <FullVersion>k__BackingField: 1.5.0 - - <FullVersion>k__BackingField: 1.4.1 - - <FullVersion>k__BackingField: 1.4.0 - - <FullVersion>k__BackingField: 1.3.0 - - <FullVersion>k__BackingField: 1.2.1 - - <FullVersion>k__BackingField: 1.2.0 - - <FullVersion>k__BackingField: 1.1.11 - - <FullVersion>k__BackingField: 1.1.10 - - <FullVersion>k__BackingField: 1.1.9 - - <FullVersion>k__BackingField: 1.1.8 - - <FullVersion>k__BackingField: 1.1.7 - - <FullVersion>k__BackingField: 1.1.6 - - <FullVersion>k__BackingField: 1.1.5 - - <FullVersion>k__BackingField: 1.1.4 - - <FullVersion>k__BackingField: 1.1.3 - - <FullVersion>k__BackingField: 1.1.2 - - <FullVersion>k__BackingField: 1.1.1 - - <FullVersion>k__BackingField: 1.1.0 - - <FullVersion>k__BackingField: 1.0.0 - - <FullVersion>k__BackingField: 0.4.1 - - <FullVersion>k__BackingField: 0.3.0 - - <FullVersion>k__BackingField: 0.2.1 - - <FullVersion>k__BackingField: 0.2.0 - - <FullVersion>k__BackingField: 0.1.3 - - <FullVersion>k__BackingField: 0.1.2 - <Authors>k__BackingField: - - Cysharp - <Description>k__BackingField: Zero Allocation Text/Strcutured Logger for .NET - Core, built on top of a Microsoft.Extensions.Logging. - <TotalDownloads>k__BackingField: 923996 - <LicenseUrl>k__BackingField: https://www.nuget.org/packages/ZLogger/2.0.0/license - <ProjectUrl>k__BackingField: https://github.com/Cysharp/ZLogger - <Summary>k__BackingField: - <Title>k__BackingField: ZLogger - <DownloadUrl>k__BackingField: ---- !u!114 &28 + x: 0 + y: 517 + width: 1869 + height: 820 + m_MinSize: {x: 101, y: 121} + m_MaxSize: {x: 4001, y: 4021} + m_ActualView: {fileID: 13} + m_Panes: + - {fileID: 18} + - {fileID: 14} + - {fileID: 13} + m_Selected: 2 + m_LastSelected: 1 +--- !u!114 &12 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -3239,33 +285,25 @@ MonoBehaviour: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 13953, guid: 0000000000000000e000000000000000, type: 0} + m_EditorHideFlags: 1 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} m_Name: m_EditorClassIdentifier: - m_MinSize: {x: 800, y: 250} - m_MaxSize: {x: 4000, y: 4000} - m_TitleContent: - m_Text: Package Manager - m_Image: {fileID: -2824328813065806953, guid: 0000000000000000d000000000000000, type: 0} - m_Tooltip: - m_Pos: + m_Children: [] + m_Position: serializedVersion: 2 - x: -1806 - y: 464 - width: 1356 - height: 828 - m_SerializedDataModeController: - m_DataMode: 0 - m_PreferredDataMode: 0 - m_SupportedDataModes: - isAutomatic: 1 - m_ViewDataDictionary: {fileID: 0} - m_OverlayCanvas: - m_LastAppliedPresetName: Default - m_SaveData: [] - m_OverlaysVisible: 1 ---- !u!114 &29 + x: 1869 + y: 0 + width: 571 + height: 1337 + m_MinSize: {x: 275, y: 50} + m_MaxSize: {x: 4000, y: 4000} + m_ActualView: {fileID: 19} + m_Panes: + - {fileID: 19} + m_Selected: 0 + m_LastSelected: 0 +--- !u!114 &13 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -3285,8 +323,8 @@ MonoBehaviour: m_Tooltip: m_Pos: serializedVersion: 2 - x: -2552 - y: 817 + x: 0 + y: 600 width: 1868 height: 799 m_SerializedDataModeController: @@ -3300,7 +338,7 @@ MonoBehaviour: m_SaveData: [] m_OverlaysVisible: 1 m_Spl: - ID: 361 + ID: 614 splitterInitialOffset: 0 currentActiveSplitter: -1 realSizes: @@ -3325,14 +363,14 @@ MonoBehaviour: oldSplitSize: 0 m_TestTypeToolbarIndex: 0 m_PlayModeTestListGUI: - m_Window: {fileID: 29} + m_Window: {fileID: 13} m_NewResultList: - id: 1000 uniqueId: '[ZLogger.Unity][suite]' name: ZLogger.Unity fullName: ZLogger.Unity - resultStatus: 0 - duration: 0 + resultStatus: 1 + duration: 0.3762179 messages: output: stacktrace: @@ -3343,13 +381,298 @@ MonoBehaviour: categories: [] parentId: parentUniqueId: - m_ResultText: + - id: 1016 + uniqueId: '[Tests.dll][suite]' + name: Tests.dll + fullName: /Users/s24061/dev/ZLogger/src/ZLogger.Unity/Library/ScriptAssemblies/Tests.dll + resultStatus: 1 + duration: 0.3613771 + messages: + output: + stacktrace: + notRunnable: 0 + ignoredOrSkipped: 0 + description: + isSuite: 1 + categories: [] + parentId: 1000 + parentUniqueId: '[ZLogger.Unity][suite]' + - id: 1017 + uniqueId: Tests.dll/[Tests][suite] + name: Tests + fullName: Tests + resultStatus: 1 + duration: 0.3487809 + messages: + output: + stacktrace: + notRunnable: 0 + ignoredOrSkipped: 0 + description: + isSuite: 1 + categories: [] + parentId: 1016 + parentUniqueId: '[Tests.dll][suite]' + - id: 1001 + uniqueId: Tests.dll/Tests/[Tests][Tests.JsonFormatTest][suite] + name: JsonFormatTest + fullName: Tests.JsonFormatTest + resultStatus: 1 + duration: 0.2774608 + messages: + output: + stacktrace: + notRunnable: 0 + ignoredOrSkipped: 0 + description: + isSuite: 1 + categories: [] + parentId: 1017 + parentUniqueId: Tests.dll/[Tests][suite] + - id: 1009 + uniqueId: Tests.dll/Tests/JsonFormatTest/[Tests][Tests.JsonFormatTest.ConfigureName] + name: ConfigureName + fullName: Tests.JsonFormatTest.ConfigureName + resultStatus: 1 + duration: 0.1548661 + messages: + output: + stacktrace: + notRunnable: 0 + ignoredOrSkipped: 0 + description: + isSuite: 0 + categories: + - Uncategorized + parentId: 1001 + parentUniqueId: Tests.dll/Tests/[Tests][Tests.JsonFormatTest][suite] + - id: 1002 + uniqueId: Tests.dll/Tests/JsonFormatTest/[Tests][Tests.JsonFormatTest.FormatLogEntry_CustomMetadata] + name: FormatLogEntry_CustomMetadata + fullName: Tests.JsonFormatTest.FormatLogEntry_CustomMetadata + resultStatus: 1 + duration: 0.087987 + messages: + output: + stacktrace: + notRunnable: 0 + ignoredOrSkipped: 0 + description: + isSuite: 0 + categories: + - Uncategorized + parentId: 1001 + parentUniqueId: Tests.dll/Tests/[Tests][Tests.JsonFormatTest][suite] + - id: 1004 + uniqueId: Tests.dll/Tests/JsonFormatTest/[Tests][Tests.JsonFormatTest.FormatLogEntry_ExcludeAllLogInfo] + name: FormatLogEntry_ExcludeAllLogInfo + fullName: Tests.JsonFormatTest.FormatLogEntry_ExcludeAllLogInfo + resultStatus: 1 + duration: 0.002479 + messages: + output: + stacktrace: + notRunnable: 0 + ignoredOrSkipped: 0 + description: + isSuite: 0 + categories: + - Uncategorized + parentId: 1001 + parentUniqueId: Tests.dll/Tests/[Tests][Tests.JsonFormatTest][suite] + - id: 1003 + uniqueId: Tests.dll/Tests/JsonFormatTest/[Tests][Tests.JsonFormatTest.FormatLogEntry_ExcludeLogInfoProperties] + name: FormatLogEntry_ExcludeLogInfoProperties + fullName: Tests.JsonFormatTest.FormatLogEntry_ExcludeLogInfoProperties + resultStatus: 1 + duration: 0.0013595 + messages: + output: + stacktrace: + notRunnable: 0 + ignoredOrSkipped: 0 + description: + isSuite: 0 + categories: + - Uncategorized + parentId: 1001 + parentUniqueId: Tests.dll/Tests/[Tests][Tests.JsonFormatTest][suite] + - id: 1010 + uniqueId: Tests.dll/Tests/JsonFormatTest/[Tests][Tests.JsonFormatTest.KeyNameMutator_CallMethod] + name: KeyNameMutator_CallMethod + fullName: Tests.JsonFormatTest.KeyNameMutator_CallMethod + resultStatus: 1 + duration: 0.0023535 + messages: + output: + stacktrace: + notRunnable: 0 + ignoredOrSkipped: 0 + description: + isSuite: 0 + categories: + - Uncategorized + parentId: 1001 + parentUniqueId: Tests.dll/Tests/[Tests][Tests.JsonFormatTest][suite] + - id: 1005 + uniqueId: Tests.dll/Tests/JsonFormatTest/[Tests][Tests.JsonFormatTest.KeyNameMutator_Lower] + name: KeyNameMutator_Lower + fullName: Tests.JsonFormatTest.KeyNameMutator_Lower + resultStatus: 1 + duration: 0.0024123 + messages: + output: + stacktrace: + notRunnable: 0 + ignoredOrSkipped: 0 + description: + isSuite: 0 + categories: + - Uncategorized + parentId: 1001 + parentUniqueId: Tests.dll/Tests/[Tests][Tests.JsonFormatTest][suite] + - id: 1006 + uniqueId: Tests.dll/Tests/JsonFormatTest/[Tests][Tests.JsonFormatTest.KeyNameMutatorProp1] + name: KeyNameMutatorProp1 + fullName: Tests.JsonFormatTest.KeyNameMutatorProp1 + resultStatus: 1 + duration: 0.0014332 + messages: + output: + stacktrace: + notRunnable: 0 + ignoredOrSkipped: 0 + description: + isSuite: 0 + categories: + - Uncategorized + parentId: 1001 + parentUniqueId: Tests.dll/Tests/[Tests][Tests.JsonFormatTest][suite] + - id: 1007 + uniqueId: Tests.dll/Tests/JsonFormatTest/[Tests][Tests.JsonFormatTest.KeyNameMutatorProp2] + name: KeyNameMutatorProp2 + fullName: Tests.JsonFormatTest.KeyNameMutatorProp2 + resultStatus: 1 + duration: 0.0024686 + messages: + output: + stacktrace: + notRunnable: 0 + ignoredOrSkipped: 0 + description: + isSuite: 0 + categories: + - Uncategorized + parentId: 1001 + parentUniqueId: Tests.dll/Tests/[Tests][Tests.JsonFormatTest][suite] + - id: 1008 + uniqueId: Tests.dll/Tests/JsonFormatTest/[Tests][Tests.JsonFormatTest.NestPayload] + name: NestPayload + fullName: Tests.JsonFormatTest.NestPayload + resultStatus: 1 + duration: 0.0027834 + messages: + output: + stacktrace: + notRunnable: 0 + ignoredOrSkipped: 0 + description: + isSuite: 0 + categories: + - Uncategorized + parentId: 1001 + parentUniqueId: Tests.dll/Tests/[Tests][Tests.JsonFormatTest][suite] + - id: 1011 + uniqueId: Tests.dll/Tests/[Tests][Tests.ScopeTest][suite] + name: ScopeTest + fullName: Tests.ScopeTest + resultStatus: 1 + duration: 0.0678815 + messages: + output: + stacktrace: + notRunnable: 0 + ignoredOrSkipped: 0 + description: + isSuite: 1 + categories: [] + parentId: 1017 + parentUniqueId: Tests.dll/[Tests][suite] + - id: 1014 + uniqueId: Tests.dll/Tests/ScopeTest/[Tests][Tests.ScopeTest.BeginScope_AnyScopeValueToJson] + name: BeginScope_AnyScopeValueToJson + fullName: Tests.ScopeTest.BeginScope_AnyScopeValueToJson + resultStatus: 1 + duration: 0.030433 + messages: + output: + stacktrace: + notRunnable: 0 + ignoredOrSkipped: 0 + description: + isSuite: 0 + categories: + - Uncategorized + parentId: 1011 + parentUniqueId: Tests.dll/Tests/[Tests][Tests.ScopeTest][suite] + - id: 1012 + uniqueId: Tests.dll/Tests/ScopeTest/[Tests][Tests.ScopeTest.BeginScope_FormattedLogValuesToJson] + name: BeginScope_FormattedLogValuesToJson + fullName: Tests.ScopeTest.BeginScope_FormattedLogValuesToJson + resultStatus: 1 + duration: 0.0140173 + messages: + output: + stacktrace: + notRunnable: 0 + ignoredOrSkipped: 0 + description: + isSuite: 0 + categories: + - Uncategorized + parentId: 1011 + parentUniqueId: Tests.dll/Tests/[Tests][Tests.ScopeTest][suite] + - id: 1013 + uniqueId: Tests.dll/Tests/ScopeTest/[Tests][Tests.ScopeTest.BeginScope_KeyValuePairToJson] + name: BeginScope_KeyValuePairToJson + fullName: Tests.ScopeTest.BeginScope_KeyValuePairToJson + resultStatus: 1 + duration: 0.005446 + messages: + output: + stacktrace: + notRunnable: 0 + ignoredOrSkipped: 0 + description: + isSuite: 0 + categories: + - Uncategorized + parentId: 1011 + parentUniqueId: Tests.dll/Tests/[Tests][Tests.ScopeTest][suite] + - id: 1015 + uniqueId: Tests.dll/Tests/ScopeTest/[Tests][Tests.ScopeTest.BeginScope_NestedToJson] + name: BeginScope_NestedToJson + fullName: Tests.ScopeTest.BeginScope_NestedToJson + resultStatus: 1 + duration: 0.0009631 + messages: + output: + stacktrace: + notRunnable: 0 + ignoredOrSkipped: 0 + description: + isSuite: 0 + categories: + - Uncategorized + parentId: 1011 + parentUniqueId: Tests.dll/Tests/[Tests][Tests.ScopeTest][suite] + m_ResultText: KeyNameMutator_Lower (0.002s) m_ResultStacktrace: m_TestListState: scrollPos: {x: 0, y: 0} - m_SelectedIDs: - m_LastClickedID: 0 - m_ExpandedIDs: 2971d1a7a36dd169ffffff7f + m_SelectedIDs: ed695973 + m_LastClickedID: 1935239661 + m_ExpandedIDs: 660d899f2971d1a7e557abf7ad60f33b8359db41a36dd169ffffff7f m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -3377,7 +700,7 @@ MonoBehaviour: - Uncategorized m_SelectedOption: 0 m_EditModeTestListGUI: - m_Window: {fileID: 29} + m_Window: {fileID: 13} m_NewResultList: - id: 1002 uniqueId: '[ZLogger.Unity][suite]' @@ -3427,7 +750,7 @@ MonoBehaviour: selectedCategoryMask: 0 availableCategories: - Uncategorized ---- !u!114 &30 +--- !u!114 &14 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -3447,8 +770,8 @@ MonoBehaviour: m_Tooltip: m_Pos: serializedVersion: 2 - x: -2552 - y: 817 + x: 0 + y: 600 width: 1868 height: 799 m_SerializedDataModeController: @@ -3461,7 +784,7 @@ MonoBehaviour: m_LastAppliedPresetName: Default m_SaveData: [] m_OverlaysVisible: 1 ---- !u!114 &31 +--- !u!114 &15 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -3481,8 +804,8 @@ MonoBehaviour: m_Tooltip: m_Pos: serializedVersion: 2 - x: -2552 - y: 300 + x: 0 + y: 83 width: 715 height: 496 m_SerializedDataModeController: @@ -3559,7 +882,7 @@ MonoBehaviour: m_LowResolutionForAspectRatios: 01000000000000000000 m_XRRenderMode: 0 m_RenderTexture: {fileID: 0} ---- !u!114 &32 +--- !u!114 &16 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -3579,8 +902,8 @@ MonoBehaviour: m_Tooltip: m_Pos: serializedVersion: 2 - x: -1836 - y: 300 + x: 716 + y: 83 width: 677 height: 496 m_SerializedDataModeController: @@ -3968,7 +1291,7 @@ MonoBehaviour: m_SceneVisActive: 1 m_LastLockedObject: {fileID: 0} m_ViewIsLockedToObject: 0 ---- !u!114 &33 +--- !u!114 &17 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -3988,8 +1311,8 @@ MonoBehaviour: m_Tooltip: m_Pos: serializedVersion: 2 - x: -1157 - y: 300 + x: 1395 + y: 83 width: 472 height: 496 m_SerializedDataModeController: @@ -4005,9 +1328,9 @@ MonoBehaviour: m_SceneHierarchy: m_TreeViewState: scrollPos: {x: 0, y: 0} - m_SelectedIDs: fc880000 + m_SelectedIDs: m_LastClickedID: 0 - m_ExpandedIDs: be33ffff + m_ExpandedIDs: 126bffff6a6bfffff66dffff506effff8c6fffff1870ffff0673ffff5e73ffff9274ffffaa78ffff m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -4031,7 +1354,7 @@ MonoBehaviour: m_IsLocked: 0 m_CurrentSortingName: TransformSorting m_WindowGUID: 4c969a2b90040154d917609493e03593 ---- !u!114 &34 +--- !u!114 &18 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -4051,8 +1374,8 @@ MonoBehaviour: m_Tooltip: m_Pos: serializedVersion: 2 - x: -2552 - y: 817 + x: 0 + y: 600 width: 1868 height: 799 m_SerializedDataModeController: @@ -4070,15 +1393,13 @@ MonoBehaviour: m_ClassNames: [] m_AssetLabels: [] m_AssetBundleNames: [] - m_VersionControlStates: [] - m_SoftLockControlStates: [] m_ReferencingInstanceIDs: m_SceneHandles: m_ShowAllHits: 0 m_SkipHidden: 0 m_SearchArea: 1 m_Folders: - - Assets/Tests + - Assets/Sample m_Globs: [] m_OriginalText: m_ImportLogFlags: 0 @@ -4086,16 +1407,16 @@ MonoBehaviour: m_ViewMode: 1 m_StartGridSize: 16 m_LastFolders: - - Assets/Tests + - Assets/Sample m_LastFoldersGridSize: 16 m_LastProjectPath: /Users/s24061/dev/ZLogger/src/ZLogger.Unity m_LockTracker: m_IsLocked: 0 m_FolderTreeState: scrollPos: {x: 0, y: 0} - m_SelectedIDs: e67e0000 - m_LastClickedID: 32486 - m_ExpandedIDs: 00000000f2050000d206000000ca9a3bffffff7f + m_SelectedIDs: dc6f0000 + m_LastClickedID: 28636 + m_ExpandedIDs: 00000000d66f000000ca9a3bffffff7f m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -4111,7 +1432,7 @@ MonoBehaviour: m_IsRenaming: 0 m_OriginalEventType: 11 m_IsRenamingFilename: 1 - m_ClientGUIView: {fileID: 23} + m_ClientGUIView: {fileID: 11} m_SearchString: m_CreateAssetUtility: m_EndAction: {fileID: 0} @@ -4123,7 +1444,7 @@ MonoBehaviour: scrollPos: {x: 0, y: 0} m_SelectedIDs: m_LastClickedID: 0 - m_ExpandedIDs: + m_ExpandedIDs: 00000000d66f000000ca9a3bffffff7f m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -4148,26 +1469,26 @@ MonoBehaviour: m_Icon: {fileID: 0} m_ResourceFile: m_ListAreaState: - m_SelectedInstanceIDs: fc880000 - m_LastClickedInstanceID: 35068 - m_HadKeyboardFocusLastEvent: 1 + m_SelectedInstanceIDs: + m_LastClickedInstanceID: 0 + m_HadKeyboardFocusLastEvent: 0 m_ExpandedInstanceIDs: c6230000 m_RenameOverlay: m_UserAcceptedRename: 0 - m_Name: Shims - m_OriginalName: Shims + m_Name: + m_OriginalName: m_EditFieldRect: serializedVersion: 2 x: 0 y: 0 width: 0 height: 0 - m_UserData: 35080 + m_UserData: 0 m_IsWaitingForDelay: 0 m_IsRenaming: 0 - m_OriginalEventType: 0 + m_OriginalEventType: 11 m_IsRenamingFilename: 1 - m_ClientGUIView: {fileID: 23} + m_ClientGUIView: {fileID: 11} m_CreateAssetUtility: m_EndAction: {fileID: 0} m_InstanceID: 0 @@ -4178,8 +1499,8 @@ MonoBehaviour: m_ScrollPosition: {x: 0, y: 0} m_GridSize: 16 m_SkipHiddenPackages: 0 - m_DirectoriesAreaWidth: 207 ---- !u!114 &35 + m_DirectoriesAreaWidth: 445 +--- !u!114 &19 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -4199,8 +1520,8 @@ MonoBehaviour: m_Tooltip: m_Pos: serializedVersion: 2 - x: -683 - y: 300 + x: 1869 + y: 83 width: 570 height: 1316 m_SerializedDataModeController: From 8015ae76a66db3024c67a5a652ef993a305800d1 Mon Sep 17 00:00:00 2001 From: hadashiA <dev@hadashikick.jp> Date: Fri, 15 Dec 2023 15:39:06 +0900 Subject: [PATCH 6/8] Add unity install instraction to README --- README.md | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 90 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8cf0bee0..f5e914fb 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ZLogger === [![GitHub Actions](https://github.com/Cysharp/ZLogger/workflows/Build-Debug/badge.svg)](https://github.com/Cysharp/ZLogger/actions) [![Releases](https://img.shields.io/github/release/Cysharp/ZLogger.svg)](https://github.com/Cysharp/ZLogger/releases) -**Z**ero Allocation Text/Structured **Logger** for .NET with StringInterpolation and Source Generator, built on top of a `Microsoft.Extensions.Logging`. +**Z**ero Allocation Text/Structured **Logger** for .NET and Unity, with StringInterpolation and Source Generator, built on top of a `Microsoft.Extensions.Logging`. The usual destinations for log output are `Console(Stream)`, `File(Stream)`, `Network(Stream)`, all in UTF8 format. However, since typical logging architectures are based on Strings (UTF16), this requires additional encoding costs. In ZLogger, we utilize the [String Interpolation Improvement of C# 10](https://devblogs.microsoft.com/dotnet/string-interpolation-in-c-10-and-net-6/) and by leveraging .NET 8's [IUtf8SpanFormattable](https://learn.microsoft.com/en-us/dotnet/api/system.iutf8spanformattable?view=net-8.0), we have managed to avoid the boxing of values and maintain high performance by consistently outputting directly in UTF8 from input to output. @@ -63,6 +63,9 @@ This library is distributed via NuGet, supporting `.NET Standard 2.0`, `.NET Sta In the simplest case, you generate a logger by adding ZLogger's Provider to Microsoft.Extensions.Logging's [LoggerFactory](https://learn.microsoft.com/en-us/dotnet/core/extensions/logging), and then use ZLogger's own ZLog method. +For Unity, the requirements and installation process are completely different. See the [Unity](#unity) section for details. + + ```csharp using Microsoft.Extensions.Logging; using ZLogger; @@ -716,7 +719,92 @@ public class Foo Unity --- -This library requires C# 10.0, however currently Unity C# version is 9.0. Therefore, it is not supported at this time and will be considered when the version of Unity's C# is updated. + +### Installation + +ZLogger uses some of the compile time features of C# 10, and ZLogger.Generator uses some of the features of C# 11. + +To use them in Unity, needs to check the Unity version and set up the compiler. + +- Unity 2022.2 or newer + - Standard ZLogger features are available. + - Unity internally embeds the .NET SDK 6. So C# 10 is available via compiler arguments. +- Unity 2022.3.12f1 or newer + - ZLogger source generator available. + - Unity internaly update .NET SDK 6. So C# 11 features are in preview. + +Prerequirements: +- Install [NuGetForUnity](https://github.com/GlitchEnzo/NuGetForUnity) + - Required to install the dlls of ZLogger and its dependencies. +- Install [CsprojModifier](https://github.com/Cysharp/CsprojModifier) + - Required too develop in the IDE with a new language version. + +Installation steps: + +1. Setup the C# compiler for unity. + - Add a text file named `csc.rsp` with the following contents under your Assets/. + - ``` + -langVersion:preview -nullable + ``` + - Note: + - If you are using assembly definition, put it in the same folder as the asmdef that references ZLogger. + - Specifying `langVersion:10` allows C# 10 features to be used. `langVersion:preview` allows parts of C# 11 features to be used. + +2. Setup the C# compiler for your IDE. + - Add a text file named LangVersion.props with the following contents + - ```xml + <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <LangVersion>preview</LangVersion> + <Nullable>enable</Nullable> + </PropertyGroup> + </Project> + ``` + - Open Project Settings and [C# Project Modifier] section under the [Editor]. + - Add the .props file you just created, to the list of [Additional project imports]. + - Note: + - If you are using assembly definition, add your additional csproj in the list of [The project to be addef for import]. +3. Install ZLogger nuget package. + - Open [Nuget] -> [Manage Nuget Packages] in the menu bar. + - Search `ZLogger`, and press [Install]. +4. If you want to use the ZLogger extension for Unity, install the `ZLogger.Unity` package. + - Add `https://github.com/Cysharp/ZLogger.git?path=src/ZLogger.Unity/Assets/ZLogger.Unity` to Package Manager + + +### Basic usage + +The basic functions of ZLogger are also available in Unity as follows. Use LoggerFactory directly to create loggers. + +```cs +var loggerFactory = LoggerFactory.Create(logging => +{ + logging.AddZLoggerFile("/path/to/logfile", options => + { + options.UseJsonFormatter(); + options.IncludeScopes = true; + }); +}); + +var logger = loggerFactory.CreateLogger(nameof(YourClass)); + +var name = "foo"; +logger.ZLogInformation($"Hello, {name}!"); +``` + +### UnityEngine.Debug log provider + +If you have installed ZLogger.Unity, you can output to UnityEngine.Debug.Log as follows + +```cs +var loggerFactory = LoggerFactory.Create(logging => +{ + logging.AddZLoggerUnityDebug(options => + { + options.UseJsonFormatter(); + }); +}); +``` + License --- From e90fcd1e4063818e291d92b7733ffe1227661c64 Mon Sep 17 00:00:00 2001 From: hadashiA <dev@hadashikick.jp> Date: Fri, 15 Dec 2023 15:52:09 +0900 Subject: [PATCH 7/8] Add update-pakcagejson --- .github/workflows/build-release.yml | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index 2639aa2f..3d711963 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -11,7 +11,15 @@ env: GIT_TAG: ${{ github.event.inputs.tag }} jobs: - dotnet-build-and-push: + update-packagejson: + uses: Cysharp/Actions/.github/workflows/update-packagejson.yaml@main + with: + file-path: ./src/ZLogger.Unity/Assets/ZLogger.Unity/package.json + tag: ${{ github.event.inputs.tag }} + dry-run: ${{ fromJson(github.event.inputs.dry-run) }} + + build-dotnet: + needs: [update-packagejson] runs-on: ubuntu-latest timeout-minutes: 10 steps: @@ -42,4 +50,11 @@ jobs: tag_name: ${{ env.GIT_TAG }} release_name: Ver.${{ env.GIT_TAG }} draft: true - prerelease: false \ No newline at end of file + prerelease: false + + cleanup: + if: needs.update-packagejson.outputs.is-branch-created == 'true' + needs: [update-packagejson, build-dotnet] + uses: Cysharp/Actions/.github/workflows/clean-packagejson-branch.yaml@main + with: + branch: ${{ needs.update-packagejson.outputs.branch-name }} From d1abb1835c87c5497b380a568dffc443923a09b3 Mon Sep 17 00:00:00 2001 From: hadashiA <dev@hadashikick.jp> Date: Fri, 15 Dec 2023 16:01:25 +0900 Subject: [PATCH 8/8] Fix compilation errros in CodeAnalysis.CSharp 4.3.0 --- src/ZLogger.Generator/ZLoggerGenerator.Parser.cs | 1 + src/ZLogger.Generator/ZLoggerGenerator.cs | 1 + 2 files changed, 2 insertions(+) diff --git a/src/ZLogger.Generator/ZLoggerGenerator.Parser.cs b/src/ZLogger.Generator/ZLoggerGenerator.Parser.cs index 82e00b5d..12c841c7 100644 --- a/src/ZLogger.Generator/ZLoggerGenerator.Parser.cs +++ b/src/ZLogger.Generator/ZLoggerGenerator.Parser.cs @@ -3,6 +3,7 @@ using Microsoft.CodeAnalysis.CSharp.Syntax; using System.Collections.Immutable; using Microsoft.CodeAnalysis.DotnetRuntime.Extensions; +using GeneratorAttributeSyntaxContext = Microsoft.CodeAnalysis.DotnetRuntime.Extensions.GeneratorAttributeSyntaxContext; namespace ZLogger.Generator; diff --git a/src/ZLogger.Generator/ZLoggerGenerator.cs b/src/ZLogger.Generator/ZLoggerGenerator.cs index 2da548e5..d03e98bd 100644 --- a/src/ZLogger.Generator/ZLoggerGenerator.cs +++ b/src/ZLogger.Generator/ZLoggerGenerator.cs @@ -2,6 +2,7 @@ using Microsoft.CodeAnalysis.CSharp.Syntax; using System.Collections.Immutable; using Microsoft.CodeAnalysis.DotnetRuntime.Extensions; +using GeneratorAttributeSyntaxContext = Microsoft.CodeAnalysis.DotnetRuntime.Extensions.GeneratorAttributeSyntaxContext; namespace ZLogger.Generator;