mirror of
https://gitee.com/jisol/jisol-game/
synced 2025-06-26 03:14:47 +00:00
提交bug 艰难先这样
This commit is contained in:
parent
5858bd2407
commit
8932528f5e
@ -44,6 +44,7 @@
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\fr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\fr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\tr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\analyzers\dotnet\cs\TouchSocket.Core.SourceGenerator.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\ko\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\ja\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\tr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
@ -54,7 +55,6 @@
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\ru\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\de\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\pl\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.15\analyzers\dotnet\cs\TouchSocket.Core.SourceGenerator.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\System.Text.Json.SourceGeneration.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\ru\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\es\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
@ -341,9 +341,6 @@
|
||||
<Reference Include="Jenny">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket.Core">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.15\lib\netstandard2.1\TouchSocket.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Google.Protobuf">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll</HintPath>
|
||||
</Reference>
|
||||
@ -386,6 +383,9 @@
|
||||
<Reference Include="System.Text.Encodings.Web">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket.Http">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Unity.Plastic.Newtonsoft.Json">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
@ -422,6 +422,9 @@
|
||||
<Reference Include="Sherlog.Formatters">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.16\lib\netstandard2.1\TouchSocket.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Bcl.AsyncInterfaces">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
|
||||
</Reference>
|
||||
@ -434,8 +437,8 @@
|
||||
<Reference Include="Jenny.Generator.Unity.Editor">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.15\lib\netstandard2.1\TouchSocket.dll</HintPath>
|
||||
<Reference Include="TouchSocket.Core">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\lib\netstandard2.1\TouchSocket.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Unity.Android.Types">
|
||||
<HintPath>D:\Unity\2021.3.35f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Types.dll</HintPath>
|
||||
|
@ -44,6 +44,7 @@
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\fr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\fr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\tr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\analyzers\dotnet\cs\TouchSocket.Core.SourceGenerator.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\ko\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\ja\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\tr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
@ -54,7 +55,6 @@
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\ru\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\de\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\pl\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.15\analyzers\dotnet\cs\TouchSocket.Core.SourceGenerator.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\System.Text.Json.SourceGeneration.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\ru\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\es\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
@ -385,9 +385,6 @@
|
||||
<Reference Include="Jenny">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket.Core">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.15\lib\netstandard2.1\TouchSocket.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Google.Protobuf">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll</HintPath>
|
||||
</Reference>
|
||||
@ -430,6 +427,9 @@
|
||||
<Reference Include="System.Text.Encodings.Web">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket.Http">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Unity.Plastic.Newtonsoft.Json">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
@ -466,6 +466,9 @@
|
||||
<Reference Include="Sherlog.Formatters">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.16\lib\netstandard2.1\TouchSocket.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Bcl.AsyncInterfaces">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
|
||||
</Reference>
|
||||
@ -478,8 +481,8 @@
|
||||
<Reference Include="Jenny.Generator.Unity.Editor">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.15\lib\netstandard2.1\TouchSocket.dll</HintPath>
|
||||
<Reference Include="TouchSocket.Core">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\lib\netstandard2.1\TouchSocket.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="nunit.framework">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.ext.nunit@1.0.6\net35\unity-custom\nunit.framework.dll</HintPath>
|
||||
|
@ -44,6 +44,7 @@
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\fr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\fr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\tr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\analyzers\dotnet\cs\TouchSocket.Core.SourceGenerator.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\ko\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\ja\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\tr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
@ -54,7 +55,6 @@
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\ru\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\de\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\pl\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.15\analyzers\dotnet\cs\TouchSocket.Core.SourceGenerator.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\System.Text.Json.SourceGeneration.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\ru\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\es\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
@ -337,9 +337,6 @@
|
||||
<Reference Include="DesperateDevs.Threading">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Threading.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket.Core">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.15\lib\netstandard2.1\TouchSocket.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Google.Protobuf">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll</HintPath>
|
||||
</Reference>
|
||||
@ -367,6 +364,9 @@
|
||||
<Reference Include="System.Text.Encodings.Web">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket.Http">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Sherlog.Appenders">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Appenders.dll</HintPath>
|
||||
</Reference>
|
||||
@ -382,14 +382,17 @@
|
||||
<Reference Include="Sherlog.Formatters">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.16\lib\netstandard2.1\TouchSocket.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Bcl.AsyncInterfaces">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Unity.VisualScripting.Antlr3.Runtime">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Runtime\VisualScripting.Flow\Dependencies\NCalc\Unity.VisualScripting.Antlr3.Runtime.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.15\lib\netstandard2.1\TouchSocket.dll</HintPath>
|
||||
<Reference Include="TouchSocket.Core">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\lib\netstandard2.1\TouchSocket.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Unity.Android.Types">
|
||||
<HintPath>D:\Unity\2021.3.35f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Types.dll</HintPath>
|
||||
|
@ -44,6 +44,7 @@
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\fr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\fr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\tr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\analyzers\dotnet\cs\TouchSocket.Core.SourceGenerator.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\ko\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\ja\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\tr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
@ -54,7 +55,6 @@
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\ru\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\de\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\pl\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.15\analyzers\dotnet\cs\TouchSocket.Core.SourceGenerator.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\System.Text.Json.SourceGeneration.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\ru\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\es\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
@ -180,7 +180,7 @@
|
||||
<Compile Include="Assets\JNGame\Plugins\Entitas\Entitas\src\Entity\Exceptions\EntityDoesNotHaveComponentException.cs" />
|
||||
<Compile Include="Assets\JNGame\Plugins\Entitas\Entitas\src\Context\ContextExtension.cs" />
|
||||
<Compile Include="Assets\Samples\Cinemachine\2.10.1\Cinemachine Example Scenes\Shared\Scripts\SimpleElevator.cs" />
|
||||
<Compile Include="Assets\Scripts\Game\Data\DStateDataSystem.cs" />
|
||||
<Compile Include="Assets\Scripts\Game\Data\GDataBaseSystem.cs" />
|
||||
<Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Core\Buffers\RcCyclicBuffer.cs" />
|
||||
<Compile Include="Assets\Samples\Cinemachine\2.10.1\Cinemachine Example Scenes\Scenes\FadeOutNearbyObjects\CinemachineFadeOutNearbyObjects.cs" />
|
||||
<Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Recast\RcHeightfieldLayerSet.cs" />
|
||||
@ -206,6 +206,7 @@
|
||||
<Compile Include="Assets\Samples\Cinemachine\2.10.1\Cinemachine Example Scenes\Scenes\Anywhere Door\PlayerMovement.cs" />
|
||||
<Compile Include="Assets\Samples\Cinemachine\2.10.1\Cinemachine Example Scenes\Shared\Scripts\ThirdPersonFollowDistanceModifier.cs" />
|
||||
<Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Detour.Dynamic\Colliders\DtTrimeshCollider.cs" />
|
||||
<Compile Include="Assets\JNGame\Sync\App\Tile\JNSSTileTool.cs" />
|
||||
<Compile Include="Assets\Samples\Cinemachine\2.10.1\Cinemachine Example Scenes\Scenes\3rdPersonWithAimMode\ActivateOnKeypress.cs" />
|
||||
<Compile Include="Assets\Samples\Cinemachine\2.10.1\Cinemachine Example Scenes\Scenes\DualTarget\MoveAimTarget.cs" />
|
||||
<Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Detour.TileCache\IDtTileCacheMeshProcess.cs" />
|
||||
@ -687,8 +688,8 @@
|
||||
<Compile Include="Assets\JNGame\Map\DotRecast\Src\DotRecast.Core\IRcRand.cs" />
|
||||
<Compile Include="Assets\JNGame\Math\BaseType\LVector2.cs" />
|
||||
<Compile Include="Assets\JNGame\Plugins\Entitas\Entitas\src\Context\Context.cs" />
|
||||
<None Include="Assets\Packages\TouchSocket.2.0.15\LICENSE.txt" />
|
||||
<None Include="Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.xml" />
|
||||
<None Include="Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.xml" />
|
||||
<None Include="Assets\Packages\System.Text.Encodings.Web.6.0.0\useSharedDesignerContext.txt" />
|
||||
<None Include="Assets\Resources\map1.json" />
|
||||
<None Include="Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.xml" />
|
||||
@ -696,15 +697,17 @@
|
||||
<None Include="Assets\Resources\Battle\Map\NavMesh\Map_1001.navmesh.json" />
|
||||
<None Include="Assets\Packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.xml" />
|
||||
<None Include="Assets\JNGame\Plugins\Entitas\Entitas\src\version.txt" />
|
||||
<None Include="Assets\Packages\TouchSocket.2.0.16\LICENSE.txt" />
|
||||
<None Include="Assets\Packages\System.Text.Json.6.0.0\lib\netstandard2.0\System.Text.Json.xml" />
|
||||
<None Include="Assets\Packages\TouchSocket.Core.2.0.15\lib\netstandard2.1\TouchSocket.Core.xml" />
|
||||
<None Include="Assets\Samples\Cinemachine\2.10.1\Cinemachine Example Scenes\Scenes\Anywhere Door\ScreenCutoutShader.shader" />
|
||||
<None Include="Assets\Packages\TouchSocket.2.0.15\lib\netstandard2.1\TouchSocket.xml" />
|
||||
<None Include="Assets\Packages\TouchSocket.2.0.16\lib\netstandard2.1\TouchSocket.xml" />
|
||||
<None Include="Assets\Packages\Newtonsoft.Json.13.0.3\lib\netstandard2.0\Newtonsoft.Json.xml" />
|
||||
<None Include="Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.xml" />
|
||||
<None Include="Assets\Packages\System.Text.Json.6.0.0\useSharedDesignerContext.txt" />
|
||||
<None Include="Assets\Packages\TouchSocket.Core.2.0.15\LICENSE.txt" />
|
||||
<None Include="Assets\Packages\TouchSocket.Http.2.0.16\LICENSE.txt" />
|
||||
<None Include="Assets\Packages\TouchSocket.Core.2.0.16\LICENSE.txt" />
|
||||
<None Include="Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\useSharedDesignerContext.txt" />
|
||||
<None Include="Assets\Packages\TouchSocket.Core.2.0.16\lib\netstandard2.1\TouchSocket.Core.xml" />
|
||||
<None Include="Assets\Packages\System.Runtime.CompilerServices.Unsafe.6.0.0\useSharedDesignerContext.txt" />
|
||||
<Reference Include="UnityEngine">
|
||||
<HintPath>D:\Unity\2021.3.35f1\Editor\Data\Managed\UnityEngine\UnityEngine.dll</HintPath>
|
||||
@ -961,9 +964,6 @@
|
||||
<Reference Include="DesperateDevs.Threading">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Threading.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket.Core">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.15\lib\netstandard2.1\TouchSocket.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Google.Protobuf">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll</HintPath>
|
||||
</Reference>
|
||||
@ -991,6 +991,9 @@
|
||||
<Reference Include="System.Text.Encodings.Web">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket.Http">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Sherlog.Appenders">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Appenders.dll</HintPath>
|
||||
</Reference>
|
||||
@ -1006,14 +1009,17 @@
|
||||
<Reference Include="Sherlog.Formatters">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.16\lib\netstandard2.1\TouchSocket.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Bcl.AsyncInterfaces">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Unity.VisualScripting.Antlr3.Runtime">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Runtime\VisualScripting.Flow\Dependencies\NCalc\Unity.VisualScripting.Antlr3.Runtime.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.15\lib\netstandard2.1\TouchSocket.dll</HintPath>
|
||||
<Reference Include="TouchSocket.Core">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\lib\netstandard2.1\TouchSocket.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Unity.Android.Types">
|
||||
<HintPath>D:\Unity\2021.3.35f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Types.dll</HintPath>
|
||||
|
@ -26,9 +26,12 @@
|
||||
|
||||
NSyncStateDataUpdate = 121, //状态同步更新
|
||||
NSyncStateAllUpdate = 122, //状态全量更新
|
||||
NSyncStateAllBack = 123, //状态同步全量回调
|
||||
NSyncStateAllUpdateBack = 123, //状态同步全量回调
|
||||
|
||||
NSyncTileInput = 131, //状态Tile同步输入
|
||||
NSyncTileInput = 131, //区块Tile同步输入
|
||||
NSyncTileAllUpdate = 132, //区块全量更新
|
||||
NSyncTileAllUpdateBack = 133, //区块同步全量回调
|
||||
NSyncTileGetTileInfo = 134, //获取指定区块的全量信息
|
||||
|
||||
NAddTileServer = 141, //添加区块服务器
|
||||
|
||||
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Reflection;
|
||||
using System.Threading.Tasks;
|
||||
using AppGame;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using DotRecast.Core.Collections;
|
||||
using Google.Protobuf;
|
||||
using Plugins.JNGame.Network.Entity;
|
||||
@ -26,6 +27,9 @@ namespace Plugins.JNGame.Network
|
||||
|
||||
//计入字节大小
|
||||
protected Dictionary<int, int> _byteSize = new();
|
||||
|
||||
//回调消息
|
||||
protected Dictionary<int, UniTaskCompletionSource<byte[]>> _callback = new ();
|
||||
|
||||
public void SetEvent(EventDispatcher dispatcher)
|
||||
{
|
||||
@ -46,8 +50,21 @@ namespace Plugins.JNGame.Network
|
||||
public virtual void Dispatch(JNetParam data)
|
||||
{
|
||||
_byteSize[data.HId] = data.Bytes.Length;
|
||||
//发送消息
|
||||
_event.Dispatch($"{data.HId}",data.Bytes);
|
||||
|
||||
//判断是否是回调消息
|
||||
if (data.HId <= 0)
|
||||
{
|
||||
//回调消息
|
||||
_callback.TryGetValue(data.ID,out var task);
|
||||
if (task is null) return;
|
||||
task.TrySetResult(data.Bytes);
|
||||
}
|
||||
else
|
||||
{
|
||||
//通知消息
|
||||
_event.Dispatch($"{data.HId}",data.Bytes);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//向服务器发送消息
|
||||
@ -57,6 +74,17 @@ namespace Plugins.JNGame.Network
|
||||
_byteSize[hId] = bytes.Length;
|
||||
SendBytes(bytes);
|
||||
}
|
||||
|
||||
//向服务器发送消息(有回调的消息)
|
||||
public virtual async Task<byte[]> SendCallback(int hId,IMessage data = null,int timeout = 1000)
|
||||
{
|
||||
var id = this._id++;
|
||||
_callback[id] = new UniTaskCompletionSource<byte[]>();
|
||||
var bytes = NDataUtil.Encrypt(JNetParam.Build(id, hId).SetData(data));
|
||||
SendBytes(bytes);
|
||||
var message = await UniTask.WhenAny(_callback[id].Task, UniTask.Delay(timeout));
|
||||
return message.result;
|
||||
}
|
||||
|
||||
public virtual void SendBytes(byte[] data){ }
|
||||
|
||||
|
@ -17,6 +17,8 @@ namespace Plugins.JNGame.Network
|
||||
|
||||
public string Client;
|
||||
|
||||
public int MessageID;
|
||||
|
||||
public byte[] Message;
|
||||
|
||||
}
|
||||
|
@ -9,6 +9,9 @@ using Google.Protobuf;
|
||||
using Plugins.JNGame.Network.Entity;
|
||||
using Plugins.JNGame.Network.Util;
|
||||
using Plugins.JNGame.Util;
|
||||
using TouchSocket.Core;
|
||||
using TouchSocket.Http.WebSockets;
|
||||
using TouchSocket.Sockets;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Plugins.JNGame.Network
|
||||
@ -16,10 +19,7 @@ namespace Plugins.JNGame.Network
|
||||
public abstract class JNSocket : JNClientBase
|
||||
{
|
||||
|
||||
private WebSocket _socket;
|
||||
|
||||
private UniTaskCompletionSource _onOpen;
|
||||
|
||||
private WebSocketClient client;
|
||||
|
||||
public override async Task OnInit()
|
||||
{
|
||||
@ -29,61 +29,40 @@ namespace Plugins.JNGame.Network
|
||||
public async Task StartConnect()
|
||||
{
|
||||
|
||||
client = new WebSocketClient();
|
||||
|
||||
await client.SetupAsync(new TouchSocketConfig()
|
||||
.SetRemoteIPHost(await this.GetUrl())
|
||||
.ConfigurePlugins(a =>
|
||||
{
|
||||
a.UseReconnection(-1, true, 1000); //如需永远尝试连接,tryCount设置为-1即可。
|
||||
})
|
||||
.ConfigureContainer(a =>
|
||||
{
|
||||
a.AddConsoleLogger();
|
||||
}));
|
||||
client.Received += OnReceived;
|
||||
|
||||
|
||||
var url = $"{await this.GetUrl()}";
|
||||
this._socket = new WebSocket(new Uri(url));
|
||||
|
||||
this._socket.OnOpen += OnOpen;
|
||||
this._socket.OnMessage += OnMessageReceived;
|
||||
this._socket.OnError += OnError;
|
||||
this._socket.OnClosed += OnClosed;
|
||||
this._socket.OnBinary += Onbinary;
|
||||
|
||||
Debug.Log($"[JNSocket]初始化WebSocket成功,URL:{url}");
|
||||
this._socket.Open();
|
||||
|
||||
//等待连接成功
|
||||
await (this._onOpen = new UniTaskCompletionSource()).Task;
|
||||
client.Connect();
|
||||
Debug.Log($"[JNSocket]连接WebSocket成功");
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void OnOpen(WebSocket websocket)
|
||||
private Task OnReceived(WebSocketClient webSocketClient, WSDataFrameEventArgs e)
|
||||
{
|
||||
Debug.Log($"[JNSocket] OnOpen");
|
||||
this._onOpen.TrySetResult();
|
||||
if (e.DataFrame.Opcode == WSDataType.Binary && e.DataFrame.FIN)
|
||||
{
|
||||
Dispatch(NDataUtil.Parse(e.DataFrame.PayloadData));
|
||||
}
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
private void OnMessageReceived(WebSocket websocket, string message)
|
||||
{
|
||||
Debug.Log($"[JNSocket] OnMessageReceived");
|
||||
}
|
||||
|
||||
private void OnError(WebSocket websocket, string reason)
|
||||
{
|
||||
Debug.Log($"[JNSocket] OnError");
|
||||
}
|
||||
|
||||
private void OnClosed(WebSocket websocket, ushort code, string message)
|
||||
{
|
||||
Debug.Log($"[JNSocket] OnClosed");
|
||||
}
|
||||
|
||||
private void Onbinary(WebSocket websocket, byte[] data)
|
||||
{
|
||||
|
||||
// NSystem.Log($"[JNSocket] Onbinary");
|
||||
Dispatch(NDataUtil.Parse(data));
|
||||
|
||||
}
|
||||
|
||||
protected abstract UniTask<string> GetUrl();
|
||||
|
||||
public override void SendBytes(byte[] data)
|
||||
{
|
||||
_socket.Send(data);
|
||||
client.SendAsync(data);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -36,7 +36,7 @@ namespace JNGame.Network
|
||||
tcpClient.Disconnected = OnDisconnected;//从服务器断开连接,当连接不成功时不会触发。
|
||||
tcpClient.Received = OnReceived;
|
||||
|
||||
tcpClient.Connect(await GetEndPoint());
|
||||
await tcpClient.ConnectAsync(await GetEndPoint());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -108,8 +108,10 @@ namespace JNGame.Network
|
||||
|
||||
public override void OnClose()
|
||||
{
|
||||
base.OnClose();
|
||||
tcpClient.Close();
|
||||
tcpClient.Dispose();
|
||||
Debug.Log($"[JNTCPClient] 关闭对象");
|
||||
base.OnClose();
|
||||
}
|
||||
|
||||
protected virtual async UniTask<string> GetEndPoint()
|
||||
|
@ -103,6 +103,7 @@ namespace JNGame.Network
|
||||
Dispatch(param.HId,new JNServerParam()
|
||||
{
|
||||
Client = client.Id,
|
||||
MessageID = param.ID,
|
||||
Message = param.Bytes,
|
||||
});
|
||||
await UniTask.NextFrame();
|
||||
@ -123,10 +124,19 @@ namespace JNGame.Network
|
||||
|
||||
|
||||
public void Send(SocketClient client,int hId,IMessage data = null)
|
||||
{
|
||||
Send(client.Id,hId,data);
|
||||
}
|
||||
public void Send(string client,int hId,IMessage data = null)
|
||||
{
|
||||
var bytes = NDataUtil.Encrypt(JNetParam.Build(this._id++, hId).SetData(data));
|
||||
_byteSize[hId] = bytes.Length;
|
||||
service.SendAsync(client.Id, bytes);
|
||||
service.SendAsync(client, bytes);
|
||||
}
|
||||
public void SendCallback(string client,int id,IMessage data = null)
|
||||
{
|
||||
var bytes = NDataUtil.Encrypt(JNetParam.Build(id, 0).SetData(data));
|
||||
service.SendAsync(client, bytes);
|
||||
}
|
||||
|
||||
public void AllSend(int hId,IMessage data = null)
|
||||
|
@ -31,20 +31,17 @@ public static partial class JNSyncMessageReflection {
|
||||
"CzINLkpORnJhbWVJbnB1dCIsCgxKTkZyYW1lSW5mb3MSHAoGZnJhbWVzGAEg",
|
||||
"AygLMgwuSk5GcmFtZUluZm8iKwoHSk5JbnB1dBIUCgdtZXNzYWdlGAEgASgJ",
|
||||
"SACIAQFCCgoIX21lc3NhZ2UiKQoLSk5TdGF0ZURhdGESEQoEZGF0YRgCIAEo",
|
||||
"DEgAiAEBQgcKBV9kYXRhIo8BCg5KTlN0YXRlQWxsRGF0YRINCgVOZXRJRBgB",
|
||||
"IAEoBRIvCghtZXNzYWdlcxgCIAMoCzIdLkpOU3RhdGVBbGxEYXRhLk1lc3Nh",
|
||||
"Z2VzRW50cnkaPQoNTWVzc2FnZXNFbnRyeRILCgNrZXkYASABKAMSGwoFdmFs",
|
||||
"dWUYAiABKAsyDC5KTlN0YXRlRGF0YToCOAEikQEKD0pOU3RhdGVJdGVtRGF0",
|
||||
"YRINCgVOZXRJRBgBIAEoBRIwCghtZXNzYWdlcxgCIAMoCzIeLkpOU3RhdGVJ",
|
||||
"dGVtRGF0YS5NZXNzYWdlc0VudHJ5Gj0KDU1lc3NhZ2VzRW50cnkSCwoDa2V5",
|
||||
"GAEgASgDEhsKBXZhbHVlGAIgASgLMgwuSk5TdGF0ZURhdGE6AjgBIkEKEUpO",
|
||||
"U3RhdGVUaWxlSW5wdXRzEgsKA3RJZBgBIAEoBRIfCgdtZXNzYWdlGAIgASgL",
|
||||
"Mg4uSk5GcmFtZUlucHV0cyJCChNKTlN0YXRlVGlsZUl0ZW1EYXRhEgsKA3RJ",
|
||||
"ZBgBIAEoBRIeCgRkYXRhGAIgASgLMhAuSk5TdGF0ZUl0ZW1EYXRhIkAKEkpO",
|
||||
"U3RhdGVUaWxlQWxsRGF0YRILCgN0SWQYASABKAUSHQoEZGF0YRgCIAEoCzIP",
|
||||
"LkpOU3RhdGVBbGxEYXRhIjkKD0pOQWRkVGlsZVNlcnZlchIMCgR0aWxlGAEg",
|
||||
"ASgFEgoKAmlwGAIgASgJEgwKBHBvcnQYAyABKAVCFgoUY24uamlzb2wubmdh",
|
||||
"bWUucHJvdG9iBnByb3RvMw=="));
|
||||
"DEgAiAEBQgcKBV9kYXRhIpEBCg9KTlN0YXRlSXRlbURhdGESDQoFTmV0SUQY",
|
||||
"ASABKAUSMAoIbWVzc2FnZXMYAiADKAsyHi5KTlN0YXRlSXRlbURhdGEuTWVz",
|
||||
"c2FnZXNFbnRyeRo9Cg1NZXNzYWdlc0VudHJ5EgsKA2tleRgBIAEoAxIbCgV2",
|
||||
"YWx1ZRgCIAEoCzIMLkpOU3RhdGVEYXRhOgI4ASIwCg5KTlN0YXRlQWxsRGF0",
|
||||
"YRIeCgRkYXRhGAIgAygLMhAuSk5TdGF0ZUl0ZW1EYXRhIkEKEUpOU3RhdGVU",
|
||||
"aWxlSW5wdXRzEgsKA3RJZBgBIAEoBRIfCgdtZXNzYWdlGAIgASgLMg4uSk5G",
|
||||
"cmFtZUlucHV0cyJAChJKTlN0YXRlVGlsZUFsbERhdGESCwoDdElkGAEgASgF",
|
||||
"Eh0KBGRhdGEYAiABKAsyDy5KTlN0YXRlQWxsRGF0YSIqChtOU3luY1RpbGVH",
|
||||
"ZXRUaWxlSW5mb1JlcXVlc3QSCwoDdElkGAEgASgFIjkKD0pOQWRkVGlsZVNl",
|
||||
"cnZlchIMCgR0aWxlGAEgASgFEgoKAmlwGAIgASgJEgwKBHBvcnQYAyABKAVC",
|
||||
"FgoUY24uamlzb2wubmdhbWUucHJvdG9iBnByb3RvMw=="));
|
||||
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
|
||||
new pbr::FileDescriptor[] { },
|
||||
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
|
||||
@ -56,11 +53,11 @@ public static partial class JNSyncMessageReflection {
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::JNFrameInfos), global::JNFrameInfos.Parser, new[]{ "Frames" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::JNInput), global::JNInput.Parser, new[]{ "Message" }, new[]{ "Message" }, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::JNStateData), global::JNStateData.Parser, new[]{ "Data" }, new[]{ "Data" }, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::JNStateAllData), global::JNStateAllData.Parser, new[]{ "NetID", "Messages" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::JNStateItemData), global::JNStateItemData.Parser, new[]{ "NetID", "Messages" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::JNStateAllData), global::JNStateAllData.Parser, new[]{ "Data" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::JNStateTileInputs), global::JNStateTileInputs.Parser, new[]{ "TId", "Message" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::JNStateTileItemData), global::JNStateTileItemData.Parser, new[]{ "TId", "Data" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::JNStateTileAllData), global::JNStateTileAllData.Parser, new[]{ "TId", "Data" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::NSyncTileGetTileInfoRequest), global::NSyncTileGetTileInfoRequest.Parser, new[]{ "TId" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::JNAddTileServer), global::JNAddTileServer.Parser, new[]{ "Tile", "Ip", "Port" }, null, null, null, null)
|
||||
}));
|
||||
}
|
||||
@ -1751,230 +1748,6 @@ public sealed partial class JNStateData : pb::IMessage<JNStateData>
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 全量状态
|
||||
/// </summary>
|
||||
public sealed partial class JNStateAllData : pb::IMessage<JNStateAllData>
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
, pb::IBufferMessage
|
||||
#endif
|
||||
{
|
||||
private static readonly pb::MessageParser<JNStateAllData> _parser = new pb::MessageParser<JNStateAllData>(() => new JNStateAllData());
|
||||
private pb::UnknownFieldSet _unknownFields;
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public static pb::MessageParser<JNStateAllData> Parser { get { return _parser; } }
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public static pbr::MessageDescriptor Descriptor {
|
||||
get { return global::JNSyncMessageReflection.Descriptor.MessageTypes[8]; }
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
pbr::MessageDescriptor pb::IMessage.Descriptor {
|
||||
get { return Descriptor; }
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public JNStateAllData() {
|
||||
OnConstruction();
|
||||
}
|
||||
|
||||
partial void OnConstruction();
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public JNStateAllData(JNStateAllData other) : this() {
|
||||
netID_ = other.netID_;
|
||||
messages_ = other.messages_.Clone();
|
||||
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public JNStateAllData Clone() {
|
||||
return new JNStateAllData(this);
|
||||
}
|
||||
|
||||
/// <summary>Field number for the "NetID" field.</summary>
|
||||
public const int NetIDFieldNumber = 1;
|
||||
private int netID_;
|
||||
/// <summary>
|
||||
///同步Id
|
||||
/// </summary>
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public int NetID {
|
||||
get { return netID_; }
|
||||
set {
|
||||
netID_ = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Field number for the "messages" field.</summary>
|
||||
public const int MessagesFieldNumber = 2;
|
||||
private static readonly pbc::MapField<long, global::JNStateData>.Codec _map_messages_codec
|
||||
= new pbc::MapField<long, global::JNStateData>.Codec(pb::FieldCodec.ForInt64(8, 0L), pb::FieldCodec.ForMessage(18, global::JNStateData.Parser), 18);
|
||||
private readonly pbc::MapField<long, global::JNStateData> messages_ = new pbc::MapField<long, global::JNStateData>();
|
||||
/// <summary>
|
||||
///状态bytes
|
||||
/// </summary>
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public pbc::MapField<long, global::JNStateData> Messages {
|
||||
get { return messages_; }
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public override bool Equals(object other) {
|
||||
return Equals(other as JNStateAllData);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public bool Equals(JNStateAllData other) {
|
||||
if (ReferenceEquals(other, null)) {
|
||||
return false;
|
||||
}
|
||||
if (ReferenceEquals(other, this)) {
|
||||
return true;
|
||||
}
|
||||
if (NetID != other.NetID) return false;
|
||||
if (!Messages.Equals(other.Messages)) return false;
|
||||
return Equals(_unknownFields, other._unknownFields);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public override int GetHashCode() {
|
||||
int hash = 1;
|
||||
if (NetID != 0) hash ^= NetID.GetHashCode();
|
||||
hash ^= Messages.GetHashCode();
|
||||
if (_unknownFields != null) {
|
||||
hash ^= _unknownFields.GetHashCode();
|
||||
}
|
||||
return hash;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public override string ToString() {
|
||||
return pb::JsonFormatter.ToDiagnosticString(this);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public void WriteTo(pb::CodedOutputStream output) {
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
output.WriteRawMessage(this);
|
||||
#else
|
||||
if (NetID != 0) {
|
||||
output.WriteRawTag(8);
|
||||
output.WriteInt32(NetID);
|
||||
}
|
||||
messages_.WriteTo(output, _map_messages_codec);
|
||||
if (_unknownFields != null) {
|
||||
_unknownFields.WriteTo(output);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
|
||||
if (NetID != 0) {
|
||||
output.WriteRawTag(8);
|
||||
output.WriteInt32(NetID);
|
||||
}
|
||||
messages_.WriteTo(ref output, _map_messages_codec);
|
||||
if (_unknownFields != null) {
|
||||
_unknownFields.WriteTo(ref output);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public int CalculateSize() {
|
||||
int size = 0;
|
||||
if (NetID != 0) {
|
||||
size += 1 + pb::CodedOutputStream.ComputeInt32Size(NetID);
|
||||
}
|
||||
size += messages_.CalculateSize(_map_messages_codec);
|
||||
if (_unknownFields != null) {
|
||||
size += _unknownFields.CalculateSize();
|
||||
}
|
||||
return size;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public void MergeFrom(JNStateAllData other) {
|
||||
if (other == null) {
|
||||
return;
|
||||
}
|
||||
if (other.NetID != 0) {
|
||||
NetID = other.NetID;
|
||||
}
|
||||
messages_.Add(other.messages_);
|
||||
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public void MergeFrom(pb::CodedInputStream input) {
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
input.ReadRawMessage(this);
|
||||
#else
|
||||
uint tag;
|
||||
while ((tag = input.ReadTag()) != 0) {
|
||||
switch(tag) {
|
||||
default:
|
||||
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
|
||||
break;
|
||||
case 8: {
|
||||
NetID = input.ReadInt32();
|
||||
break;
|
||||
}
|
||||
case 18: {
|
||||
messages_.AddEntriesFrom(input, _map_messages_codec);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
|
||||
uint tag;
|
||||
while ((tag = input.ReadTag()) != 0) {
|
||||
switch(tag) {
|
||||
default:
|
||||
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
|
||||
break;
|
||||
case 8: {
|
||||
NetID = input.ReadInt32();
|
||||
break;
|
||||
}
|
||||
case 18: {
|
||||
messages_.AddEntriesFrom(ref input, _map_messages_codec);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 更新状态
|
||||
/// </summary>
|
||||
@ -1992,7 +1765,7 @@ public sealed partial class JNStateItemData : pb::IMessage<JNStateItemData>
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public static pbr::MessageDescriptor Descriptor {
|
||||
get { return global::JNSyncMessageReflection.Descriptor.MessageTypes[9]; }
|
||||
get { return global::JNSyncMessageReflection.Descriptor.MessageTypes[8]; }
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
@ -2199,6 +1972,190 @@ public sealed partial class JNStateItemData : pb::IMessage<JNStateItemData>
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 全量状态
|
||||
/// </summary>
|
||||
public sealed partial class JNStateAllData : pb::IMessage<JNStateAllData>
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
, pb::IBufferMessage
|
||||
#endif
|
||||
{
|
||||
private static readonly pb::MessageParser<JNStateAllData> _parser = new pb::MessageParser<JNStateAllData>(() => new JNStateAllData());
|
||||
private pb::UnknownFieldSet _unknownFields;
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public static pb::MessageParser<JNStateAllData> Parser { get { return _parser; } }
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public static pbr::MessageDescriptor Descriptor {
|
||||
get { return global::JNSyncMessageReflection.Descriptor.MessageTypes[9]; }
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
pbr::MessageDescriptor pb::IMessage.Descriptor {
|
||||
get { return Descriptor; }
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public JNStateAllData() {
|
||||
OnConstruction();
|
||||
}
|
||||
|
||||
partial void OnConstruction();
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public JNStateAllData(JNStateAllData other) : this() {
|
||||
data_ = other.data_.Clone();
|
||||
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public JNStateAllData Clone() {
|
||||
return new JNStateAllData(this);
|
||||
}
|
||||
|
||||
/// <summary>Field number for the "data" field.</summary>
|
||||
public const int DataFieldNumber = 2;
|
||||
private static readonly pb::FieldCodec<global::JNStateItemData> _repeated_data_codec
|
||||
= pb::FieldCodec.ForMessage(18, global::JNStateItemData.Parser);
|
||||
private readonly pbc::RepeatedField<global::JNStateItemData> data_ = new pbc::RepeatedField<global::JNStateItemData>();
|
||||
/// <summary>
|
||||
///数据
|
||||
/// </summary>
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public pbc::RepeatedField<global::JNStateItemData> Data {
|
||||
get { return data_; }
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public override bool Equals(object other) {
|
||||
return Equals(other as JNStateAllData);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public bool Equals(JNStateAllData other) {
|
||||
if (ReferenceEquals(other, null)) {
|
||||
return false;
|
||||
}
|
||||
if (ReferenceEquals(other, this)) {
|
||||
return true;
|
||||
}
|
||||
if(!data_.Equals(other.data_)) return false;
|
||||
return Equals(_unknownFields, other._unknownFields);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public override int GetHashCode() {
|
||||
int hash = 1;
|
||||
hash ^= data_.GetHashCode();
|
||||
if (_unknownFields != null) {
|
||||
hash ^= _unknownFields.GetHashCode();
|
||||
}
|
||||
return hash;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public override string ToString() {
|
||||
return pb::JsonFormatter.ToDiagnosticString(this);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public void WriteTo(pb::CodedOutputStream output) {
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
output.WriteRawMessage(this);
|
||||
#else
|
||||
data_.WriteTo(output, _repeated_data_codec);
|
||||
if (_unknownFields != null) {
|
||||
_unknownFields.WriteTo(output);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
|
||||
data_.WriteTo(ref output, _repeated_data_codec);
|
||||
if (_unknownFields != null) {
|
||||
_unknownFields.WriteTo(ref output);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public int CalculateSize() {
|
||||
int size = 0;
|
||||
size += data_.CalculateSize(_repeated_data_codec);
|
||||
if (_unknownFields != null) {
|
||||
size += _unknownFields.CalculateSize();
|
||||
}
|
||||
return size;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public void MergeFrom(JNStateAllData other) {
|
||||
if (other == null) {
|
||||
return;
|
||||
}
|
||||
data_.Add(other.data_);
|
||||
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public void MergeFrom(pb::CodedInputStream input) {
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
input.ReadRawMessage(this);
|
||||
#else
|
||||
uint tag;
|
||||
while ((tag = input.ReadTag()) != 0) {
|
||||
switch(tag) {
|
||||
default:
|
||||
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
|
||||
break;
|
||||
case 18: {
|
||||
data_.AddEntriesFrom(input, _repeated_data_codec);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
|
||||
uint tag;
|
||||
while ((tag = input.ReadTag()) != 0) {
|
||||
switch(tag) {
|
||||
default:
|
||||
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
|
||||
break;
|
||||
case 18: {
|
||||
data_.AddEntriesFrom(ref input, _repeated_data_codec);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// --------------------- 状态Tile同步 -----------------------
|
||||
/// 状态Tile输入
|
||||
@ -2444,247 +2401,6 @@ public sealed partial class JNStateTileInputs : pb::IMessage<JNStateTileInputs>
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tile更新状态
|
||||
/// </summary>
|
||||
public sealed partial class JNStateTileItemData : pb::IMessage<JNStateTileItemData>
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
, pb::IBufferMessage
|
||||
#endif
|
||||
{
|
||||
private static readonly pb::MessageParser<JNStateTileItemData> _parser = new pb::MessageParser<JNStateTileItemData>(() => new JNStateTileItemData());
|
||||
private pb::UnknownFieldSet _unknownFields;
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public static pb::MessageParser<JNStateTileItemData> Parser { get { return _parser; } }
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public static pbr::MessageDescriptor Descriptor {
|
||||
get { return global::JNSyncMessageReflection.Descriptor.MessageTypes[11]; }
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
pbr::MessageDescriptor pb::IMessage.Descriptor {
|
||||
get { return Descriptor; }
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public JNStateTileItemData() {
|
||||
OnConstruction();
|
||||
}
|
||||
|
||||
partial void OnConstruction();
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public JNStateTileItemData(JNStateTileItemData other) : this() {
|
||||
tId_ = other.tId_;
|
||||
data_ = other.data_ != null ? other.data_.Clone() : null;
|
||||
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public JNStateTileItemData Clone() {
|
||||
return new JNStateTileItemData(this);
|
||||
}
|
||||
|
||||
/// <summary>Field number for the "tId" field.</summary>
|
||||
public const int TIdFieldNumber = 1;
|
||||
private int tId_;
|
||||
/// <summary>
|
||||
///区块Id
|
||||
/// </summary>
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public int TId {
|
||||
get { return tId_; }
|
||||
set {
|
||||
tId_ = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Field number for the "data" field.</summary>
|
||||
public const int DataFieldNumber = 2;
|
||||
private global::JNStateItemData data_;
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public global::JNStateItemData Data {
|
||||
get { return data_; }
|
||||
set {
|
||||
data_ = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public override bool Equals(object other) {
|
||||
return Equals(other as JNStateTileItemData);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public bool Equals(JNStateTileItemData other) {
|
||||
if (ReferenceEquals(other, null)) {
|
||||
return false;
|
||||
}
|
||||
if (ReferenceEquals(other, this)) {
|
||||
return true;
|
||||
}
|
||||
if (TId != other.TId) return false;
|
||||
if (!object.Equals(Data, other.Data)) return false;
|
||||
return Equals(_unknownFields, other._unknownFields);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public override int GetHashCode() {
|
||||
int hash = 1;
|
||||
if (TId != 0) hash ^= TId.GetHashCode();
|
||||
if (data_ != null) hash ^= Data.GetHashCode();
|
||||
if (_unknownFields != null) {
|
||||
hash ^= _unknownFields.GetHashCode();
|
||||
}
|
||||
return hash;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public override string ToString() {
|
||||
return pb::JsonFormatter.ToDiagnosticString(this);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public void WriteTo(pb::CodedOutputStream output) {
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
output.WriteRawMessage(this);
|
||||
#else
|
||||
if (TId != 0) {
|
||||
output.WriteRawTag(8);
|
||||
output.WriteInt32(TId);
|
||||
}
|
||||
if (data_ != null) {
|
||||
output.WriteRawTag(18);
|
||||
output.WriteMessage(Data);
|
||||
}
|
||||
if (_unknownFields != null) {
|
||||
_unknownFields.WriteTo(output);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
|
||||
if (TId != 0) {
|
||||
output.WriteRawTag(8);
|
||||
output.WriteInt32(TId);
|
||||
}
|
||||
if (data_ != null) {
|
||||
output.WriteRawTag(18);
|
||||
output.WriteMessage(Data);
|
||||
}
|
||||
if (_unknownFields != null) {
|
||||
_unknownFields.WriteTo(ref output);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public int CalculateSize() {
|
||||
int size = 0;
|
||||
if (TId != 0) {
|
||||
size += 1 + pb::CodedOutputStream.ComputeInt32Size(TId);
|
||||
}
|
||||
if (data_ != null) {
|
||||
size += 1 + pb::CodedOutputStream.ComputeMessageSize(Data);
|
||||
}
|
||||
if (_unknownFields != null) {
|
||||
size += _unknownFields.CalculateSize();
|
||||
}
|
||||
return size;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public void MergeFrom(JNStateTileItemData other) {
|
||||
if (other == null) {
|
||||
return;
|
||||
}
|
||||
if (other.TId != 0) {
|
||||
TId = other.TId;
|
||||
}
|
||||
if (other.data_ != null) {
|
||||
if (data_ == null) {
|
||||
Data = new global::JNStateItemData();
|
||||
}
|
||||
Data.MergeFrom(other.Data);
|
||||
}
|
||||
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public void MergeFrom(pb::CodedInputStream input) {
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
input.ReadRawMessage(this);
|
||||
#else
|
||||
uint tag;
|
||||
while ((tag = input.ReadTag()) != 0) {
|
||||
switch(tag) {
|
||||
default:
|
||||
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
|
||||
break;
|
||||
case 8: {
|
||||
TId = input.ReadInt32();
|
||||
break;
|
||||
}
|
||||
case 18: {
|
||||
if (data_ == null) {
|
||||
Data = new global::JNStateItemData();
|
||||
}
|
||||
input.ReadMessage(Data);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
|
||||
uint tag;
|
||||
while ((tag = input.ReadTag()) != 0) {
|
||||
switch(tag) {
|
||||
default:
|
||||
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
|
||||
break;
|
||||
case 8: {
|
||||
TId = input.ReadInt32();
|
||||
break;
|
||||
}
|
||||
case 18: {
|
||||
if (data_ == null) {
|
||||
Data = new global::JNStateItemData();
|
||||
}
|
||||
input.ReadMessage(Data);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tile更新全量状态
|
||||
/// </summary>
|
||||
@ -2702,7 +2418,7 @@ public sealed partial class JNStateTileAllData : pb::IMessage<JNStateTileAllData
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public static pbr::MessageDescriptor Descriptor {
|
||||
get { return global::JNSyncMessageReflection.Descriptor.MessageTypes[12]; }
|
||||
get { return global::JNSyncMessageReflection.Descriptor.MessageTypes[11]; }
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
@ -2926,6 +2642,201 @@ public sealed partial class JNStateTileAllData : pb::IMessage<JNStateTileAllData
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取指定区块的全量数据
|
||||
/// </summary>
|
||||
public sealed partial class NSyncTileGetTileInfoRequest : pb::IMessage<NSyncTileGetTileInfoRequest>
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
, pb::IBufferMessage
|
||||
#endif
|
||||
{
|
||||
private static readonly pb::MessageParser<NSyncTileGetTileInfoRequest> _parser = new pb::MessageParser<NSyncTileGetTileInfoRequest>(() => new NSyncTileGetTileInfoRequest());
|
||||
private pb::UnknownFieldSet _unknownFields;
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public static pb::MessageParser<NSyncTileGetTileInfoRequest> Parser { get { return _parser; } }
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public static pbr::MessageDescriptor Descriptor {
|
||||
get { return global::JNSyncMessageReflection.Descriptor.MessageTypes[12]; }
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
pbr::MessageDescriptor pb::IMessage.Descriptor {
|
||||
get { return Descriptor; }
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public NSyncTileGetTileInfoRequest() {
|
||||
OnConstruction();
|
||||
}
|
||||
|
||||
partial void OnConstruction();
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public NSyncTileGetTileInfoRequest(NSyncTileGetTileInfoRequest other) : this() {
|
||||
tId_ = other.tId_;
|
||||
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public NSyncTileGetTileInfoRequest Clone() {
|
||||
return new NSyncTileGetTileInfoRequest(this);
|
||||
}
|
||||
|
||||
/// <summary>Field number for the "tId" field.</summary>
|
||||
public const int TIdFieldNumber = 1;
|
||||
private int tId_;
|
||||
/// <summary>
|
||||
///区块Id
|
||||
/// </summary>
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public int TId {
|
||||
get { return tId_; }
|
||||
set {
|
||||
tId_ = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public override bool Equals(object other) {
|
||||
return Equals(other as NSyncTileGetTileInfoRequest);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public bool Equals(NSyncTileGetTileInfoRequest other) {
|
||||
if (ReferenceEquals(other, null)) {
|
||||
return false;
|
||||
}
|
||||
if (ReferenceEquals(other, this)) {
|
||||
return true;
|
||||
}
|
||||
if (TId != other.TId) return false;
|
||||
return Equals(_unknownFields, other._unknownFields);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public override int GetHashCode() {
|
||||
int hash = 1;
|
||||
if (TId != 0) hash ^= TId.GetHashCode();
|
||||
if (_unknownFields != null) {
|
||||
hash ^= _unknownFields.GetHashCode();
|
||||
}
|
||||
return hash;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public override string ToString() {
|
||||
return pb::JsonFormatter.ToDiagnosticString(this);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public void WriteTo(pb::CodedOutputStream output) {
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
output.WriteRawMessage(this);
|
||||
#else
|
||||
if (TId != 0) {
|
||||
output.WriteRawTag(8);
|
||||
output.WriteInt32(TId);
|
||||
}
|
||||
if (_unknownFields != null) {
|
||||
_unknownFields.WriteTo(output);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
|
||||
if (TId != 0) {
|
||||
output.WriteRawTag(8);
|
||||
output.WriteInt32(TId);
|
||||
}
|
||||
if (_unknownFields != null) {
|
||||
_unknownFields.WriteTo(ref output);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public int CalculateSize() {
|
||||
int size = 0;
|
||||
if (TId != 0) {
|
||||
size += 1 + pb::CodedOutputStream.ComputeInt32Size(TId);
|
||||
}
|
||||
if (_unknownFields != null) {
|
||||
size += _unknownFields.CalculateSize();
|
||||
}
|
||||
return size;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public void MergeFrom(NSyncTileGetTileInfoRequest other) {
|
||||
if (other == null) {
|
||||
return;
|
||||
}
|
||||
if (other.TId != 0) {
|
||||
TId = other.TId;
|
||||
}
|
||||
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public void MergeFrom(pb::CodedInputStream input) {
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
input.ReadRawMessage(this);
|
||||
#else
|
||||
uint tag;
|
||||
while ((tag = input.ReadTag()) != 0) {
|
||||
switch(tag) {
|
||||
default:
|
||||
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
|
||||
break;
|
||||
case 8: {
|
||||
TId = input.ReadInt32();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
|
||||
uint tag;
|
||||
while ((tag = input.ReadTag()) != 0) {
|
||||
switch(tag) {
|
||||
default:
|
||||
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
|
||||
break;
|
||||
case 8: {
|
||||
TId = input.ReadInt32();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///Tile服务器区块信息
|
||||
/// </summary>
|
||||
|
@ -46,18 +46,17 @@ message JNStateData{
|
||||
optional bytes data = 2; //数据
|
||||
}
|
||||
|
||||
// 全量状态
|
||||
message JNStateAllData{
|
||||
int32 NetID = 1; //同步Id
|
||||
map<int64 ,JNStateData> messages = 2; //状态bytes
|
||||
}
|
||||
|
||||
// 更新状态
|
||||
message JNStateItemData{
|
||||
int32 NetID = 1; //同步Id
|
||||
map<int64 ,JNStateData> messages = 2; //状态bytes
|
||||
}
|
||||
|
||||
// 全量状态
|
||||
message JNStateAllData{
|
||||
repeated JNStateItemData data = 2; //数据
|
||||
}
|
||||
|
||||
// --------------------- 状态Tile同步 -----------------------
|
||||
// 状态Tile输入
|
||||
message JNStateTileInputs{
|
||||
@ -65,18 +64,17 @@ message JNStateTileInputs{
|
||||
JNFrameInputs message = 2; //inputs
|
||||
}
|
||||
|
||||
// Tile更新状态
|
||||
message JNStateTileItemData{
|
||||
int32 tId = 1; //区块Id
|
||||
JNStateItemData data = 2;
|
||||
}
|
||||
|
||||
// Tile更新全量状态
|
||||
message JNStateTileAllData{
|
||||
int32 tId = 1; //区块Id
|
||||
JNStateAllData data = 2;
|
||||
}
|
||||
|
||||
// 获取指定区块的全量数据
|
||||
message NSyncTileGetTileInfoRequest{
|
||||
int32 tId = 1; //区块Id
|
||||
}
|
||||
|
||||
//Tile服务器区块信息
|
||||
message JNAddTileServer{
|
||||
int32 tile = 1; //TileId
|
||||
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||
using JNGame.Sync.Entity;
|
||||
using JNGame.Sync.Frame.Entity;
|
||||
using JNGame.Sync.Frame.Entity.Components;
|
||||
using UnityEngine;
|
||||
|
||||
namespace JNGame.Sync.State.Tile.Entity
|
||||
{
|
||||
@ -44,6 +45,17 @@ namespace JNGame.Sync.State.Tile.Entity
|
||||
|
||||
public T TileSyncCreate(long id)
|
||||
{
|
||||
|
||||
//判断是否有这个Id实体
|
||||
foreach (var data in GetEntities())
|
||||
{
|
||||
if (data.Id == id)
|
||||
{
|
||||
Debug.Log("重复Id实体创建");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
var entity = NewEntity();
|
||||
entity.OnInit(this,id);
|
||||
entity.IsHost = false;
|
||||
|
@ -26,55 +26,10 @@ namespace JNGame.Sync.State.Tile
|
||||
/// 区块大小
|
||||
/// </summary>
|
||||
protected abstract int TileSize { get; }
|
||||
|
||||
public bool IsTileIndex((int X, int Y) xTuple)
|
||||
{
|
||||
if (xTuple.X >= 0 && xTuple.Y >= 0)
|
||||
{
|
||||
return xTuple.Y < Tiles.Length && xTuple.X < Tiles[0].Length;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public int GetTileIndex(LVector3 pos)
|
||||
{
|
||||
(int x, int y) = GetXYIndex(pos);
|
||||
return Tiles[y][x];
|
||||
}
|
||||
|
||||
public (int X, int Y) GetXYIndex(LVector3 pos)
|
||||
{
|
||||
// 遍历数组
|
||||
for (int y = 0; y < Tiles.Length; y++)
|
||||
{
|
||||
for (int x = 0; x < Tiles[y].Length; x++)
|
||||
{
|
||||
// 检查当前元素是否非零
|
||||
if (Tiles[y][x] != 0)
|
||||
{
|
||||
|
||||
//判断是否所在区块
|
||||
var min = new LVector2(x.ToLFloat() * TileSize,y.ToLFloat() * TileSize);
|
||||
var max = new LVector2((x + 1).ToLFloat() * TileSize,(y + 1).ToLFloat() * TileSize);
|
||||
|
||||
// 假设LVector2是一个包含X和Y属性的结构体或类
|
||||
// 检查X坐标是否在范围内
|
||||
if (pos.x < min.x || pos.x >= max.x)
|
||||
{
|
||||
continue; // X坐标不在范围内
|
||||
}
|
||||
// 检查Y坐标是否在范围内
|
||||
if (pos.z < min.y || pos.z >= max.y)
|
||||
{
|
||||
continue; // Y坐标不在范围内
|
||||
}
|
||||
|
||||
return (x,y);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return (0,0);
|
||||
return JNSSTileTool.GetTileIndex(Tiles, TileSize, pos);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -83,23 +38,7 @@ namespace JNGame.Sync.State.Tile
|
||||
/// <returns></returns>
|
||||
public List<int> GetTileGridIndex(LVector3 pos)
|
||||
{
|
||||
|
||||
(int x, int y) = GetXYIndex(pos);
|
||||
List<int> grid = new List<int>();
|
||||
|
||||
// 填充九宫格
|
||||
for (int i = -1; i <= 1; i++)
|
||||
{
|
||||
for (int j = -1; j <= 1; j++)
|
||||
{
|
||||
int tempX = x + i;
|
||||
int tempY = y + j; // 注意这里j+1+1是因为数组第二维存储的是y坐标
|
||||
if (IsTileIndex((tempX,tempY))) grid.Add(Tiles[tempY][tempX]);
|
||||
}
|
||||
}
|
||||
|
||||
return grid;
|
||||
|
||||
return JNSSTileTool.GetTileGridIndex(Tiles, TileSize,pos);
|
||||
}
|
||||
|
||||
public void AddTileShow(int index)
|
||||
|
@ -70,7 +70,7 @@ namespace JNGame.Sync.State.Tile
|
||||
{
|
||||
//根据区块设置Id 起始值
|
||||
var random = base.CreateRandom();
|
||||
random.SetIdValue(100000000000L * TID);
|
||||
random.SetIdValue(100000000000L * TID,(100000000000L * (TID + 1) - 1));
|
||||
return random;
|
||||
}
|
||||
|
||||
@ -78,15 +78,6 @@ namespace JNGame.Sync.State.Tile
|
||||
{
|
||||
return new JNTileContexts();
|
||||
}
|
||||
|
||||
public bool IsTileIndex((int X, int Y) xTuple)
|
||||
{
|
||||
if (xTuple.X >= 0 && xTuple.Y >= 0)
|
||||
{
|
||||
return xTuple.Y < Tiles.Length && xTuple.X < Tiles[0].Length;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 更新区块范围
|
||||
@ -110,6 +101,11 @@ namespace JNGame.Sync.State.Tile
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public int GetTileIndex(LVector3 pos)
|
||||
{
|
||||
return JNSSTileTool.GetTileIndex(Tiles, TileSize, pos);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 判断位置是否在区块内
|
||||
@ -117,16 +113,20 @@ namespace JNGame.Sync.State.Tile
|
||||
/// <param name="pos"></param>
|
||||
/// <returns></returns>
|
||||
public bool IsContains(LVector3 position)
|
||||
{
|
||||
return IsContains(position,MaxContains,MinContains);
|
||||
}
|
||||
public bool IsContains(LVector3 position,LVector3 Max,LVector3 Min)
|
||||
{
|
||||
// 假设LVector2是一个包含X和Y属性的结构体或类
|
||||
// 检查X坐标是否在范围内
|
||||
if (position.x < MinContains.x || position.x >= MaxContains.x)
|
||||
if (position.x < Min.x || position.x >= Max.x)
|
||||
{
|
||||
return false; // X坐标不在范围内
|
||||
}
|
||||
|
||||
// 检查Y坐标是否在范围内
|
||||
if (position.z < MinContains.y || position.z >= MaxContains.y)
|
||||
if (position.z < Min.y || position.z >= Max.y)
|
||||
{
|
||||
return false; // Y坐标不在范围内
|
||||
}
|
||||
@ -141,35 +141,7 @@ namespace JNGame.Sync.State.Tile
|
||||
/// <returns></returns>
|
||||
public (LVector2 Max,LVector2 Min) GetTileContains(int index)
|
||||
{
|
||||
(int X, int Y) = GetTileIDXY(index);
|
||||
var min = new LVector2(X.ToLFloat() * TileSize,Y.ToLFloat() * TileSize);
|
||||
var max = new LVector2((X + 1).ToLFloat() * TileSize,(Y + 1).ToLFloat() * TileSize);
|
||||
return (max,min);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取TileID X Y
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public (int X, int Y) GetTileIDXY(int index)
|
||||
{
|
||||
|
||||
// 遍历数组
|
||||
for (int y = 0; y < Tiles.Length; y++)
|
||||
{
|
||||
for (int x = 0; x < Tiles[y].Length; x++)
|
||||
{
|
||||
// 检查当前元素是否非零
|
||||
if (Tiles[y][x] != 0 && Tiles[y][x] == index)
|
||||
{
|
||||
// 返回找到的坐标
|
||||
return (x,y);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception();
|
||||
|
||||
return JNSSTileTool.GetTileContains(Tiles,TileSize,index);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -178,22 +150,7 @@ namespace JNGame.Sync.State.Tile
|
||||
/// <returns></returns>
|
||||
public List<int> GetTileGridIndex(int index)
|
||||
{
|
||||
|
||||
List<int> grid = new List<int>();
|
||||
(int X, int Y) = GetTileIDXY(index);
|
||||
// 填充九宫格
|
||||
for (int i = -1; i <= 1; i++)
|
||||
{
|
||||
for (int j = -1; j <= 1; j++)
|
||||
{
|
||||
int tempX = X + i;
|
||||
int tempY = Y + j; // 注意这里j+1+1是因为数组第二维存储的是y坐标
|
||||
if (IsTileIndex((tempX,tempY))) grid.Add(Tiles[tempY][tempX]);
|
||||
}
|
||||
}
|
||||
|
||||
return grid;
|
||||
|
||||
return JNSSTileTool.GetTileGridIndex(Tiles,TileSize,index);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
142
JNFrame2/Assets/JNGame/Sync/App/Tile/JNSSTileTool.cs
Normal file
142
JNFrame2/Assets/JNGame/Sync/App/Tile/JNSSTileTool.cs
Normal file
@ -0,0 +1,142 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using JNGame.Math;
|
||||
|
||||
namespace JNGame.Sync.State.Tile
|
||||
{
|
||||
public class JNSSTileTool
|
||||
{
|
||||
|
||||
public static bool IsTileIndex(int[][] Tiles,(int X, int Y) xTuple)
|
||||
{
|
||||
if (xTuple.X >= 0 && xTuple.Y >= 0)
|
||||
{
|
||||
return xTuple.Y < Tiles.Length && xTuple.X < Tiles[0].Length;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取TileID X Y
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static (int X, int Y) GetTileIDXY(int[][] Tiles,int index)
|
||||
{
|
||||
|
||||
// 遍历数组
|
||||
for (int y = 0; y < Tiles.Length; y++)
|
||||
{
|
||||
for (int x = 0; x < Tiles[y].Length; x++)
|
||||
{
|
||||
// 检查当前元素是否非零
|
||||
if (Tiles[y][x] != 0 && Tiles[y][x] == index)
|
||||
{
|
||||
// 返回找到的坐标
|
||||
return (x,y);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception();
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据TileId 获取最大最小范围
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static (LVector2 Max,LVector2 Min) GetTileContains(int[][] Tiles, int TileSize,int index)
|
||||
{
|
||||
(int X, int Y) = GetTileIDXY(Tiles,index);
|
||||
var min = new LVector2(X.ToLFloat() * TileSize,Y.ToLFloat() * TileSize);
|
||||
var max = new LVector2((X + 1).ToLFloat() * TileSize,(Y + 1).ToLFloat() * TileSize);
|
||||
return (max,min);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取九宫格Index
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static List<int> GetTileGridIndex(int[][] Tiles, int TileSize, (int X, int Y) xTuple)
|
||||
{
|
||||
List<int> grid = new List<int>();
|
||||
// 填充九宫格
|
||||
for (int i = -1; i <= 1; i++)
|
||||
{
|
||||
for (int j = -1; j <= 1; j++)
|
||||
{
|
||||
int tempX = xTuple.X + i;
|
||||
int tempY = xTuple.Y + j; // 注意这里j+1+1是因为数组第二维存储的是y坐标
|
||||
if (IsTileIndex(Tiles,(tempX,tempY))) grid.Add(Tiles[tempY][tempX]);
|
||||
}
|
||||
}
|
||||
return grid;
|
||||
}
|
||||
public static List<int> GetTileGridIndex(int[][] Tiles, int TileSize, int index)
|
||||
{
|
||||
return GetTileGridIndex(Tiles,TileSize,GetTileIDXY(Tiles,index));
|
||||
}
|
||||
public static List<int> GetTileGridIndex(int[][] Tiles,int TileSize,LVector3 pos)
|
||||
{
|
||||
return GetTileGridIndex(Tiles,TileSize,GetXYIndex(Tiles,TileSize,pos));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取Index
|
||||
/// </summary>
|
||||
/// <param name="Tiles"></param>
|
||||
/// <param name="TileSize"></param>
|
||||
/// <param name="pos"></param>
|
||||
/// <returns></returns>
|
||||
public static int GetTileIndex(int[][] Tiles,int TileSize,LVector3 pos)
|
||||
{
|
||||
(int x, int y) = JNSSTileTool.GetXYIndex(Tiles,TileSize,pos);
|
||||
return Tiles[y][x];
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取XY
|
||||
/// </summary>
|
||||
/// <param name="Tiles"></param>
|
||||
/// <param name="TileSize"></param>
|
||||
/// <param name="pos"></param>
|
||||
/// <returns></returns>
|
||||
public static (int X, int Y) GetXYIndex(int[][] Tiles,int TileSize,LVector3 pos)
|
||||
{
|
||||
// 遍历数组
|
||||
for (int y = 0; y < Tiles.Length; y++)
|
||||
{
|
||||
for (int x = 0; x < Tiles[y].Length; x++)
|
||||
{
|
||||
// 检查当前元素是否非零
|
||||
if (Tiles[y][x] != 0)
|
||||
{
|
||||
|
||||
//判断是否所在区块
|
||||
var min = new LVector2(x.ToLFloat() * TileSize,y.ToLFloat() * TileSize);
|
||||
var max = new LVector2((x + 1).ToLFloat() * TileSize,(y + 1).ToLFloat() * TileSize);
|
||||
|
||||
// 假设LVector2是一个包含X和Y属性的结构体或类
|
||||
// 检查X坐标是否在范围内
|
||||
if (pos.x < min.x || pos.x >= max.x)
|
||||
{
|
||||
continue; // X坐标不在范围内
|
||||
}
|
||||
// 检查Y坐标是否在范围内
|
||||
if (pos.z < min.y || pos.z >= max.y)
|
||||
{
|
||||
continue; // Y坐标不在范围内
|
||||
}
|
||||
|
||||
return (x,y);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return (0,0);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 44baac66240645d887c8996de748dd0c
|
||||
timeCreated: 1724315108
|
@ -58,6 +58,10 @@ namespace JNGame.Sync.Entity
|
||||
{
|
||||
_id = GetSystem<JNRandomSystem>().NextId();
|
||||
}
|
||||
else
|
||||
{
|
||||
GetSystem<JNRandomSystem>().AdaptId(id);
|
||||
}
|
||||
}
|
||||
|
||||
public abstract JNEntityLookup NewCLookup();
|
||||
|
@ -1,5 +1,6 @@
|
||||
using System.Collections.Generic;
|
||||
using DotRecast.Core.Collections;
|
||||
using NotImplementedException = System.NotImplementedException;
|
||||
|
||||
namespace JNGame.Sync.System.Data
|
||||
{
|
||||
@ -41,7 +42,16 @@ namespace JNGame.Sync.System.Data
|
||||
//网络Id (用于确定网络通讯时找到这个数据系统)
|
||||
public int NetID { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 插入字节
|
||||
/// </summary>
|
||||
public void OnInsertUBytes(Dictionary<long, byte[]> bytes);
|
||||
|
||||
/// <summary>
|
||||
/// 获取全部字节
|
||||
/// </summary>
|
||||
public Dictionary<long, byte[]> GetDataBytes();
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -118,34 +128,57 @@ namespace JNGame.Sync.System.Data
|
||||
//提交数据更新
|
||||
OnUByteUpdate(bytes);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取全部字节
|
||||
/// </summary>
|
||||
public Dictionary<long, byte[]> GetDataBytes()
|
||||
{
|
||||
var data = new Dictionary<long, byte[]>();
|
||||
|
||||
lock (Data)
|
||||
{
|
||||
|
||||
Data.ForEach(child =>
|
||||
{
|
||||
data[child.Key] = child.Value.GetByte();
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
return data;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 将UByte提交更新
|
||||
/// </summary>
|
||||
public virtual void OnUByteUpdate(Dictionary<long, byte[]> bytes)
|
||||
{
|
||||
foreach (var info in bytes)
|
||||
lock (Data)
|
||||
{
|
||||
if (SDByteOperate.IsDelete(info.Value))
|
||||
foreach (var info in bytes)
|
||||
{
|
||||
Data.Remove(info.Key);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
if (Data.TryGetValue(info.Key, out var value))
|
||||
if (SDByteOperate.IsDelete(info.Value))
|
||||
{
|
||||
value.UByte(info.Value);
|
||||
Data.Remove(info.Key);
|
||||
}
|
||||
else
|
||||
{
|
||||
Data[info.Key] = NewObject(info.Key,info.Value);
|
||||
}
|
||||
|
||||
if (Data.TryGetValue(info.Key, out var value))
|
||||
{
|
||||
value.UByte(info.Value);
|
||||
}
|
||||
else
|
||||
{
|
||||
Data[info.Key] = NewObject(info.Key,info.Value);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -196,6 +229,6 @@ namespace JNGame.Sync.System.Data
|
||||
{
|
||||
UBytes[id] = SDByteOperate.DELETE;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
@ -1,25 +1,68 @@
|
||||
using System.Collections.Generic;
|
||||
using DotRecast.Core.Collections;
|
||||
using JNGame.Math;
|
||||
using JNGame.Sync.Entity;
|
||||
using JNGame.Sync.Frame.Entity.Components;
|
||||
using JNGame.Sync.State.Tile;
|
||||
using JNGame.Sync.State.Tile.Entity;
|
||||
using NotImplementedException = System.NotImplementedException;
|
||||
|
||||
namespace JNGame.Sync.System.Data
|
||||
{
|
||||
|
||||
public interface ISTileDataSystem
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 清除指定区域数据
|
||||
/// </summary>
|
||||
public void ClearTileData(int index);
|
||||
|
||||
/// <summary>
|
||||
/// 获取有权限的全部字节
|
||||
/// </summary>
|
||||
public Dictionary<long, byte[]> GetHostDataBytes();
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取指定区块的全部字节
|
||||
/// </summary>
|
||||
public Dictionary<long, byte[]> GetTileDataBytes(int index);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
public abstract class ISTileData : ISStateData
|
||||
{
|
||||
public abstract bool IsHost { get; }
|
||||
public JNTileEntity Entity;
|
||||
|
||||
/// <summary>
|
||||
/// 绑定实体到数据 (销毁数据时顺带销毁实体)
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
public void BindEntity(JNTileEntity entity)
|
||||
{
|
||||
Entity = entity;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取数据位置(用于区块清除)
|
||||
/// </summary>
|
||||
public abstract LVector3 GetDataPosition();
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 支持区块的数据类
|
||||
/// </summary>
|
||||
public abstract class STileDataSystem<T,E> : SStateDataSystem<T> where T : ISTileData,new() where E : JNTileEntity, new()
|
||||
public abstract class STileDataSystem<T,E> : SStateDataSystem<T>,ISTileDataSystem where T : ISTileData,new() where E : JNTileEntity, new()
|
||||
{
|
||||
|
||||
public abstract JNTileContext<E> NodeContext { get; }
|
||||
|
||||
|
||||
|
||||
protected STileDataSystem(SStateDataEnum type) : base(type)
|
||||
{
|
||||
@ -40,7 +83,12 @@ namespace JNGame.Sync.System.Data
|
||||
protected virtual void OnDataSyncContext()
|
||||
{
|
||||
|
||||
var lIsTileData = new Dictionary<long, T>(Data);
|
||||
Dictionary<long, T> lIsTileData;
|
||||
|
||||
lock (Data)
|
||||
{
|
||||
lIsTileData = new Dictionary<long, T>(Data);
|
||||
}
|
||||
|
||||
NodeContext.GetEntities().ForEach(child =>
|
||||
{
|
||||
@ -60,7 +108,9 @@ namespace JNGame.Sync.System.Data
|
||||
foreach (var keyValue in lIsTileData)
|
||||
{
|
||||
var entity = NodeContext.TileSyncCreate(keyValue.Key);
|
||||
entity.TileSyncData(keyValue.Value);
|
||||
entity?.TileSyncData(keyValue.Value);
|
||||
//将实体绑定到数据中
|
||||
keyValue.Value.BindEntity(entity);
|
||||
}
|
||||
|
||||
}
|
||||
@ -76,6 +126,94 @@ namespace JNGame.Sync.System.Data
|
||||
if (!data.IsHost) return;
|
||||
base.Add(data);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 判断数据是否在区块内
|
||||
/// </summary>
|
||||
public bool IsTileInside(int tileId,T data)
|
||||
{
|
||||
|
||||
var index = -1;
|
||||
|
||||
if (Sync is JNSSTileClientService clientService)
|
||||
{
|
||||
index = clientService.GetTileIndex(data.GetDataPosition());
|
||||
}
|
||||
if (Sync is JNSSTileServerService serverService)
|
||||
{
|
||||
index = serverService.GetTileIndex(data.GetDataPosition());
|
||||
}
|
||||
|
||||
return index == tileId;
|
||||
|
||||
}
|
||||
|
||||
public void ClearTileData(int index)
|
||||
{
|
||||
|
||||
lock (Data)
|
||||
{
|
||||
|
||||
//需要删除的数据Id
|
||||
var ids = new List<long>();
|
||||
|
||||
Data.ForEach(child =>
|
||||
{
|
||||
if (IsTileInside(index,child.Value)) ids.Add(child.Key);
|
||||
});
|
||||
|
||||
//删除数据和实体
|
||||
ids.ForEach(child =>
|
||||
{
|
||||
//销毁实体
|
||||
Data[child].Entity?.Destroy();
|
||||
//销毁数据
|
||||
Data.Remove(child);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public Dictionary<long, byte[]> GetHostDataBytes()
|
||||
{
|
||||
|
||||
var data = new Dictionary<long, byte[]>();
|
||||
|
||||
lock (Data)
|
||||
{
|
||||
Data.ForEach(child =>
|
||||
{
|
||||
if (child.Value.IsHost)
|
||||
{
|
||||
data[child.Key] = child.Value.GetByte();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return data;
|
||||
|
||||
}
|
||||
|
||||
public Dictionary<long, byte[]> GetTileDataBytes(int index)
|
||||
{
|
||||
|
||||
var data = new Dictionary<long, byte[]>();
|
||||
|
||||
lock (Data)
|
||||
{
|
||||
Data.ForEach(child =>
|
||||
{
|
||||
if (IsTileInside(index,child.Value))
|
||||
{
|
||||
data[child.Key] = child.Value.GetByte();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return data;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -17,6 +17,8 @@ namespace JNGame.Sync.Frame.Service
|
||||
|
||||
//Id
|
||||
private long _id = 0;
|
||||
private long _idMin = long.MinValue;
|
||||
private long _idMax = long.MaxValue;
|
||||
|
||||
public JNRandomSystem(int seed)
|
||||
{
|
||||
@ -44,13 +46,30 @@ namespace JNGame.Sync.Frame.Service
|
||||
return ++_id;
|
||||
}
|
||||
|
||||
public void SetIdValue(long id)
|
||||
public void SetIdValue(long min,long max)
|
||||
{
|
||||
if (_id < id)
|
||||
if (_id < min)
|
||||
{
|
||||
_id = id;
|
||||
_id = min;
|
||||
}
|
||||
_idMin = min;
|
||||
_idMax = max;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 适配Id 用于 历史Id和新Id重复问题
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <exception cref="NotImplementedException"></exception>
|
||||
public void AdaptId(long id)
|
||||
{
|
||||
if (_idMin <= id && id >= _idMax)
|
||||
{
|
||||
if (id > _id)
|
||||
{
|
||||
_id = id;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6b9b55dc058d24346b06611a45d2fa04
|
||||
guid: 385b6e59f9aeb564db8dc8ef322a13bf
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
BIN
JNFrame2/Assets/Packages/TouchSocket.2.0.16/.signature.p7s
vendored
Normal file
BIN
JNFrame2/Assets/Packages/TouchSocket.2.0.16/.signature.p7s
vendored
Normal file
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5deb335685b42ef46809c4278256d94c
|
||||
guid: 75ba54533facd964098a7fa0910e491e
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
@ -2,7 +2,7 @@
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>TouchSocket</id>
|
||||
<version>2.0.15</version>
|
||||
<version>2.0.16</version>
|
||||
<title>TouchSocket</title>
|
||||
<authors>若汝棋茗</authors>
|
||||
<requireLicenseAcceptance>true</requireLicenseAcceptance>
|
||||
@ -15,34 +15,34 @@
|
||||
说明文档:https://touchsocket.net/</description>
|
||||
<copyright>Copyright © 2024 若汝棋茗</copyright>
|
||||
<tags>Tcp Udp Ssl Socket Saea TouchSocket</tags>
|
||||
<repository type="git" url="https://touchsocket.net/" commit="a31584e5e1aa674f75232ead706ef7b84573b604" />
|
||||
<repository type="git" url="https://touchsocket.net/" commit="2928744a95c3b0b4a392c62454032467c933353f" />
|
||||
<dependencies>
|
||||
<group targetFramework=".NETFramework4.5">
|
||||
<dependency id="TouchSocket.Core" version="2.0.15" exclude="Build,Analyzers" />
|
||||
<dependency id="TouchSocket.Core" version="2.0.16" exclude="Build,Analyzers" />
|
||||
</group>
|
||||
<group targetFramework=".NETFramework4.6.2">
|
||||
<dependency id="TouchSocket.Core" version="2.0.15" exclude="Build,Analyzers" />
|
||||
<dependency id="TouchSocket.Core" version="2.0.16" exclude="Build,Analyzers" />
|
||||
</group>
|
||||
<group targetFramework=".NETFramework4.7.2">
|
||||
<dependency id="TouchSocket.Core" version="2.0.15" exclude="Build,Analyzers" />
|
||||
<dependency id="TouchSocket.Core" version="2.0.16" exclude="Build,Analyzers" />
|
||||
</group>
|
||||
<group targetFramework=".NETFramework4.8.1">
|
||||
<dependency id="TouchSocket.Core" version="2.0.15" exclude="Build,Analyzers" />
|
||||
<dependency id="TouchSocket.Core" version="2.0.16" exclude="Build,Analyzers" />
|
||||
</group>
|
||||
<group targetFramework="net6.0">
|
||||
<dependency id="TouchSocket.Core" version="2.0.15" exclude="Build,Analyzers" />
|
||||
<dependency id="TouchSocket.Core" version="2.0.16" exclude="Build,Analyzers" />
|
||||
</group>
|
||||
<group targetFramework="net7.0">
|
||||
<dependency id="TouchSocket.Core" version="2.0.15" exclude="Build,Analyzers" />
|
||||
<dependency id="TouchSocket.Core" version="2.0.16" exclude="Build,Analyzers" />
|
||||
</group>
|
||||
<group targetFramework="net8.0">
|
||||
<dependency id="TouchSocket.Core" version="2.0.15" exclude="Build,Analyzers" />
|
||||
<dependency id="TouchSocket.Core" version="2.0.16" exclude="Build,Analyzers" />
|
||||
</group>
|
||||
<group targetFramework=".NETStandard2.0">
|
||||
<dependency id="TouchSocket.Core" version="2.0.15" exclude="Build,Analyzers" />
|
||||
<dependency id="TouchSocket.Core" version="2.0.16" exclude="Build,Analyzers" />
|
||||
</group>
|
||||
<group targetFramework=".NETStandard2.1">
|
||||
<dependency id="TouchSocket.Core" version="2.0.15" exclude="Build,Analyzers" />
|
||||
<dependency id="TouchSocket.Core" version="2.0.16" exclude="Build,Analyzers" />
|
||||
</group>
|
||||
</dependencies>
|
||||
</metadata>
|
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 787dc95c4fb63bc45a8b9565bb9ba114
|
||||
guid: 614156e744f93394aa033de437594b8e
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 90ee388586b2dc743acb99400e15b7e0
|
||||
guid: 48f35183c7b04f541aeef89d6945fdc4
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0d8dd70956f83e5479adac906de48b88
|
||||
guid: aedaca13f8226314887fc7dfb8461725
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
BIN
JNFrame2/Assets/Packages/TouchSocket.2.0.16/lib/netstandard2.1/TouchSocket.dll
vendored
Normal file
BIN
JNFrame2/Assets/Packages/TouchSocket.2.0.16/lib/netstandard2.1/TouchSocket.dll
vendored
Normal file
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 670b9c96d65efee468bfbd250ebee179
|
||||
guid: 46b48c4ed7b2ceb41ac2bc57cac2b87b
|
||||
labels:
|
||||
- NuGetForUnity
|
||||
PluginImporter:
|
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 19cbd1462837b8e4785e79ce5d3d48b6
|
||||
guid: 19eb2f6037057b64987448360cc914c2
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: aab37a8cb5df7b94aa2b7db0ca5e456d
|
||||
guid: a0f2495f1d31a6e45bfe5f109dcb6710
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 001172482dacfdc468b0c57cdc7a1d21
|
||||
guid: 06f5b46e1b301494ab4855f58aef2950
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 309201014e6a0f54abe6c80df8159895
|
||||
guid: 5d0047ccf8b340a4d835c89150342d27
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
@ -2,7 +2,7 @@
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>TouchSocket.Core</id>
|
||||
<version>2.0.15</version>
|
||||
<version>2.0.16</version>
|
||||
<title>TouchSocket.Core</title>
|
||||
<authors>若汝棋茗</authors>
|
||||
<requireLicenseAcceptance>true</requireLicenseAcceptance>
|
||||
@ -15,7 +15,7 @@
|
||||
说明文档:https://touchsocket.net/</description>
|
||||
<copyright>Copyright © 2024 若汝棋茗</copyright>
|
||||
<tags>Message ArrayPool Logger Plugin 3DES Xml FilePool Serialize TouchSocket</tags>
|
||||
<repository type="git" url="https://touchsocket.net/" commit="a31584e5e1aa674f75232ead706ef7b84573b604" />
|
||||
<repository type="git" url="https://touchsocket.net/" commit="2928744a95c3b0b4a392c62454032467c933353f" />
|
||||
<dependencies>
|
||||
<group targetFramework=".NETFramework4.5">
|
||||
<dependency id="Newtonsoft.Json" version="13.0.1" exclude="Build,Analyzers" />
|
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 21a81c25baebc25498fa9f810e7786a6
|
||||
guid: b799c4910b50cce4da620f8ee3d333da
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 836b7aa9f14673a4db50f8e9c6baf431
|
||||
guid: de9b33b37cfbb62448055492383aeef2
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3117d1ad083f831499a9965656a5f9ec
|
||||
guid: b4439744ac5c9f44b9e72798cbc48dd3
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ca244b3d7080a854e91365d2178baf56
|
||||
guid: 2149722b8ffe6b6488d972a071c94992
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5cfc3bb8c54ec3f4bb436a7e16bfad76
|
||||
guid: 419aad6dadc434f46b157bc70763119b
|
||||
labels:
|
||||
- NuGetForUnity
|
||||
- RoslynAnalyzer
|
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 33d4a46f32ca54f42808cebf48328c98
|
||||
guid: 7efe2cfa32825fa4090a04b3babb1425
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 58014e80bce032b4fb09f530a09a99f7
|
||||
guid: 3c97e10aa24c9bd4fa1b7a98d025a637
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c22dc9f3d374e5e42bef789937f3bc15
|
||||
guid: 7e2b27a0c5740f9468c076996fe371d7
|
||||
labels:
|
||||
- NuGetForUnity
|
||||
PluginImporter:
|
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f7ab4d1d05dc083429219a23685e56dc
|
||||
guid: 6f84c78511ff60348be823ecb6b68687
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4a2b59de3ab7a114486320a72b05f0bc
|
||||
guid: bf8def29a7a8fcb45b94317de768ecf5
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
8
JNFrame2/Assets/Packages/TouchSocket.Http.2.0.16.meta
Normal file
8
JNFrame2/Assets/Packages/TouchSocket.Http.2.0.16.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6cc832bf29ce49640be845ed22f7e33c
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Binary file not shown.
201
JNFrame2/Assets/Packages/TouchSocket.Http.2.0.16/LICENSE.txt
vendored
Normal file
201
JNFrame2/Assets/Packages/TouchSocket.Http.2.0.16/LICENSE.txt
vendored
Normal file
@ -0,0 +1,201 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright (c) 2020-2023 若汝棋茗
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
7
JNFrame2/Assets/Packages/TouchSocket.Http.2.0.16/LICENSE.txt.meta
vendored
Normal file
7
JNFrame2/Assets/Packages/TouchSocket.Http.2.0.16/LICENSE.txt.meta
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6b5c22043fce3a5478ea103b613c804c
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
60
JNFrame2/Assets/Packages/TouchSocket.Http.2.0.16/TouchSocket.Http.nuspec
vendored
Normal file
60
JNFrame2/Assets/Packages/TouchSocket.Http.2.0.16/TouchSocket.Http.nuspec
vendored
Normal file
@ -0,0 +1,60 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>TouchSocket.Http</id>
|
||||
<version>2.0.16</version>
|
||||
<title>TouchSocket.Http</title>
|
||||
<authors>若汝棋茗</authors>
|
||||
<requireLicenseAcceptance>true</requireLicenseAcceptance>
|
||||
<license type="file">LICENSE.txt</license>
|
||||
<licenseUrl>https://aka.ms/deprecateLicenseUrl</licenseUrl>
|
||||
<icon>logo.png</icon>
|
||||
<projectUrl>https://touchsocket.net/</projectUrl>
|
||||
<description>这是一个基于Http1.1协议的组件库。它能提供Http服务器、客户端、以及WebSocket组件。功能上支持大文件下载、上传、以及多线程下载和断点续传,小文件form上传,WebApi声明和执行。所提供的Http客户端是基于连接的,可以捕获连接和断开连接等消息。
|
||||
|
||||
说明文档:https://touchsocket.net/</description>
|
||||
<copyright>Copyright © 2024 若汝棋茗</copyright>
|
||||
<tags>Http Https HttpServer HttpClient WebSocket WebSocketServer WebSocketClient TouchSocket</tags>
|
||||
<repository type="git" url="https://touchsocket.net/" commit="2928744a95c3b0b4a392c62454032467c933353f" />
|
||||
<dependencies>
|
||||
<group targetFramework=".NETFramework4.5">
|
||||
<dependency id="TouchSocket" version="2.0.16" exclude="Build,Analyzers" />
|
||||
</group>
|
||||
<group targetFramework=".NETFramework4.6.2">
|
||||
<dependency id="TouchSocket" version="2.0.16" exclude="Build,Analyzers" />
|
||||
</group>
|
||||
<group targetFramework=".NETFramework4.7.2">
|
||||
<dependency id="TouchSocket" version="2.0.16" exclude="Build,Analyzers" />
|
||||
</group>
|
||||
<group targetFramework=".NETFramework4.8.1">
|
||||
<dependency id="TouchSocket" version="2.0.16" exclude="Build,Analyzers" />
|
||||
<dependency id="System.Net.Http" version="4.3.4" exclude="Build,Analyzers" />
|
||||
</group>
|
||||
<group targetFramework="net6.0">
|
||||
<dependency id="TouchSocket" version="2.0.16" exclude="Build,Analyzers" />
|
||||
</group>
|
||||
<group targetFramework="net7.0">
|
||||
<dependency id="TouchSocket" version="2.0.16" exclude="Build,Analyzers" />
|
||||
</group>
|
||||
<group targetFramework="net8.0">
|
||||
<dependency id="TouchSocket" version="2.0.16" exclude="Build,Analyzers" />
|
||||
</group>
|
||||
<group targetFramework=".NETStandard2.0">
|
||||
<dependency id="TouchSocket" version="2.0.16" exclude="Build,Analyzers" />
|
||||
</group>
|
||||
<group targetFramework=".NETStandard2.1">
|
||||
<dependency id="TouchSocket" version="2.0.16" exclude="Build,Analyzers" />
|
||||
</group>
|
||||
</dependencies>
|
||||
<frameworkAssemblies>
|
||||
<frameworkAssembly assemblyName="System.Web" targetFramework=".NETFramework4.5, .NETFramework4.6.2, .NETFramework4.7.2, .NETFramework4.8.1" />
|
||||
<frameworkAssembly assemblyName="System.IO" targetFramework=".NETFramework4.8.1" />
|
||||
<frameworkAssembly assemblyName="System.Net.Http" targetFramework=".NETFramework4.8.1" />
|
||||
<frameworkAssembly assemblyName="System.Runtime" targetFramework=".NETFramework4.8.1" />
|
||||
<frameworkAssembly assemblyName="System.Security.Cryptography.Algorithms" targetFramework=".NETFramework4.8.1" />
|
||||
<frameworkAssembly assemblyName="System.Security.Cryptography.Encoding" targetFramework=".NETFramework4.8.1" />
|
||||
<frameworkAssembly assemblyName="System.Security.Cryptography.Primitives" targetFramework=".NETFramework4.8.1" />
|
||||
<frameworkAssembly assemblyName="System.Security.Cryptography.X509Certificates" targetFramework=".NETFramework4.8.1" />
|
||||
</frameworkAssemblies>
|
||||
</metadata>
|
||||
</package>
|
7
JNFrame2/Assets/Packages/TouchSocket.Http.2.0.16/TouchSocket.Http.nuspec.meta
vendored
Normal file
7
JNFrame2/Assets/Packages/TouchSocket.Http.2.0.16/TouchSocket.Http.nuspec.meta
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3a5278302ad841f478efc65c15de9fc3
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
8
JNFrame2/Assets/Packages/TouchSocket.Http.2.0.16/lib.meta
vendored
Normal file
8
JNFrame2/Assets/Packages/TouchSocket.Http.2.0.16/lib.meta
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: af074891e0c4596409573ac91bfd29d3
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
8
JNFrame2/Assets/Packages/TouchSocket.Http.2.0.16/lib/netstandard2.1.meta
vendored
Normal file
8
JNFrame2/Assets/Packages/TouchSocket.Http.2.0.16/lib/netstandard2.1.meta
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cd394d4309eacdb43a05b53cf334c972
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
BIN
JNFrame2/Assets/Packages/TouchSocket.Http.2.0.16/lib/netstandard2.1/TouchSocket.Http.dll
vendored
Normal file
BIN
JNFrame2/Assets/Packages/TouchSocket.Http.2.0.16/lib/netstandard2.1/TouchSocket.Http.dll
vendored
Normal file
Binary file not shown.
23
JNFrame2/Assets/Packages/TouchSocket.Http.2.0.16/lib/netstandard2.1/TouchSocket.Http.dll.meta
vendored
Normal file
23
JNFrame2/Assets/Packages/TouchSocket.Http.2.0.16/lib/netstandard2.1/TouchSocket.Http.dll.meta
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 89b519974cf7f19499cddb6f16cbe858
|
||||
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:
|
3257
JNFrame2/Assets/Packages/TouchSocket.Http.2.0.16/lib/netstandard2.1/TouchSocket.Http.xml
vendored
Normal file
3257
JNFrame2/Assets/Packages/TouchSocket.Http.2.0.16/lib/netstandard2.1/TouchSocket.Http.xml
vendored
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1230e633010d74549980716c81b4048e
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
BIN
JNFrame2/Assets/Packages/TouchSocket.Http.2.0.16/logo.png
vendored
Normal file
BIN
JNFrame2/Assets/Packages/TouchSocket.Http.2.0.16/logo.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
135
JNFrame2/Assets/Packages/TouchSocket.Http.2.0.16/logo.png.meta
vendored
Normal file
135
JNFrame2/Assets/Packages/TouchSocket.Http.2.0.16/logo.png.meta
vendored
Normal file
@ -0,0 +1,135 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8d64822e514722a45a813d2dd46950ef
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 12
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMasterTextureLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -24,10 +24,10 @@ public class DApplication : MonoBehaviour
|
||||
//开始运行同步
|
||||
if (App.IsServer())
|
||||
{
|
||||
var tileServer = App.Game.Start<JNGTileServerSystem>();
|
||||
var tileServer = App.Game.StartServer<JNGTileServerSystem>();
|
||||
JNTileServerDebuger.Instance.Add(tileServer);
|
||||
}
|
||||
if (App.IsClient()) App.Game.Start<JNGTileClientSystem>();
|
||||
if (App.IsClient()) App.Game.StartClient<JNGTileClientSystem>();
|
||||
|
||||
|
||||
}
|
||||
@ -48,10 +48,5 @@ public class DApplication : MonoBehaviour
|
||||
var input = App.Game.GetInput<IDWorld>();
|
||||
input.IsAdd = true;
|
||||
}
|
||||
|
||||
public void OnClickServerCreate()
|
||||
{
|
||||
App.Game.Start<JNGTileServerSystem>();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -7,7 +7,7 @@ namespace AppGame
|
||||
|
||||
public class TileServerInfo
|
||||
{
|
||||
public String id;
|
||||
public String server;
|
||||
public String ip;
|
||||
public int port;
|
||||
}
|
||||
|
@ -28,6 +28,8 @@ namespace AppGame.Sync
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
|
||||
|
||||
base.Initialize();
|
||||
//默认玩家位置
|
||||
SetPlayerPosition(LVector3.Zero);
|
||||
@ -174,6 +176,7 @@ namespace AppGame.Sync
|
||||
if (info is not null)
|
||||
{
|
||||
client.SetPoint($"{info.ip}:{info.port}");
|
||||
client.SetTileServer(info.server);
|
||||
|
||||
if (IsTileConnect(index))
|
||||
{
|
||||
@ -194,8 +197,27 @@ namespace AppGame.Sync
|
||||
{
|
||||
Debug.Log($"[{index}] 卸载 Socket");
|
||||
App.Client.RemoveClient(client);
|
||||
//并且释放数据
|
||||
GetSystems<ISTileDataSystem>().ForEach(data =>
|
||||
{
|
||||
data.ClearTileData(index);
|
||||
});
|
||||
}
|
||||
Sockets.Remove(index);
|
||||
}
|
||||
public void RemoveSocket(string server)
|
||||
{
|
||||
Sockets.ToArray().ForEach(tile =>
|
||||
{
|
||||
if (tile.Value.TileServer != server) return;
|
||||
tile.Value.OnClose();
|
||||
Sockets.Remove(tile.Key);
|
||||
//并且释放数据
|
||||
GetSystems<ISTileDataSystem>().ForEach(data =>
|
||||
{
|
||||
data.ClearTileData(tile.Key);
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
@ -39,6 +39,9 @@ namespace AppGame.Sync
|
||||
//区块Socket
|
||||
public Dictionary<int, JNGTileClient> Sockets = new ();
|
||||
|
||||
//是否开始前尝试连接周围区块去恢复历史数据
|
||||
public bool isRecover = true;
|
||||
|
||||
/// <summary>
|
||||
/// 初始化服务器
|
||||
/// </summary>
|
||||
@ -47,6 +50,48 @@ namespace AppGame.Sync
|
||||
{
|
||||
|
||||
await base.OnInit();
|
||||
|
||||
if (isRecover)
|
||||
{
|
||||
|
||||
List<int> tileIds = GetTileGridIndex(TID);
|
||||
foreach (var tileId in tileIds)
|
||||
{
|
||||
var client = await AddSocket(tileId);
|
||||
if (client is null) continue;
|
||||
|
||||
//连接到附近区块 开始 恢复数据
|
||||
Debug.Log($"[JNGTileServerSystem] 连接到附近区块{tileId} 开始 恢复数据");
|
||||
var tileInfo = await client.NSyncTileGetTileInfo(TID);
|
||||
if (tileInfo is not null)
|
||||
{
|
||||
Debug.Log("[JNGTileServerSystem] 获取到恢复数据成功 正在恢复数据");
|
||||
|
||||
var message = new Dictionary<long, byte[]>();
|
||||
tileInfo.Data.Data.ForEach(frame =>
|
||||
{
|
||||
message.Clear();
|
||||
foreach (var data in frame.Messages)
|
||||
{
|
||||
message.Add(data.Key,data.Value.Data.ToByteArray());
|
||||
}
|
||||
GetSystems<ISStateDataSystem>().ForEach(child =>
|
||||
{
|
||||
if (child.NetID != frame.NetID) return;
|
||||
child.OnInsertUBytes(message);
|
||||
});
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.Log("[JNGTileServerSystem] 获取到恢复数据失败");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Debug.Log("[JNGTileServerSystem] 恢复数据结束");
|
||||
|
||||
}
|
||||
|
||||
//添加Tile服务器
|
||||
App.Business.Send((int)NActionEnum.NAddTileServer,new JNAddTileServer()
|
||||
@ -60,7 +105,7 @@ namespace AppGame.Sync
|
||||
Timers.Instance.SetInterval(1f, UpdateTileSocket);
|
||||
|
||||
}
|
||||
|
||||
|
||||
public override SLogicSystem[] NewLogicSystems()
|
||||
{
|
||||
return new SLogicSystem[]
|
||||
@ -193,9 +238,9 @@ namespace AppGame.Sync
|
||||
return Sockets.Keys.Where(key => Sockets[key].IsOpen).ToArray();
|
||||
}
|
||||
|
||||
protected async Task AddSocket(int index)
|
||||
protected async Task<JNGTileClient> AddSocket(int index)
|
||||
{
|
||||
if (IsTileConnect(index)) return;
|
||||
if (IsTileConnect(index)) return null;
|
||||
|
||||
var client = new JNGTileClient();
|
||||
Sockets.Add(index,client);
|
||||
@ -207,16 +252,23 @@ namespace AppGame.Sync
|
||||
{
|
||||
Debug.Log($"[{index}] 连接 Socket");
|
||||
client.SetPoint($"{info.ip}:{info.port}");
|
||||
client.SetTileServer(info.server);
|
||||
await client.OnInit();
|
||||
return client;
|
||||
}
|
||||
else
|
||||
{
|
||||
Sockets.Remove(index);
|
||||
}
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
protected void RemoveSocket(int index)
|
||||
/// <summary>
|
||||
/// 销毁Socket
|
||||
/// </summary>
|
||||
/// <param name="index"></param>
|
||||
public void RemoveSocket(int index)
|
||||
{
|
||||
if (Sockets.TryGetValue(index,out var client))
|
||||
{
|
||||
@ -225,6 +277,15 @@ namespace AppGame.Sync
|
||||
}
|
||||
Sockets.Remove(index);
|
||||
}
|
||||
public void RemoveSocket(string server)
|
||||
{
|
||||
Sockets.ToArray().ForEach(tile =>
|
||||
{
|
||||
if (tile.Value.TileServer != server) return;
|
||||
tile.Value.OnClose();
|
||||
Sockets.Remove(tile.Key);
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -1,6 +1,7 @@
|
||||
using System.Net;
|
||||
using System.Threading.Tasks;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using DotRecast.Core.Collections;
|
||||
using JNGame.Network;
|
||||
using Plugins.JNGame.Network;
|
||||
using Plugins.JNGame.Network.Action;
|
||||
@ -14,6 +15,12 @@ namespace AppGame.Systems
|
||||
private int _clientId;
|
||||
public int ClientId => _clientId;
|
||||
|
||||
/// <summary>
|
||||
/// 区块服务器标识
|
||||
/// </summary>
|
||||
private string _tileServer;
|
||||
public string TileServer => _tileServer;
|
||||
|
||||
public void BindID(int clientId)
|
||||
{
|
||||
_clientId = clientId;
|
||||
@ -23,6 +30,10 @@ namespace AppGame.Systems
|
||||
{
|
||||
_point = point;
|
||||
}
|
||||
public void SetTileServer(string tileServer)
|
||||
{
|
||||
_tileServer = tileServer;
|
||||
}
|
||||
|
||||
protected override async UniTask<string> GetEndPoint()
|
||||
{
|
||||
@ -36,6 +47,7 @@ namespace AppGame.Systems
|
||||
//监听服务端事件
|
||||
AddListener((int)NActionEnum.NSyncStateDataUpdate,OnNSyncStateDataUpdate);
|
||||
AddListener((int)NActionEnum.LocalClientConnect,OnClientConnect);
|
||||
AddListener((int)NActionEnum.NSyncTileAllUpdateBack,OnNSyncTileAllUpdateBack);
|
||||
|
||||
//连接
|
||||
await base.OnInit();
|
||||
@ -49,6 +61,8 @@ namespace AppGame.Systems
|
||||
{
|
||||
ClientId = ClientId
|
||||
});
|
||||
//向服务器索要全量信息
|
||||
Send((int)NActionEnum.NSyncTileAllUpdate);
|
||||
}
|
||||
|
||||
private void OnNSyncStateDataUpdate(byte[] data)
|
||||
@ -56,5 +70,26 @@ namespace AppGame.Systems
|
||||
var info = JNStateItemData.Parser.ParseFrom(data);
|
||||
App.Game.AddState(info);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 状态同步全量回调
|
||||
/// </summary>
|
||||
/// <param name="obj"></param>
|
||||
private void OnNSyncTileAllUpdateBack(byte[] data)
|
||||
{
|
||||
|
||||
var allData = JNStateTileAllData.Parser.ParseFrom(data);
|
||||
|
||||
App.Game.ClearTileState(allData.TId);
|
||||
|
||||
//生效全局回调
|
||||
allData.Data.Data.ForEach(child =>
|
||||
{
|
||||
App.Game.AddState(child);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -2,9 +2,13 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Net.Sockets;
|
||||
using System.Threading.Tasks;
|
||||
using AppGame.Sync;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using DotRecast.Core.Collections;
|
||||
using Google.Protobuf;
|
||||
using JNGame.Network;
|
||||
using JNGame.Sync.System;
|
||||
using JNGame.Sync.System.Data;
|
||||
using Plugins.JNGame.Network;
|
||||
using Plugins.JNGame.Network.Action;
|
||||
|
||||
@ -27,6 +31,8 @@ namespace AppGame.Systems
|
||||
//监听服务端事件
|
||||
AddListener((int)NActionEnum.NSyncFrameInput,OnNSyncFrameInput);
|
||||
AddListener((int)NActionEnum.NSyncTileInput,OnNSyncTileInput);
|
||||
AddListener((int)NActionEnum.NSyncTileAllUpdate,OnNSyncTileAllUpdate);
|
||||
AddListener((int)NActionEnum.NSyncTileGetTileInfo,OnNSyncTileGetTileInfo);
|
||||
AddListener((int)GActionEnum.BindClientID,OnBindClientID);
|
||||
|
||||
//连接
|
||||
@ -87,6 +93,72 @@ namespace AppGame.Systems
|
||||
});
|
||||
App.Game.AddTileInput(inputs);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 返回全量信息
|
||||
/// </summary>
|
||||
private void OnNSyncTileAllUpdate(JNServerParam args)
|
||||
{
|
||||
|
||||
if (App.Game.Server is not JNGTileServerSystem tileServer) return;
|
||||
|
||||
var allData = new JNStateTileAllData();
|
||||
|
||||
allData.TId = tileServer.TID;
|
||||
allData.Data = new JNStateAllData();
|
||||
|
||||
tileServer.GetSystems<ISTileDataSystem>().ForEach(data =>
|
||||
{
|
||||
|
||||
var item = new JNStateItemData();
|
||||
allData.Data.Data.Add(item);
|
||||
|
||||
item.NetID = ((ISStateDataSystem)data).NetID;
|
||||
data.GetHostDataBytes().ForEach(keyValue =>
|
||||
{
|
||||
item.Messages[keyValue.Key] = new JNStateData() { Data = ByteString.CopyFrom(keyValue.Value) };
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
Send(args.Client, (int)NActionEnum.NSyncTileAllUpdateBack,allData);
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取指定区块的全量信息
|
||||
/// </summary>
|
||||
private void OnNSyncTileGetTileInfo(JNServerParam args)
|
||||
{
|
||||
|
||||
if (App.Game.Server is not JNGTileServerSystem tileServer) return;
|
||||
|
||||
var tileSpecify = NSyncTileGetTileInfoRequest.Parser.ParseFrom(args.Message);
|
||||
|
||||
var allData = new JNStateTileAllData();
|
||||
|
||||
allData.TId = tileServer.TID;
|
||||
allData.Data = new JNStateAllData();
|
||||
|
||||
tileServer.GetSystems<ISTileDataSystem>().ForEach(data =>
|
||||
{
|
||||
|
||||
var item = new JNStateItemData();
|
||||
allData.Data.Data.Add(item);
|
||||
|
||||
item.NetID = ((ISStateDataSystem)data).NetID;
|
||||
data.GetTileDataBytes(tileSpecify.TId).ForEach(keyValue =>
|
||||
{
|
||||
item.Messages[keyValue.Key] = new JNStateData() { Data = ByteString.CopyFrom(keyValue.Value) };
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
//返回消息
|
||||
SendCallback(args.Client,args.MessageID,allData);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
@ -1,6 +1,7 @@
|
||||
using System.Net;
|
||||
using System.Threading.Tasks;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using DotRecast.Core.Collections;
|
||||
using JNGame.Network;
|
||||
using Plugins.JNGame.Network;
|
||||
using Plugins.JNGame.Network.Action;
|
||||
@ -12,10 +13,20 @@ namespace AppGame.Systems
|
||||
|
||||
private string _point;
|
||||
|
||||
/// <summary>
|
||||
/// 区块服务器标识
|
||||
/// </summary>
|
||||
private string _tileServer;
|
||||
public string TileServer => _tileServer;
|
||||
|
||||
public void SetPoint(string point)
|
||||
{
|
||||
_point = point;
|
||||
}
|
||||
public void SetTileServer(string tileServer)
|
||||
{
|
||||
_tileServer = tileServer;
|
||||
}
|
||||
|
||||
protected override async UniTask<string> GetEndPoint()
|
||||
{
|
||||
@ -28,11 +39,19 @@ namespace AppGame.Systems
|
||||
|
||||
//监听服务端事件
|
||||
AddListener((int)NActionEnum.NSyncStateDataUpdate,OnNSyncStateDataUpdate);
|
||||
AddListener((int)NActionEnum.LocalClientConnect,OnClientConnect);
|
||||
AddListener((int)NActionEnum.NSyncTileAllUpdateBack,OnNSyncTileAllUpdateBack);
|
||||
|
||||
//连接
|
||||
await base.OnInit();
|
||||
|
||||
}
|
||||
|
||||
private void OnClientConnect(byte[] obj)
|
||||
{
|
||||
//向服务器索要全量信息
|
||||
Send((int)NActionEnum.NSyncTileAllUpdate);
|
||||
}
|
||||
|
||||
private void OnNSyncStateDataUpdate(byte[] data)
|
||||
{
|
||||
@ -40,5 +59,41 @@ namespace AppGame.Systems
|
||||
App.Game.AddState(info);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 状态同步全量回调
|
||||
/// </summary>
|
||||
/// <param name="obj"></param>
|
||||
private void OnNSyncTileAllUpdateBack(byte[] data)
|
||||
{
|
||||
|
||||
var allData = JNStateTileAllData.Parser.ParseFrom(data);
|
||||
|
||||
App.Game.ClearTileState(allData.TId);
|
||||
|
||||
//生效全局状态
|
||||
allData.Data.Data.ForEach(child =>
|
||||
{
|
||||
App.Game.AddState(child);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 区块全量更新指定区块
|
||||
/// </summary>
|
||||
public async Task<JNStateTileAllData> NSyncTileGetTileInfo(int index)
|
||||
{
|
||||
var data = new NSyncTileGetTileInfoRequest()
|
||||
{
|
||||
TId = index
|
||||
};
|
||||
var result = await SendCallback((int)NActionEnum.NSyncTileGetTileInfo, data);
|
||||
|
||||
if (result is null) return null;
|
||||
|
||||
return JNStateTileAllData.Parser.ParseFrom(result);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -12,15 +12,14 @@ namespace AppGame.Systems
|
||||
public class JNGGame : SystemBase
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 同步组
|
||||
/// </summary>
|
||||
private List<JNSyncDefaultService> syncs = new();
|
||||
|
||||
private JNSyncDefaultService client;
|
||||
private List<JNSStateServerService> servers = new();
|
||||
public JNSyncDefaultService Client => client;
|
||||
|
||||
private JNSStateServerService server;
|
||||
public JNSStateServerService Server => server;
|
||||
|
||||
public bool IsStartGame => syncs.Count > 0 && syncs[0].IsStartGame;
|
||||
public bool IsStartClient => client is not null && client.IsStartGame;
|
||||
public bool IsStartServer => server is not null && server.IsStartGame;
|
||||
|
||||
public override async Task OnInit()
|
||||
{
|
||||
@ -28,23 +27,19 @@ namespace AppGame.Systems
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 运行一个同步类
|
||||
/// 运行同步类
|
||||
/// </summary>
|
||||
public T Start<T>() where T : JNSyncDefaultService,new()
|
||||
public T StartClient<T>() where T : JNSyncDefaultService,new()
|
||||
{
|
||||
syncs.Add(new T());
|
||||
syncs[^1].Initialize();
|
||||
|
||||
if (syncs[^1] is JNSStateServerService server)
|
||||
{
|
||||
servers.Add(server);
|
||||
}
|
||||
else
|
||||
{
|
||||
client = syncs[^1];
|
||||
}
|
||||
|
||||
return syncs[^1] as T;
|
||||
client = new T();
|
||||
client.Initialize();
|
||||
return client as T;
|
||||
}
|
||||
public T StartServer<T>() where T : JNSStateServerService,new()
|
||||
{
|
||||
server = new T();
|
||||
server.Initialize();
|
||||
return server as T;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -52,10 +47,8 @@ namespace AppGame.Systems
|
||||
/// </summary>
|
||||
public void Update()
|
||||
{
|
||||
foreach (var sync in syncs)
|
||||
{
|
||||
sync.Execute();
|
||||
}
|
||||
client?.Execute();
|
||||
server?.Execute();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -81,39 +74,45 @@ namespace AppGame.Systems
|
||||
return (T)client;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 接收输入数据
|
||||
/// </summary>
|
||||
/// <param name="frame"></param>
|
||||
public void AddInput(JNFrameInfo frame)
|
||||
{
|
||||
foreach (var sync in syncs)
|
||||
{
|
||||
(sync as JNGFrameSystem)?.AddFrame(frame);
|
||||
(sync as JNGStateServerSystem)?.AddInput(frame);
|
||||
}
|
||||
(client as JNGFrameSystem)?.AddFrame(frame);
|
||||
(server as JNGStateServerSystem)?.AddInput(frame);
|
||||
}
|
||||
|
||||
public void AddTileInput(JNStateTileInputs frame)
|
||||
{
|
||||
foreach (var sync in syncs)
|
||||
if (server is JNGTileServerSystem system)
|
||||
{
|
||||
if (sync is JNGTileServerSystem system)
|
||||
if (system.TID == frame.TId || frame.TId == 0)
|
||||
{
|
||||
if (system.TID == frame.TId || frame.TId == 0)
|
||||
{
|
||||
system.AddInput(frame);
|
||||
}
|
||||
system.AddInput(frame);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 清除指定区域的状态
|
||||
/// </summary>
|
||||
public void ClearTileState(int index)
|
||||
{
|
||||
client?.GetSystems<ISTileDataSystem>().ForEach(child =>
|
||||
{
|
||||
child.ClearTileData(index);
|
||||
});
|
||||
server?.GetSystems<ISTileDataSystem>().ForEach(child =>
|
||||
{
|
||||
child.ClearTileData(index);
|
||||
});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 接收状态数据
|
||||
/// </summary>
|
||||
/// <param name="frame"></param>
|
||||
public void AddState(JNStateItemData frame)
|
||||
{
|
||||
var message = new Dictionary<long, byte[]>();
|
||||
@ -121,14 +120,17 @@ namespace AppGame.Systems
|
||||
{
|
||||
message.Add(data.Key,data.Value.Data.ToByteArray());
|
||||
}
|
||||
foreach (var sync in syncs)
|
||||
|
||||
client?.GetSystems<ISStateDataSystem>().ForEach(child =>
|
||||
{
|
||||
sync.GetSystems<ISStateDataSystem>().ForEach(child =>
|
||||
{
|
||||
if (child.NetID != frame.NetID) return;
|
||||
child.OnInsertUBytes(message);
|
||||
});
|
||||
}
|
||||
if (child.NetID != frame.NetID) return;
|
||||
child.OnInsertUBytes(message);
|
||||
});
|
||||
server?.GetSystems<ISStateDataSystem>().ForEach(child =>
|
||||
{
|
||||
if (child.NetID != frame.NetID) return;
|
||||
child.OnInsertUBytes(message);
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,12 +1,39 @@
|
||||
|
||||
using System.Threading.Tasks;
|
||||
using AppGame;
|
||||
using AppGame.Sync;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using Plugins.JNGame.Network;
|
||||
using Plugins.JNGame.Network.Action;
|
||||
|
||||
public class JNGSocket : JNSocket
|
||||
{
|
||||
public override async Task OnInit()
|
||||
{
|
||||
|
||||
AddListener((int)NActionEnum.ServerClientDisconnect,OnServerClientDisconnect);
|
||||
|
||||
await base.OnInit();
|
||||
}
|
||||
|
||||
protected override async UniTask<string> GetUrl()
|
||||
{
|
||||
await UniTask.NextFrame();
|
||||
return "ws://127.0.0.1:8080/websocket";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 有客户端断开服务器连接
|
||||
/// </summary>
|
||||
/// <param name="obj"></param>
|
||||
private void OnServerClientDisconnect(byte[] data)
|
||||
{
|
||||
|
||||
var disconnect = JNClientDisconnect.Parser.ParseFrom(data);
|
||||
|
||||
//断开Tile服务器连接
|
||||
(App.Game.Client as JNGTileClientSystem)?.RemoveSocket(disconnect.ClientId);
|
||||
(App.Game.Server as JNGTileServerSystem)?.RemoveSocket(disconnect.ClientId);
|
||||
|
||||
}
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
using AppGame;
|
||||
using Google.Protobuf;
|
||||
using JNGame.Sync.Entity;
|
||||
using JNGame.Sync.State.Tile.Entity;
|
||||
using JNGame.Sync.System.Data;
|
||||
using Plugins.JNGame.Network.Action;
|
||||
|
||||
namespace Game.JNGState.Logic.Data
|
||||
{
|
||||
public abstract class DStateDataSystem<T,E> : STileDataSystem<T,E> where T : ISTileData,new() where E : JNTileEntity, new()
|
||||
{
|
||||
protected DStateDataSystem(SStateDataEnum type) : base(type)
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnSendUBytes(Dictionary<long, byte[]> bytes)
|
||||
{
|
||||
|
||||
JNStateItemData data = new JNStateItemData();
|
||||
data.NetID = NetID;
|
||||
|
||||
foreach (var byteItem in bytes)
|
||||
{
|
||||
data.Messages.Add(byteItem.Key,new JNStateData()
|
||||
{
|
||||
Data = ByteString.CopyFrom(byteItem.Value)
|
||||
});
|
||||
}
|
||||
|
||||
App.Server.AllSend((int)NActionEnum.NSyncStateDataUpdate,data);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using AppGame;
|
||||
using DotRecast.Core.Collections;
|
||||
using Entitas;
|
||||
using Game.JNGFrame.Logic.Entity;
|
||||
@ -14,73 +15,26 @@ using UnityEngine;
|
||||
|
||||
namespace Game.JNGState.Logic.Data
|
||||
{
|
||||
|
||||
|
||||
[Serializable]
|
||||
public class EDNodeValue
|
||||
public class EDNodeValue : GDataValue
|
||||
{
|
||||
public DValuePosition Position = null;
|
||||
|
||||
}
|
||||
|
||||
public class EDNodeData : ISTileData
|
||||
public class EDNodeData : GDataBase<EDNodeData,EDNodeValue,EDNode>
|
||||
{
|
||||
|
||||
public readonly EDNodeValue Value = new ();
|
||||
|
||||
private readonly EDNode _data;
|
||||
public override bool IsHost => _data is not null && _data.IsHost;
|
||||
|
||||
|
||||
public EDNodeData()
|
||||
{
|
||||
}
|
||||
|
||||
public EDNodeData(EDNode node){
|
||||
Id = node.Id;
|
||||
Value.Position = new DValuePosition()
|
||||
{
|
||||
x = node.Position.x.rawValue,
|
||||
y = node.Position.y.rawValue,
|
||||
z = node.Position.z.rawValue,
|
||||
};
|
||||
_data = node;
|
||||
}
|
||||
|
||||
public override bool IsEquals(ISData data)
|
||||
public EDNodeData(EDNode node) : base(node)
|
||||
{
|
||||
var node = data as EDNodeData;
|
||||
if (node is null) return false;
|
||||
return Value.Position.Equals(node.Value.Position);
|
||||
}
|
||||
|
||||
public override byte[] GetByte()
|
||||
{
|
||||
return Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(Value));
|
||||
}
|
||||
|
||||
public override byte[] GetByteDifference(ISData diffValue = null)
|
||||
{
|
||||
var diff = diffValue as EDNodeData;
|
||||
if (diff is null || IsEquals(diffValue)) return Array.Empty<byte>();
|
||||
|
||||
var value = new EDNodeValue();
|
||||
|
||||
if (diff.Value.Position is not null) value.Position = diff.Value.Position;
|
||||
|
||||
return Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(value));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 生效字节
|
||||
/// </summary>
|
||||
/// <param name="bytes"></param>
|
||||
/// <exception cref="NotImplementedException"></exception>
|
||||
public override void UByte(byte[] bytes)
|
||||
{
|
||||
if (bytes.Length == 0) return;
|
||||
var value = JsonConvert.DeserializeObject<EDNodeValue>(Encoding.UTF8.GetString(bytes));
|
||||
if (value.Position is not null) Value.Position = value.Position;
|
||||
}
|
||||
|
||||
}
|
||||
public class EDNodeDataSystem : DStateDataSystem<EDNodeData,EDNode>
|
||||
public class EDNodeDataSystem : GDataBaseSystem<EDNodeData,EDNode>
|
||||
{
|
||||
|
||||
public EDNodeDataSystem(SStateDataEnum type) : base(type)
|
||||
|
@ -16,77 +16,49 @@ namespace Game.JNGState.Logic.Data
|
||||
{
|
||||
|
||||
[Serializable]
|
||||
public class EDPlayerValue
|
||||
public class EDPlayerValue : GDataValue
|
||||
{
|
||||
public int? Auth = null;
|
||||
public DValuePosition Position = null;
|
||||
}
|
||||
|
||||
public class EDPlayerData : ISTileData
|
||||
public class EDPlayerData : GDataBase<EDPlayerData,EDPlayerValue,EDPlayer>
|
||||
{
|
||||
|
||||
public readonly EDPlayerValue Value = new ();
|
||||
private readonly EDPlayer _data;
|
||||
public override bool IsHost => _data is not null && _data.IsHost;
|
||||
|
||||
public EDPlayerData()
|
||||
{
|
||||
}
|
||||
|
||||
public EDPlayerData(EDPlayer node){
|
||||
Id = node.Id;
|
||||
public EDPlayerData(EDPlayer node) : base(node)
|
||||
{
|
||||
Value.Auth = node.Controller.Auth;
|
||||
Value.Position = new DValuePosition()
|
||||
{
|
||||
x = node.Position.x.rawValue,
|
||||
y = node.Position.y.rawValue,
|
||||
z = node.Position.z.rawValue,
|
||||
};
|
||||
_data = node;
|
||||
}
|
||||
|
||||
public override bool IsEquals(ISData data)
|
||||
{
|
||||
var node = data as EDPlayerData;
|
||||
if (node is null) return false;
|
||||
return Value.Position.Equals(node.Value.Position)
|
||||
&& Value.Auth.Equals(node.Value.Auth);
|
||||
return base.IsEquals(data) && Value.Auth.Equals(node.Value.Auth);
|
||||
}
|
||||
|
||||
public override byte[] GetByte()
|
||||
{
|
||||
return Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(Value));
|
||||
}
|
||||
|
||||
public override byte[] GetByteDifference(ISData diffValue = null)
|
||||
public override EDPlayerValue GetDifference(ISData diffValue = null)
|
||||
{
|
||||
var diff = diffValue as EDPlayerData;
|
||||
if (diff is null || IsEquals(diffValue)) return Array.Empty<byte>();
|
||||
var value = base.GetDifference(diffValue);
|
||||
if (value is null || diff is null) return null;
|
||||
|
||||
var value = new EDPlayerValue();
|
||||
|
||||
if (diff.Value.Position is not null) value.Position = diff.Value.Position;
|
||||
if (diff.Value.Auth is not null) value.Auth = diff.Value.Auth;
|
||||
|
||||
return Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(value));
|
||||
return value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 生效字节
|
||||
/// </summary>
|
||||
/// <param name="bytes"></param>
|
||||
/// <exception cref="NotImplementedException"></exception>
|
||||
public override void UByte(byte[] bytes)
|
||||
public override void UData(EDPlayerValue data)
|
||||
{
|
||||
|
||||
if (bytes.Length == 0) return;
|
||||
var value = JsonConvert.DeserializeObject<EDPlayerValue>(Encoding.UTF8.GetString(bytes));
|
||||
if (value.Position is not null) Value.Position = value.Position;
|
||||
if (value.Auth is not null) Value.Auth = value.Auth;
|
||||
|
||||
base.UData(data);
|
||||
if (data.Auth is not null) Value.Auth = data.Auth;
|
||||
}
|
||||
}
|
||||
public class EDPlayerDataSystem : DStateDataSystem<EDPlayerData,EDPlayer>
|
||||
|
||||
|
||||
public class EDPlayerDataSystem : GDataBaseSystem<EDPlayerData,EDPlayer>
|
||||
{
|
||||
|
||||
public EDPlayerDataSystem(SStateDataEnum type) : base(type)
|
||||
|
132
JNFrame2/Assets/Scripts/Game/Data/GDataBaseSystem.cs
Normal file
132
JNFrame2/Assets/Scripts/Game/Data/GDataBaseSystem.cs
Normal file
@ -0,0 +1,132 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using AppGame;
|
||||
using Google.Protobuf;
|
||||
using JNGame.Math;
|
||||
using JNGame.Sync.Entity;
|
||||
using JNGame.Sync.State.Tile.Entity;
|
||||
using JNGame.Sync.System;
|
||||
using JNGame.Sync.System.Data;
|
||||
using Newtonsoft.Json;
|
||||
using Plugins.JNGame.Network.Action;
|
||||
|
||||
namespace Game.JNGState.Logic.Data
|
||||
{
|
||||
|
||||
[Serializable]
|
||||
public class GDataValue
|
||||
{
|
||||
public DValuePosition Position = null;
|
||||
}
|
||||
|
||||
public class GDataBase<Self,T,N> : ISTileData where Self : GDataBase<Self,T,N> where T : GDataValue,new() where N : JNTileEntity
|
||||
{
|
||||
|
||||
public readonly T Value = new ();
|
||||
|
||||
public N Node => Entity as N;
|
||||
|
||||
public override bool IsHost => Node is not null && Node.IsHost;
|
||||
|
||||
public GDataBase()
|
||||
{
|
||||
}
|
||||
|
||||
public GDataBase(N node)
|
||||
{
|
||||
Id = node.Id;
|
||||
Value.Position = new DValuePosition()
|
||||
{
|
||||
x = node.Position.x.rawValue,
|
||||
y = node.Position.y.rawValue,
|
||||
z = node.Position.z.rawValue,
|
||||
};
|
||||
BindEntity(node);
|
||||
}
|
||||
|
||||
public override bool IsEquals(ISData data)
|
||||
{
|
||||
var node = data as Self;
|
||||
if (node is null) return false;
|
||||
return Value.Position.Equals(node.Value.Position);
|
||||
}
|
||||
|
||||
public sealed override byte[] GetByte()
|
||||
{
|
||||
return Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(Value));
|
||||
}
|
||||
|
||||
public sealed override byte[] GetByteDifference(ISData diffValue = null)
|
||||
{
|
||||
var diff = GetDifference(diffValue);
|
||||
if (diff is not null)
|
||||
{
|
||||
return Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(diff));
|
||||
}
|
||||
else
|
||||
{
|
||||
return Array.Empty<byte>();
|
||||
}
|
||||
}
|
||||
|
||||
public virtual T GetDifference(ISData diffValue = null)
|
||||
{
|
||||
var diff = diffValue as Self;
|
||||
if (diff is null || IsEquals(diffValue)) return null;
|
||||
|
||||
var value = new T();
|
||||
|
||||
if (diff.Value.Position is not null) value.Position = diff.Value.Position;
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
public sealed override void UByte(byte[] bytes)
|
||||
{
|
||||
if (bytes.Length == 0) return;
|
||||
var value = JsonConvert.DeserializeObject<T>(Encoding.UTF8.GetString(bytes));
|
||||
UData(value);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 更新数据
|
||||
/// </summary>
|
||||
public virtual void UData(T data)
|
||||
{
|
||||
if (data.Position is not null) Value.Position = data.Position;
|
||||
}
|
||||
|
||||
public override LVector3 GetDataPosition()
|
||||
{
|
||||
return Value.Position.ToLVector3();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public abstract class GDataBaseSystem<T,E> : STileDataSystem<T,E> where T : ISTileData,new() where E : JNTileEntity, new()
|
||||
{
|
||||
protected GDataBaseSystem(SStateDataEnum type) : base(type)
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnSendUBytes(Dictionary<long, byte[]> bytes)
|
||||
{
|
||||
|
||||
JNStateItemData data = new JNStateItemData();
|
||||
data.NetID = NetID;
|
||||
|
||||
foreach (var byteItem in bytes)
|
||||
{
|
||||
data.Messages.Add(byteItem.Key,new JNStateData()
|
||||
{
|
||||
Data = ByteString.CopyFrom(byteItem.Value)
|
||||
});
|
||||
}
|
||||
|
||||
App.Server.AllSend((int)NActionEnum.NSyncStateDataUpdate,data);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -44,7 +44,7 @@ namespace UI
|
||||
X = movement.x.ToLFloat(),
|
||||
Y = movement.z.ToLFloat(),
|
||||
};
|
||||
if (App.Game.IsStartGame)
|
||||
if (App.Game.IsStartClient)
|
||||
{
|
||||
App.Game.GetInput<IDPlayer>().MoveVector = vector;
|
||||
}
|
||||
|
@ -6,6 +6,7 @@
|
||||
<package id="System.Runtime.CompilerServices.Unsafe" version="6.0.0" />
|
||||
<package id="System.Text.Encodings.Web" version="6.0.0" />
|
||||
<package id="System.Text.Json" version="6.0.0" />
|
||||
<package id="TouchSocket" version="2.0.15" manuallyInstalled="true" />
|
||||
<package id="TouchSocket.Core" version="2.0.15" />
|
||||
<package id="TouchSocket" version="2.0.16" manuallyInstalled="true" />
|
||||
<package id="TouchSocket.Core" version="2.0.16" />
|
||||
<package id="TouchSocket.Http" version="2.0.16" manuallyInstalled="true" />
|
||||
</packages>
|
@ -44,6 +44,7 @@
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\fr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\fr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\tr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\analyzers\dotnet\cs\TouchSocket.Core.SourceGenerator.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\ko\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\ja\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\tr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
@ -54,7 +55,6 @@
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\ru\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\de\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\pl\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.15\analyzers\dotnet\cs\TouchSocket.Core.SourceGenerator.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\System.Text.Json.SourceGeneration.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\ru\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\es\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
@ -2344,9 +2344,6 @@
|
||||
<Reference Include="Jenny">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket.Core">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.15\lib\netstandard2.1\TouchSocket.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Google.Protobuf">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll</HintPath>
|
||||
</Reference>
|
||||
@ -2389,6 +2386,9 @@
|
||||
<Reference Include="System.Text.Encodings.Web">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket.Http">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Unity.Plastic.Newtonsoft.Json">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
@ -2425,6 +2425,9 @@
|
||||
<Reference Include="Sherlog.Formatters">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.16\lib\netstandard2.1\TouchSocket.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Bcl.AsyncInterfaces">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
|
||||
</Reference>
|
||||
@ -2437,8 +2440,8 @@
|
||||
<Reference Include="Jenny.Generator.Unity.Editor">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.15\lib\netstandard2.1\TouchSocket.dll</HintPath>
|
||||
<Reference Include="TouchSocket.Core">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\lib\netstandard2.1\TouchSocket.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Unity.Android.Types">
|
||||
<HintPath>D:\Unity\2021.3.35f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Types.dll</HintPath>
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,3 +0,0 @@
|
||||
Base path: 'D:/Unity/2021.3.35f1/Editor/Data', plugins path 'D:/Unity/2021.3.35f1/Editor/Data/PlaybackEngines'
|
||||
Cmd: initializeCompiler
|
||||
|
@ -44,6 +44,7 @@
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\fr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\fr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\tr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\analyzers\dotnet\cs\TouchSocket.Core.SourceGenerator.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\ko\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\ja\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\tr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
@ -54,7 +55,6 @@
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\ru\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\de\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\pl\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.15\analyzers\dotnet\cs\TouchSocket.Core.SourceGenerator.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\System.Text.Json.SourceGeneration.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\ru\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\es\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
@ -359,9 +359,6 @@
|
||||
<Reference Include="Jenny">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket.Core">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.15\lib\netstandard2.1\TouchSocket.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Google.Protobuf">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll</HintPath>
|
||||
</Reference>
|
||||
@ -404,6 +401,9 @@
|
||||
<Reference Include="System.Text.Encodings.Web">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket.Http">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Unity.Plastic.Newtonsoft.Json">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
@ -440,6 +440,9 @@
|
||||
<Reference Include="Sherlog.Formatters">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.16\lib\netstandard2.1\TouchSocket.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Bcl.AsyncInterfaces">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
|
||||
</Reference>
|
||||
@ -452,8 +455,8 @@
|
||||
<Reference Include="Jenny.Generator.Unity.Editor">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.15\lib\netstandard2.1\TouchSocket.dll</HintPath>
|
||||
<Reference Include="TouchSocket.Core">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\lib\netstandard2.1\TouchSocket.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="nunit.framework">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.ext.nunit@1.0.6\net35\unity-custom\nunit.framework.dll</HintPath>
|
||||
|
@ -44,6 +44,7 @@
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\fr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\fr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\tr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\analyzers\dotnet\cs\TouchSocket.Core.SourceGenerator.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\ko\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\ja\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\tr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
@ -54,7 +55,6 @@
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\ru\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\de\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\pl\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.15\analyzers\dotnet\cs\TouchSocket.Core.SourceGenerator.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\System.Text.Json.SourceGeneration.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\ru\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\es\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
@ -451,9 +451,6 @@
|
||||
<Reference Include="Jenny">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket.Core">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.15\lib\netstandard2.1\TouchSocket.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Google.Protobuf">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll</HintPath>
|
||||
</Reference>
|
||||
@ -496,6 +493,9 @@
|
||||
<Reference Include="System.Text.Encodings.Web">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket.Http">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Unity.Plastic.Newtonsoft.Json">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
@ -532,6 +532,9 @@
|
||||
<Reference Include="Sherlog.Formatters">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.16\lib\netstandard2.1\TouchSocket.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Bcl.AsyncInterfaces">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
|
||||
</Reference>
|
||||
@ -544,8 +547,8 @@
|
||||
<Reference Include="Jenny.Generator.Unity.Editor">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.15\lib\netstandard2.1\TouchSocket.dll</HintPath>
|
||||
<Reference Include="TouchSocket.Core">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\lib\netstandard2.1\TouchSocket.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Unity.Android.Types">
|
||||
<HintPath>D:\Unity\2021.3.35f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Types.dll</HintPath>
|
||||
|
@ -44,6 +44,7 @@
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\fr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\fr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\tr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\analyzers\dotnet\cs\TouchSocket.Core.SourceGenerator.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\ko\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\ja\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\tr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
@ -54,7 +55,6 @@
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\ru\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\de\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\pl\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.15\analyzers\dotnet\cs\TouchSocket.Core.SourceGenerator.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\System.Text.Json.SourceGeneration.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\ru\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\es\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
@ -350,9 +350,6 @@
|
||||
<Reference Include="Jenny">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket.Core">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.15\lib\netstandard2.1\TouchSocket.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Google.Protobuf">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll</HintPath>
|
||||
</Reference>
|
||||
@ -395,6 +392,9 @@
|
||||
<Reference Include="System.Text.Encodings.Web">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket.Http">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Unity.Plastic.Newtonsoft.Json">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
@ -431,6 +431,9 @@
|
||||
<Reference Include="Sherlog.Formatters">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.16\lib\netstandard2.1\TouchSocket.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Bcl.AsyncInterfaces">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
|
||||
</Reference>
|
||||
@ -443,8 +446,8 @@
|
||||
<Reference Include="Jenny.Generator.Unity.Editor">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.15\lib\netstandard2.1\TouchSocket.dll</HintPath>
|
||||
<Reference Include="TouchSocket.Core">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\lib\netstandard2.1\TouchSocket.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="nunit.framework">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.ext.nunit@1.0.6\net35\unity-custom\nunit.framework.dll</HintPath>
|
||||
|
@ -44,6 +44,7 @@
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\fr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\fr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\tr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\analyzers\dotnet\cs\TouchSocket.Core.SourceGenerator.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\ko\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\ja\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\tr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
@ -54,7 +55,6 @@
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\ru\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\de\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\pl\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.15\analyzers\dotnet\cs\TouchSocket.Core.SourceGenerator.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\System.Text.Json.SourceGeneration.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\ru\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\es\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
@ -396,9 +396,6 @@
|
||||
<Reference Include="Jenny">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket.Core">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.15\lib\netstandard2.1\TouchSocket.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Google.Protobuf">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll</HintPath>
|
||||
</Reference>
|
||||
@ -441,6 +438,9 @@
|
||||
<Reference Include="System.Text.Encodings.Web">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket.Http">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Unity.Plastic.Newtonsoft.Json">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
@ -477,6 +477,9 @@
|
||||
<Reference Include="Sherlog.Formatters">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.16\lib\netstandard2.1\TouchSocket.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Bcl.AsyncInterfaces">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
|
||||
</Reference>
|
||||
@ -489,8 +492,8 @@
|
||||
<Reference Include="Jenny.Generator.Unity.Editor">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.15\lib\netstandard2.1\TouchSocket.dll</HintPath>
|
||||
<Reference Include="TouchSocket.Core">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\lib\netstandard2.1\TouchSocket.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Unity.Android.Types">
|
||||
<HintPath>D:\Unity\2021.3.35f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Types.dll</HintPath>
|
||||
|
@ -44,6 +44,7 @@
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\fr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\fr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\tr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\analyzers\dotnet\cs\TouchSocket.Core.SourceGenerator.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\ko\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\ja\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\tr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
@ -54,7 +55,6 @@
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\ru\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\de\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\pl\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.15\analyzers\dotnet\cs\TouchSocket.Core.SourceGenerator.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\System.Text.Json.SourceGeneration.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\ru\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\es\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
@ -341,9 +341,6 @@
|
||||
<Reference Include="Jenny">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket.Core">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.15\lib\netstandard2.1\TouchSocket.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Google.Protobuf">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll</HintPath>
|
||||
</Reference>
|
||||
@ -386,6 +383,9 @@
|
||||
<Reference Include="System.Text.Encodings.Web">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket.Http">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Unity.Plastic.Newtonsoft.Json">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
@ -422,6 +422,9 @@
|
||||
<Reference Include="Sherlog.Formatters">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.16\lib\netstandard2.1\TouchSocket.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Bcl.AsyncInterfaces">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
|
||||
</Reference>
|
||||
@ -434,8 +437,8 @@
|
||||
<Reference Include="Jenny.Generator.Unity.Editor">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.15\lib\netstandard2.1\TouchSocket.dll</HintPath>
|
||||
<Reference Include="TouchSocket.Core">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\lib\netstandard2.1\TouchSocket.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Unity.Android.Types">
|
||||
<HintPath>D:\Unity\2021.3.35f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Types.dll</HintPath>
|
||||
|
@ -44,6 +44,7 @@
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\fr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\fr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\tr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\analyzers\dotnet\cs\TouchSocket.Core.SourceGenerator.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\ko\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\ja\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\tr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
@ -54,7 +55,6 @@
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\ru\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\de\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\pl\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.15\analyzers\dotnet\cs\TouchSocket.Core.SourceGenerator.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\System.Text.Json.SourceGeneration.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\ru\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\es\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
@ -341,9 +341,6 @@
|
||||
<Reference Include="Jenny">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket.Core">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.15\lib\netstandard2.1\TouchSocket.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Google.Protobuf">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll</HintPath>
|
||||
</Reference>
|
||||
@ -386,6 +383,9 @@
|
||||
<Reference Include="System.Text.Encodings.Web">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket.Http">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Unity.Plastic.Newtonsoft.Json">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
@ -422,6 +422,9 @@
|
||||
<Reference Include="Sherlog.Formatters">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.16\lib\netstandard2.1\TouchSocket.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Bcl.AsyncInterfaces">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
|
||||
</Reference>
|
||||
@ -434,8 +437,8 @@
|
||||
<Reference Include="Jenny.Generator.Unity.Editor">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.15\lib\netstandard2.1\TouchSocket.dll</HintPath>
|
||||
<Reference Include="TouchSocket.Core">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\lib\netstandard2.1\TouchSocket.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Unity.Android.Types">
|
||||
<HintPath>D:\Unity\2021.3.35f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Types.dll</HintPath>
|
||||
|
@ -44,6 +44,7 @@
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\fr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\fr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\tr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\analyzers\dotnet\cs\TouchSocket.Core.SourceGenerator.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\ko\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\ja\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\tr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
@ -54,7 +55,6 @@
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\ru\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\de\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\pl\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.15\analyzers\dotnet\cs\TouchSocket.Core.SourceGenerator.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\System.Text.Json.SourceGeneration.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\ru\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\es\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
@ -346,9 +346,6 @@
|
||||
<Reference Include="Jenny">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket.Core">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.15\lib\netstandard2.1\TouchSocket.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Google.Protobuf">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll</HintPath>
|
||||
</Reference>
|
||||
@ -391,6 +388,9 @@
|
||||
<Reference Include="System.Text.Encodings.Web">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket.Http">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Unity.Plastic.Newtonsoft.Json">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
@ -427,6 +427,9 @@
|
||||
<Reference Include="Sherlog.Formatters">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.16\lib\netstandard2.1\TouchSocket.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Bcl.AsyncInterfaces">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
|
||||
</Reference>
|
||||
@ -439,8 +442,8 @@
|
||||
<Reference Include="Jenny.Generator.Unity.Editor">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.15\lib\netstandard2.1\TouchSocket.dll</HintPath>
|
||||
<Reference Include="TouchSocket.Core">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\lib\netstandard2.1\TouchSocket.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="nunit.framework">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.ext.nunit@1.0.6\net35\unity-custom\nunit.framework.dll</HintPath>
|
||||
|
@ -44,6 +44,7 @@
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\fr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\fr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\tr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\analyzers\dotnet\cs\TouchSocket.Core.SourceGenerator.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\ko\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\ja\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\tr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
@ -54,7 +55,6 @@
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\ru\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\de\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\pl\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.15\analyzers\dotnet\cs\TouchSocket.Core.SourceGenerator.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\System.Text.Json.SourceGeneration.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\ru\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\es\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
@ -413,9 +413,6 @@
|
||||
<Reference Include="Jenny">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket.Core">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.15\lib\netstandard2.1\TouchSocket.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Google.Protobuf">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll</HintPath>
|
||||
</Reference>
|
||||
@ -458,6 +455,9 @@
|
||||
<Reference Include="System.Text.Encodings.Web">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket.Http">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Unity.Plastic.Newtonsoft.Json">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
@ -494,6 +494,9 @@
|
||||
<Reference Include="Sherlog.Formatters">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.16\lib\netstandard2.1\TouchSocket.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Bcl.AsyncInterfaces">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
|
||||
</Reference>
|
||||
@ -506,8 +509,8 @@
|
||||
<Reference Include="Jenny.Generator.Unity.Editor">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.15\lib\netstandard2.1\TouchSocket.dll</HintPath>
|
||||
<Reference Include="TouchSocket.Core">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\lib\netstandard2.1\TouchSocket.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Unity.Android.Types">
|
||||
<HintPath>D:\Unity\2021.3.35f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Types.dll</HintPath>
|
||||
|
@ -44,6 +44,7 @@
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\fr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\fr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\tr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\analyzers\dotnet\cs\TouchSocket.Core.SourceGenerator.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\ko\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\ja\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\tr\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
@ -54,7 +55,6 @@
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\ru\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\de\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\pl\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.15\analyzers\dotnet\cs\TouchSocket.Core.SourceGenerator.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\System.Text.Json.SourceGeneration.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn4.0\cs\ru\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
<Analyzer Include="D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\analyzers\dotnet\roslyn3.11\cs\es\System.Text.Json.SourceGeneration.resources.dll" />
|
||||
@ -342,9 +342,6 @@
|
||||
<Reference Include="Jenny">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket.Core">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.15\lib\netstandard2.1\TouchSocket.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Google.Protobuf">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll</HintPath>
|
||||
</Reference>
|
||||
@ -387,6 +384,9 @@
|
||||
<Reference Include="System.Text.Encodings.Web">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket.Http">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Unity.Plastic.Newtonsoft.Json">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
@ -423,6 +423,9 @@
|
||||
<Reference Include="Sherlog.Formatters">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.16\lib\netstandard2.1\TouchSocket.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Bcl.AsyncInterfaces">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
|
||||
</Reference>
|
||||
@ -435,8 +438,8 @@
|
||||
<Reference Include="Jenny.Generator.Unity.Editor">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="TouchSocket">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.15\lib\netstandard2.1\TouchSocket.dll</HintPath>
|
||||
<Reference Include="TouchSocket.Core">
|
||||
<HintPath>D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\lib\netstandard2.1\TouchSocket.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Unity.Android.Types">
|
||||
<HintPath>D:\Unity\2021.3.35f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Types.dll</HintPath>
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user