daily update on 20240828 by nitload youmu, autotexture added

This commit is contained in:
Nitload
2024-08-28 10:58:31 +08:00
parent d082071f2d
commit 1ee4e4a42f
586 changed files with 60910 additions and 123106 deletions
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Root Type="DevExpress.CodeRush.VSFeatures.SpellChecker.Options.SpellCheckerOptions">
<Options Language="Neutral">
<SupportedElements>XmlComments|Comments|Strings|VerbatimStrings|PublicIdentifiers|InternalIdentifiers|ProtectedInternalIdentifiers|ProtectedIdentifiers</SupportedElements>
<SupportedElements>XmlComments|Comments|Strings|VerbatimStrings|PublicIdentifiers|InternalIdentifiers|ProtectedInternalIdentifiers|ProtectedIdentifiers|PrivateIdentifiers|LocalIdentifiers</SupportedElements>
</Options>
</Root>
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
Binary file not shown.
Binary file not shown.
@@ -10,14 +10,14 @@
"projectUniqueName": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\源代码\\BenchMark\\BenchMark.csproj",
"projectName": "BenchMark",
"projectPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\源代码\\BenchMark\\BenchMark.csproj",
"packagesPath": "C:\\Users\\Nitlo\\.nuget\\packages\\",
"packagesPath": "C:\\Users\\Youmu\\.nuget\\packages\\",
"outputPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\源代码\\BenchMark\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\Nitlo\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Users\\Youmu\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
@@ -71,7 +71,7 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.205\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.400\\RuntimeIdentifierGraph.json"
}
}
}
@@ -5,18 +5,18 @@
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Nitlo\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Youmu\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.9.2</NuGetToolVersion>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.11.0</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\Nitlo\.nuget\packages\" />
<SourceRoot Include="C:\Users\Youmu\.nuget\packages\" />
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
</ItemGroup>
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)microsoft.diagnostics.tracing.traceevent\3.0.2\buildTransitive\Microsoft.Diagnostics.Tracing.TraceEvent.props" Condition="Exists('$(NuGetPackageRoot)microsoft.diagnostics.tracing.traceevent\3.0.2\buildTransitive\Microsoft.Diagnostics.Tracing.TraceEvent.props')" />
</ImportGroup>
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<PkgMicrosoft_CodeAnalysis_Analyzers Condition=" '$(PkgMicrosoft_CodeAnalysis_Analyzers)' == '' ">C:\Users\Nitlo\.nuget\packages\microsoft.codeanalysis.analyzers\3.3.3</PkgMicrosoft_CodeAnalysis_Analyzers>
<PkgMicrosoft_CodeAnalysis_Analyzers Condition=" '$(PkgMicrosoft_CodeAnalysis_Analyzers)' == '' ">C:\Users\Youmu\.nuget\packages\microsoft.codeanalysis.analyzers\3.3.3</PkgMicrosoft_CodeAnalysis_Analyzers>
</PropertyGroup>
</Project>
@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("BenchMark")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+924fe6eef7b6b9441b297f211c82b4684f23d002")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+d082071f2d004b4566bd19a1a030cf06b112c3af")]
[assembly: System.Reflection.AssemblyProductAttribute("BenchMark")]
[assembly: System.Reflection.AssemblyTitleAttribute("BenchMark")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
@@ -1 +1 @@
4e2f772e3efb870291921325d240f96f8f7127093b5e0e65dca2f43393dcf94f
00be3bf2bd37e3d2be0d99e63fee18fdaf165340f14c199a0955fb2d4e87fea4
@@ -1 +1 @@
37e23d756ce4575fbf467937553f24d34014d9c297f0c533ffac10c6ae12e798
ad70b52dee94c1215bd4ebddeb1378c858124326d5ac3e28d9078eb5c0f8f700
Binary file not shown.
+4 -4
View File
@@ -1754,7 +1754,7 @@
]
},
"packageFolders": {
"C:\\Users\\Nitlo\\.nuget\\packages\\": {},
"C:\\Users\\Youmu\\.nuget\\packages\\": {},
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}
},
"project": {
@@ -1763,14 +1763,14 @@
"projectUniqueName": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\源代码\\BenchMark\\BenchMark.csproj",
"projectName": "BenchMark",
"projectPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\源代码\\BenchMark\\BenchMark.csproj",
"packagesPath": "C:\\Users\\Nitlo\\.nuget\\packages\\",
"packagesPath": "C:\\Users\\Youmu\\.nuget\\packages\\",
"outputPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\源代码\\BenchMark\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\Nitlo\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Users\\Youmu\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
@@ -1824,7 +1824,7 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.205\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.400\\RuntimeIdentifierGraph.json"
}
}
}
+35 -35
View File
@@ -1,43 +1,43 @@
{
"version": 2,
"dgSpecHash": "pN+0KRm1EuqKniTJ321gPZHAydRCvNP+dkmkVcAMOjV5Not5KW22V73A7HB12P5Zye2pfbDx7qebBQIlhZmCqg==",
"dgSpecHash": "sTO1GW3zM6I=",
"success": true,
"projectFilePath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\源代码\\BenchMark\\BenchMark.csproj",
"expectedPackageFiles": [
"C:\\Users\\Nitlo\\.nuget\\packages\\benchmarkdotnet\\0.13.12\\benchmarkdotnet.0.13.12.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\benchmarkdotnet.annotations\\0.13.12\\benchmarkdotnet.annotations.0.13.12.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\commandlineparser\\2.9.1\\commandlineparser.2.9.1.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\gee.external.capstone\\2.3.0\\gee.external.capstone.2.3.0.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\iced\\1.17.0\\iced.1.17.0.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\microsoft.bcl.asyncinterfaces\\1.1.0\\microsoft.bcl.asyncinterfaces.1.1.0.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\microsoft.codeanalysis.analyzers\\3.3.3\\microsoft.codeanalysis.analyzers.3.3.3.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\microsoft.codeanalysis.common\\4.1.0\\microsoft.codeanalysis.common.4.1.0.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\microsoft.codeanalysis.csharp\\4.1.0\\microsoft.codeanalysis.csharp.4.1.0.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\microsoft.diagnostics.netcore.client\\0.2.251802\\microsoft.diagnostics.netcore.client.0.2.251802.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\microsoft.diagnostics.runtime\\2.2.332302\\microsoft.diagnostics.runtime.2.2.332302.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\microsoft.diagnostics.tracing.traceevent\\3.0.2\\microsoft.diagnostics.tracing.traceevent.3.0.2.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\microsoft.dotnet.platformabstractions\\3.1.6\\microsoft.dotnet.platformabstractions.3.1.6.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\microsoft.extensions.configuration\\2.1.1\\microsoft.extensions.configuration.2.1.1.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\2.1.1\\microsoft.extensions.configuration.abstractions.2.1.1.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\microsoft.extensions.configuration.binder\\2.1.1\\microsoft.extensions.configuration.binder.2.1.1.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\2.1.1\\microsoft.extensions.dependencyinjection.abstractions.2.1.1.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\microsoft.extensions.logging\\2.1.1\\microsoft.extensions.logging.2.1.1.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\2.1.1\\microsoft.extensions.logging.abstractions.2.1.1.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\microsoft.extensions.options\\2.1.1\\microsoft.extensions.options.2.1.1.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\microsoft.extensions.primitives\\2.1.1\\microsoft.extensions.primitives.2.1.1.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\microsoft.netcore.platforms\\5.0.0\\microsoft.netcore.platforms.5.0.0.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\microsoft.win32.registry\\5.0.0\\microsoft.win32.registry.5.0.0.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\perfolizer\\0.2.1\\perfolizer.0.2.1.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\system.codedom\\5.0.0\\system.codedom.5.0.0.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\system.collections.immutable\\5.0.0\\system.collections.immutable.5.0.0.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\system.management\\5.0.0\\system.management.5.0.0.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\system.memory\\4.5.4\\system.memory.4.5.4.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\system.reflection.metadata\\5.0.0\\system.reflection.metadata.5.0.0.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\5.0.0\\system.runtime.compilerservices.unsafe.5.0.0.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\system.security.accesscontrol\\5.0.0\\system.security.accesscontrol.5.0.0.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\system.security.principal.windows\\5.0.0\\system.security.principal.windows.5.0.0.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\system.text.encoding.codepages\\4.5.1\\system.text.encoding.codepages.4.5.1.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\system.threading.tasks.extensions\\4.5.4\\system.threading.tasks.extensions.4.5.4.nupkg.sha512"
"C:\\Users\\Youmu\\.nuget\\packages\\benchmarkdotnet\\0.13.12\\benchmarkdotnet.0.13.12.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\benchmarkdotnet.annotations\\0.13.12\\benchmarkdotnet.annotations.0.13.12.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\commandlineparser\\2.9.1\\commandlineparser.2.9.1.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\gee.external.capstone\\2.3.0\\gee.external.capstone.2.3.0.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\iced\\1.17.0\\iced.1.17.0.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\microsoft.bcl.asyncinterfaces\\1.1.0\\microsoft.bcl.asyncinterfaces.1.1.0.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\microsoft.codeanalysis.analyzers\\3.3.3\\microsoft.codeanalysis.analyzers.3.3.3.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\microsoft.codeanalysis.common\\4.1.0\\microsoft.codeanalysis.common.4.1.0.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\microsoft.codeanalysis.csharp\\4.1.0\\microsoft.codeanalysis.csharp.4.1.0.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\microsoft.diagnostics.netcore.client\\0.2.251802\\microsoft.diagnostics.netcore.client.0.2.251802.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\microsoft.diagnostics.runtime\\2.2.332302\\microsoft.diagnostics.runtime.2.2.332302.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\microsoft.diagnostics.tracing.traceevent\\3.0.2\\microsoft.diagnostics.tracing.traceevent.3.0.2.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\microsoft.dotnet.platformabstractions\\3.1.6\\microsoft.dotnet.platformabstractions.3.1.6.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\microsoft.extensions.configuration\\2.1.1\\microsoft.extensions.configuration.2.1.1.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\2.1.1\\microsoft.extensions.configuration.abstractions.2.1.1.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\microsoft.extensions.configuration.binder\\2.1.1\\microsoft.extensions.configuration.binder.2.1.1.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\2.1.1\\microsoft.extensions.dependencyinjection.abstractions.2.1.1.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\microsoft.extensions.logging\\2.1.1\\microsoft.extensions.logging.2.1.1.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\2.1.1\\microsoft.extensions.logging.abstractions.2.1.1.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\microsoft.extensions.options\\2.1.1\\microsoft.extensions.options.2.1.1.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\microsoft.extensions.primitives\\2.1.1\\microsoft.extensions.primitives.2.1.1.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\microsoft.netcore.platforms\\5.0.0\\microsoft.netcore.platforms.5.0.0.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\microsoft.win32.registry\\5.0.0\\microsoft.win32.registry.5.0.0.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\perfolizer\\0.2.1\\perfolizer.0.2.1.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\system.codedom\\5.0.0\\system.codedom.5.0.0.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\system.collections.immutable\\5.0.0\\system.collections.immutable.5.0.0.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\system.management\\5.0.0\\system.management.5.0.0.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\system.memory\\4.5.4\\system.memory.4.5.4.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\system.reflection.metadata\\5.0.0\\system.reflection.metadata.5.0.0.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\5.0.0\\system.runtime.compilerservices.unsafe.5.0.0.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\system.security.accesscontrol\\5.0.0\\system.security.accesscontrol.5.0.0.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\system.security.principal.windows\\5.0.0\\system.security.principal.windows.5.0.0.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\system.text.encoding.codepages\\4.5.1\\system.text.encoding.codepages.4.5.1.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\system.threading.tasks.extensions\\4.5.4\\system.threading.tasks.extensions.4.5.4.nupkg.sha512"
],
"logs": []
}
@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("OEM")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+da75200347e2ff7f483c83ff224678d05b0aefd1")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+d082071f2d004b4566bd19a1a030cf06b112c3af")]
[assembly: System.Reflection.AssemblyProductAttribute("OEM")]
[assembly: System.Reflection.AssemblyTitleAttribute("OEM")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
@@ -1 +1 @@
640e9f98257352e84ae37176833512dc5627a4b2d18e9b9603dac0bdaa9c70df
36b6fb0d3b20627c3cc45e4585149aa28b4e8b140ad26b88d5a2e3ca08059ab8
Binary file not shown.
@@ -10,14 +10,14 @@
"projectUniqueName": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\源代码\\OEM\\OEM.csproj",
"projectName": "OEM",
"projectPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\源代码\\OEM\\OEM.csproj",
"packagesPath": "C:\\Users\\Nitlo\\.nuget\\packages\\",
"packagesPath": "C:\\Users\\Youmu\\.nuget\\packages\\",
"outputPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\源代码\\OEM\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\Nitlo\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Users\\Youmu\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
@@ -63,7 +63,7 @@
"Microsoft.NET.ILLink.Tasks": {
"suppressParent": "All",
"target": "Package",
"version": "[8.0.5, )",
"version": "[8.0.8, )",
"autoReferenced": true
}
},
@@ -89,7 +89,7 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.205/PortableRuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.400/PortableRuntimeIdentifierGraph.json"
}
}
},
@@ -99,14 +99,14 @@
"projectUniqueName": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\源代码\\StgSharp\\StgSharp.csproj",
"projectName": "StgSharp",
"projectPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\源代码\\StgSharp\\StgSharp.csproj",
"packagesPath": "C:\\Users\\Nitlo\\.nuget\\packages\\",
"packagesPath": "C:\\Users\\Youmu\\.nuget\\packages\\",
"outputPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\源代码\\StgSharp\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\Nitlo\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Users\\Youmu\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
@@ -165,7 +165,7 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.205\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.400\\RuntimeIdentifierGraph.json"
}
}
}
+6 -6
View File
@@ -5,20 +5,20 @@
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Nitlo\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Youmu\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.9.2</NuGetToolVersion>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.11.0</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\Nitlo\.nuget\packages\" />
<SourceRoot Include="C:\Users\Youmu\.nuget\packages\" />
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
</ItemGroup>
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)microsoft.net.illink.tasks\8.0.5\build\Microsoft.NET.ILLink.Tasks.props" Condition="Exists('$(NuGetPackageRoot)microsoft.net.illink.tasks\8.0.5\build\Microsoft.NET.ILLink.Tasks.props')" />
<Import Project="$(NuGetPackageRoot)microsoft.net.illink.tasks\8.0.8\build\Microsoft.NET.ILLink.Tasks.props" Condition="Exists('$(NuGetPackageRoot)microsoft.net.illink.tasks\8.0.8\build\Microsoft.NET.ILLink.Tasks.props')" />
<Import Project="$(NuGetPackageRoot)microsoft.dotnet.ilcompiler\8.0.5\build\Microsoft.DotNet.ILCompiler.props" Condition="Exists('$(NuGetPackageRoot)microsoft.dotnet.ilcompiler\8.0.5\build\Microsoft.DotNet.ILCompiler.props')" />
</ImportGroup>
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<PkgMicrosoft_NET_ILLink_Tasks Condition=" '$(PkgMicrosoft_NET_ILLink_Tasks)' == '' ">C:\Users\Nitlo\.nuget\packages\microsoft.net.illink.tasks\8.0.5</PkgMicrosoft_NET_ILLink_Tasks>
<PkgMicrosoft_DotNet_ILCompiler Condition=" '$(PkgMicrosoft_DotNet_ILCompiler)' == '' ">C:\Users\Nitlo\.nuget\packages\microsoft.dotnet.ilcompiler\8.0.5</PkgMicrosoft_DotNet_ILCompiler>
<PkgMicrosoft_NET_ILLink_Tasks Condition=" '$(PkgMicrosoft_NET_ILLink_Tasks)' == '' ">C:\Users\Youmu\.nuget\packages\microsoft.net.illink.tasks\8.0.8</PkgMicrosoft_NET_ILLink_Tasks>
<PkgMicrosoft_DotNet_ILCompiler Condition=" '$(PkgMicrosoft_DotNet_ILCompiler)' == '' ">C:\Users\Youmu\.nuget\packages\microsoft.dotnet.ilcompiler\8.0.5</PkgMicrosoft_DotNet_ILCompiler>
</PropertyGroup>
</Project>
@@ -0,0 +1 @@
d97122734b91cdcf5781c3873c99079a93d12e480ce6b3c50c504e75c007586a
@@ -0,0 +1,17 @@
is_global = true
build_property.EnableAotAnalyzer = true
build_property.EnableSingleFileAnalyzer = true
build_property.EnableTrimAnalyzer = true
build_property.IncludeAllContentForSelfExtract =
build_property.TargetFramework = net8.0
build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization = true
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = OEM
build_property.ProjectDir = D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\OEM\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop = false
Binary file not shown.
+11 -11
View File
@@ -17,7 +17,7 @@
"build/Microsoft.DotNet.ILCompiler.props": {}
}
},
"Microsoft.NET.ILLink.Tasks/8.0.5": {
"Microsoft.NET.ILLink.Tasks/8.0.8": {
"type": "package",
"build": {
"build/Microsoft.NET.ILLink.Tasks.props": {}
@@ -138,10 +138,10 @@
"tools/netstandard/ILCompiler.Build.Tasks.pdb"
]
},
"Microsoft.NET.ILLink.Tasks/8.0.5": {
"sha512": "4ISW1Ndgz86FkIbu5rVlMqhhtojdy5rUlxC/N+9kPh9qbYcvHiCvYbHKzAPVIx9OPYIjT9trXt7JI42Y5Ukq6A==",
"Microsoft.NET.ILLink.Tasks/8.0.8": {
"sha512": "P8wR6MUWwYXIjPJuBaZgo5zlI/GWI6QEAo6NyVIbPefa9CCkohYu7dP2rD/mrqnjEqfRHyl+h9VZrDoGpELqYg==",
"type": "package",
"path": "microsoft.net.illink.tasks/8.0.5",
"path": "microsoft.net.illink.tasks/8.0.8",
"hasTools": true,
"files": [
".nupkg.metadata",
@@ -155,7 +155,7 @@
"build/Microsoft.NET.ILLink.Analyzers.props",
"build/Microsoft.NET.ILLink.Tasks.props",
"build/Microsoft.NET.ILLink.targets",
"microsoft.net.illink.tasks.8.0.5.nupkg.sha512",
"microsoft.net.illink.tasks.8.0.8.nupkg.sha512",
"microsoft.net.illink.tasks.nuspec",
"tools/net472/ILLink.Tasks.dll",
"tools/net472/ILLink.Tasks.dll.config",
@@ -198,12 +198,12 @@
"projectFileDependencyGroups": {
"net8.0": [
"Microsoft.DotNet.ILCompiler >= 8.0.5",
"Microsoft.NET.ILLink.Tasks >= 8.0.5",
"Microsoft.NET.ILLink.Tasks >= 8.0.8",
"StgSharp >= 1.0.0"
]
},
"packageFolders": {
"C:\\Users\\Nitlo\\.nuget\\packages\\": {},
"C:\\Users\\Youmu\\.nuget\\packages\\": {},
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}
},
"project": {
@@ -212,14 +212,14 @@
"projectUniqueName": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\源代码\\OEM\\OEM.csproj",
"projectName": "OEM",
"projectPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\源代码\\OEM\\OEM.csproj",
"packagesPath": "C:\\Users\\Nitlo\\.nuget\\packages\\",
"packagesPath": "C:\\Users\\Youmu\\.nuget\\packages\\",
"outputPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\源代码\\OEM\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\Nitlo\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Users\\Youmu\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
@@ -265,7 +265,7 @@
"Microsoft.NET.ILLink.Tasks": {
"suppressParent": "All",
"target": "Package",
"version": "[8.0.5, )",
"version": "[8.0.8, )",
"autoReferenced": true
}
},
@@ -291,7 +291,7 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.205/PortableRuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.400/PortableRuntimeIdentifierGraph.json"
}
}
}
+5 -5
View File
@@ -1,13 +1,13 @@
{
"version": 2,
"dgSpecHash": "kxXQBFhQdutFjT2gId8hH7v60+roPUePVqxb1y4tNVZireLqsssXpCmL0m//w3iotiwfRwon5DxMxbP2oSqgRA==",
"dgSpecHash": "FaJ3IYRDykY=",
"success": true,
"projectFilePath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\源代码\\OEM\\OEM.csproj",
"expectedPackageFiles": [
"C:\\Users\\Nitlo\\.nuget\\packages\\microsoft.csharp\\4.7.0\\microsoft.csharp.4.7.0.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\microsoft.dotnet.ilcompiler\\8.0.5\\microsoft.dotnet.ilcompiler.8.0.5.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\microsoft.net.illink.tasks\\8.0.5\\microsoft.net.illink.tasks.8.0.5.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\runtime.win-x64.microsoft.dotnet.ilcompiler\\8.0.5\\runtime.win-x64.microsoft.dotnet.ilcompiler.8.0.5.nupkg.sha512"
"C:\\Users\\Youmu\\.nuget\\packages\\microsoft.csharp\\4.7.0\\microsoft.csharp.4.7.0.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\microsoft.dotnet.ilcompiler\\8.0.5\\microsoft.dotnet.ilcompiler.8.0.5.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\microsoft.net.illink.tasks\\8.0.8\\microsoft.net.illink.tasks.8.0.8.nupkg.sha512",
"C:\\Users\\Youmu\\.nuget\\packages\\runtime.win-x64.microsoft.dotnet.ilcompiler\\8.0.5\\runtime.win-x64.microsoft.dotnet.ilcompiler.8.0.5.nupkg.sha512"
],
"logs": []
}
@@ -1,232 +0,0 @@
Info 2024-06-10T03:51:45.3844560+08:00
Program StgSharpDebug, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null Started.
Info 2024-06-10T03:51:45.5301845+08:00
Find core OpenGL version.
Successfully load all OpenGL 1.0 APIs
Successfully load all OpenGL 1.1 APIs
Successfully load all OpenGL 1.2 APIs
Successfully load all OpenGL 1.3 APIs
Successfully load all OpenGL 1.4 APIs
Successfully load all OpenGL 1.5 APIs
Successfully load all OpenGL 2.0 APIs
Successfully load all OpenGL 2.1 APIs
Successfully load all OpenGL 3.0 APIs
Successfully load all OpenGL 3.1 APIs
Successfully load all OpenGL 3.2 APIs
Successfully load all OpenGL 3.3 APIs
Successfully load all OpenGL 4.0 APIs
Successfully load all OpenGL 4.1 APIs
Successfully load all OpenGL 4.2 APIs
Successfully load all OpenGL 4.3 APIs
Successfully load all OpenGL 4.4 APIs
Successfully load all OpenGL 4.5 APIs
Successfully load all OpenGL 4.6 APIs
Info 2024-06-10T03:51:45.5394697+08:00
No supported OpenGL extensions are found.
Info 2024-06-10T03:53:05.2638737+08:00
Program StgSharpDebug, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null Started.
Info 2024-06-10T03:53:05.3986813+08:00
Find core OpenGL version.
Successfully load all OpenGL 1.0 APIs
Successfully load all OpenGL 1.1 APIs
Successfully load all OpenGL 1.2 APIs
Successfully load all OpenGL 1.3 APIs
Successfully load all OpenGL 1.4 APIs
Successfully load all OpenGL 1.5 APIs
Successfully load all OpenGL 2.0 APIs
Successfully load all OpenGL 2.1 APIs
Successfully load all OpenGL 3.0 APIs
Successfully load all OpenGL 3.1 APIs
Successfully load all OpenGL 3.2 APIs
Successfully load all OpenGL 3.3 APIs
Successfully load all OpenGL 4.0 APIs
Successfully load all OpenGL 4.1 APIs
Successfully load all OpenGL 4.2 APIs
Successfully load all OpenGL 4.3 APIs
Successfully load all OpenGL 4.4 APIs
Successfully load all OpenGL 4.5 APIs
Successfully load all OpenGL 4.6 APIs
Info 2024-06-10T03:53:05.4074243+08:00
No supported OpenGL extensions are found.
Info 2024-06-10T03:53:20.0978686+08:00
Program StgSharpDebug, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null Started.
Info 2024-06-10T03:53:20.2405718+08:00
Find core OpenGL version.
Successfully load all OpenGL 1.0 APIs
Successfully load all OpenGL 1.1 APIs
Successfully load all OpenGL 1.2 APIs
Successfully load all OpenGL 1.3 APIs
Successfully load all OpenGL 1.4 APIs
Successfully load all OpenGL 1.5 APIs
Successfully load all OpenGL 2.0 APIs
Successfully load all OpenGL 2.1 APIs
Successfully load all OpenGL 3.0 APIs
Successfully load all OpenGL 3.1 APIs
Successfully load all OpenGL 3.2 APIs
Successfully load all OpenGL 3.3 APIs
Successfully load all OpenGL 4.0 APIs
Successfully load all OpenGL 4.1 APIs
Successfully load all OpenGL 4.2 APIs
Successfully load all OpenGL 4.3 APIs
Successfully load all OpenGL 4.4 APIs
Successfully load all OpenGL 4.5 APIs
Successfully load all OpenGL 4.6 APIs
Info 2024-06-10T03:53:20.2486427+08:00
No supported OpenGL extensions are found.
Info 2024-06-10T03:58:44.9904084+08:00
Program StgSharpDebug, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null Started.
Info 2024-06-10T03:59:35.5661006+08:00
Find core OpenGL version.
Successfully load all OpenGL 1.0 APIs
Successfully load all OpenGL 1.1 APIs
Successfully load all OpenGL 1.2 APIs
Successfully load all OpenGL 1.3 APIs
Successfully load all OpenGL 1.4 APIs
Successfully load all OpenGL 1.5 APIs
Successfully load all OpenGL 2.0 APIs
Successfully load all OpenGL 2.1 APIs
Successfully load all OpenGL 3.0 APIs
Successfully load all OpenGL 3.1 APIs
Successfully load all OpenGL 3.2 APIs
Successfully load all OpenGL 3.3 APIs
Successfully load all OpenGL 4.0 APIs
Successfully load all OpenGL 4.1 APIs
Successfully load all OpenGL 4.2 APIs
Successfully load all OpenGL 4.3 APIs
Successfully load all OpenGL 4.4 APIs
Successfully load all OpenGL 4.5 APIs
Successfully load all OpenGL 4.6 APIs
Info 2024-06-10T03:59:35.7041981+08:00
No supported OpenGL extensions are found.
Info 2024-06-10T04:02:09.9071531+08:00
Program StgSharpDebug, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null Started.
Info 2024-06-10T04:02:10.7951542+08:00
Find core OpenGL version.
Successfully load all OpenGL 1.0 APIs
Successfully load all OpenGL 1.1 APIs
Successfully load all OpenGL 1.2 APIs
Successfully load all OpenGL 1.3 APIs
Successfully load all OpenGL 1.4 APIs
Successfully load all OpenGL 1.5 APIs
Successfully load all OpenGL 2.0 APIs
Successfully load all OpenGL 2.1 APIs
Successfully load all OpenGL 3.0 APIs
Successfully load all OpenGL 3.1 APIs
Successfully load all OpenGL 3.2 APIs
Successfully load all OpenGL 3.3 APIs
Successfully load all OpenGL 4.0 APIs
Successfully load all OpenGL 4.1 APIs
Successfully load all OpenGL 4.2 APIs
Successfully load all OpenGL 4.3 APIs
Successfully load all OpenGL 4.4 APIs
Successfully load all OpenGL 4.5 APIs
Successfully load all OpenGL 4.6 APIs
Info 2024-06-10T04:02:10.8047643+08:00
No supported OpenGL extensions are found.
Info 2024-06-10T04:05:20.9151190+08:00
Program StgSharpDebug, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null Started.
Info 2024-06-10T04:05:21.0924552+08:00
Find core OpenGL version.
Successfully load all OpenGL 1.0 APIs
Successfully load all OpenGL 1.1 APIs
Successfully load all OpenGL 1.2 APIs
Successfully load all OpenGL 1.3 APIs
Successfully load all OpenGL 1.4 APIs
Successfully load all OpenGL 1.5 APIs
Successfully load all OpenGL 2.0 APIs
Successfully load all OpenGL 2.1 APIs
Successfully load all OpenGL 3.0 APIs
Successfully load all OpenGL 3.1 APIs
Successfully load all OpenGL 3.2 APIs
Successfully load all OpenGL 3.3 APIs
Successfully load all OpenGL 4.0 APIs
Successfully load all OpenGL 4.1 APIs
Successfully load all OpenGL 4.2 APIs
Successfully load all OpenGL 4.3 APIs
Successfully load all OpenGL 4.4 APIs
Successfully load all OpenGL 4.5 APIs
Successfully load all OpenGL 4.6 APIs
Info 2024-06-10T04:05:21.1020065+08:00
No supported OpenGL extensions are found.
Info 2024-06-10T04:05:53.0098837+08:00
Program StgSharpDebug, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null Started.
Info 2024-06-10T04:05:53.1706206+08:00
Find core OpenGL version.
Successfully load all OpenGL 1.0 APIs
Successfully load all OpenGL 1.1 APIs
Successfully load all OpenGL 1.2 APIs
Successfully load all OpenGL 1.3 APIs
Successfully load all OpenGL 1.4 APIs
Successfully load all OpenGL 1.5 APIs
Successfully load all OpenGL 2.0 APIs
Successfully load all OpenGL 2.1 APIs
Successfully load all OpenGL 3.0 APIs
Successfully load all OpenGL 3.1 APIs
Successfully load all OpenGL 3.2 APIs
Successfully load all OpenGL 3.3 APIs
Successfully load all OpenGL 4.0 APIs
Successfully load all OpenGL 4.1 APIs
Successfully load all OpenGL 4.2 APIs
Successfully load all OpenGL 4.3 APIs
Successfully load all OpenGL 4.4 APIs
Successfully load all OpenGL 4.5 APIs
Successfully load all OpenGL 4.6 APIs
Info 2024-06-10T04:05:53.1809108+08:00
No supported OpenGL extensions are found.
Info 2024-06-10T04:22:18.9955029+08:00
Program StgSharpDebug, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null Started.
Info 2024-06-10T04:22:19.1161027+08:00
Find core OpenGL version.
Successfully load all OpenGL 1.0 APIs
Successfully load all OpenGL 1.1 APIs
Successfully load all OpenGL 1.2 APIs
Successfully load all OpenGL 1.3 APIs
Successfully load all OpenGL 1.4 APIs
Successfully load all OpenGL 1.5 APIs
Successfully load all OpenGL 2.0 APIs
Successfully load all OpenGL 2.1 APIs
Successfully load all OpenGL 3.0 APIs
Successfully load all OpenGL 3.1 APIs
Successfully load all OpenGL 3.2 APIs
Successfully load all OpenGL 3.3 APIs
Successfully load all OpenGL 4.0 APIs
Successfully load all OpenGL 4.1 APIs
Successfully load all OpenGL 4.2 APIs
Successfully load all OpenGL 4.3 APIs
Successfully load all OpenGL 4.4 APIs
Successfully load all OpenGL 4.5 APIs
Successfully load all OpenGL 4.6 APIs
Info 2024-06-10T04:22:19.1243615+08:00
No supported OpenGL extensions are found.
Binary file not shown.
@@ -8,12 +8,21 @@
".NETCoreApp,Version=v6.0": {
"StgSharpDebug/1.0.0": {
"dependencies": {
"BidirectionalDict": "1.2.0",
"Microsoft.Windows.CsWin32": "0.3.49-beta"
},
"runtime": {
"StgSharpDebug.dll": {}
}
},
"BidirectionalDict/1.2.0": {
"runtime": {
"lib/netcoreapp3.1/BidirectionalDict.dll": {
"assemblyVersion": "1.2.0.0",
"fileVersion": "1.2.0.0"
}
}
},
"Microsoft.Windows.CsWin32/0.3.49-beta": {
"dependencies": {
"Microsoft.Windows.SDK.Win32Docs": "0.1.42-alpha",
@@ -40,6 +49,13 @@
"serviceable": false,
"sha512": ""
},
"BidirectionalDict/1.2.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-hjLTwpPTQBdseFVTVH1vf7Pbaj5ATKIM3DQN8Hup22ixyC14+r1bE4YFjtZmWfcegvJR74zYtatBTwpOHmIMNQ==",
"path": "bidirectionaldict/1.2.0",
"hashPath": "bidirectionaldict.1.2.0.nupkg.sha512"
},
"Microsoft.Windows.CsWin32/0.3.49-beta": {
"type": "package",
"serviceable": true,
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -4,62 +4,49 @@
<name>StgSharpDebug</name>
</assembly>
<members>
<member name="T:StgSharp.Graphics.View">
<summary>
</summary>
</member>
<member name="M:StgSharp.Graphics.View.GetKeyStatus(StgSharp.Logic.ViewModelBase,StgSharp.KeyboardKey)">
<summary>
Get the status of a certain key on the keyboard.
</summary>
<param name="form"></param>
<param name="key"></param>
<returns></returns>
</member>
<member name="T:StgSharp.Graphics.glLoader">
<summary>
Function handler to load an opengl function by searching its name.
</summary>
<param name="name">the name of the Opengl function</param>
<returns>An intptr value representing the pointer to the function</returns>
</member>
<member name="T:StgSharp.Graphics.GL.BufferObjectBase">
<member name="T:StgSharp.Graphics.BufferObjectBase">
<summary>
Interface of all kinds OpenGL buffer objects
</summary>
</member>
<member name="P:StgSharp.Graphics.GL.BufferObjectBase.Item(System.Int32)">
<member name="P:StgSharp.Graphics.BufferObjectBase.Item(System.Int32)">
<summary>
Get the only handle to one of the Object instance
</summary>
<param name="index"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Graphics.GL.BufferObjectBase.Bind(System.Int32)">
<member name="M:StgSharp.Graphics.BufferObjectBase.Bind(System.Int32)">
<summary>
Bind a buffer instance to OpenGL
</summary>
<param name="index">Index of handle of the object in this instance to be bind</param>
</member>
<member name="M:StgSharp.Graphics.GL.BufferObjectBase.ToString">
<member name="M:StgSharp.Graphics.BufferObjectBase.ToString">
<inheritdoc/>
</member>
<member name="T:StgSharp.Graphics.GL.ElementBuffer">
<member name="T:StgSharp.Graphics.glLoader">
<summary>
Function handler to load an opengl function by searching its name.
</summary>
<param name="name">the name of the Opengl function</param>
<returns>An Intptr value representing the pointer to the function</returns>
</member>
<member name="T:StgSharp.Graphics.OpenGL.ElementBuffer">
<summary>
A collection of handle to Element Buffer Object in OpenglFunc.
Each <see langword="uint"/> value indexed from instance of this class this
is the only handle to one Element Buffer Object.
</summary>
</member>
<member name="M:StgSharp.Graphics.GL.FrameBuffer.Bind(System.Int32)">
<member name="M:StgSharp.Graphics.OpenGL.FrameBuffer.Bind(System.Int32)">
<summary>
Bind the frame buffer object with name frame buffer to the frame buffer target specified by target.
<see langword="FrameBufferTarget.All"/> will be set as default target.
</summary>
<param name="index">Index of object to be binded in handle set</param>
</member>
<member name="M:StgSharp.Graphics.GL.FrameBuffer.Bind(StgSharp.Graphics.GL.FrameBufferTarget,System.Int32)">
<member name="M:StgSharp.Graphics.OpenGL.FrameBuffer.Bind(StgSharp.Graphics.OpenGL.FrameBufferTarget,System.Int32)">
<summary>
Bind the frame buffer object with name frame buffer to the frame buffer target specified by target.
Target of this frame buffer should be set manually.
@@ -67,139 +54,140 @@
<param name="target">The frame buffer target of the binding operation.</param>
<param name="index">Index of object to be binded in handle set</param>
</member>
<member name="M:StgSharp.Graphics.GL.TextureGL.LoadTexture(System.Int32,StgSharp.Graphics.Image)">
<member name="M:StgSharp.Graphics.OpenGL.TextureGL.LoadTexture(System.Int32,StgSharp.Graphics.Image)">
<summary>
Load an <see cref="T:StgSharp.Graphics.Image" /> to certain texture.
</summary>
<param name="index"> </param>
<param name="i"> </param>
</member>
<member name="M:StgSharp.Graphics.GL.VertexBuffer.WriteMatrixData``1(System.Int32,``0,StgSharp.Graphics.GL.BufferUsage)">
<summary>
Set data to current vertex buffer object
</summary>
<typeparam name="T">Type of bufferData</typeparam>
<param name="index">Index to find certain VBO in this instance</param>
<param name="bufferData">Data to write in</param>
<param name="usage">How OpenGL use these data, defined by <see cref="T:StgSharp.Graphics.GL.BufferUsage"/></param>
</member>
<member name="M:StgSharp.Graphics.GL.VertexBuffer.WriteScalerData``1(System.Int32,``0[],StgSharp.Graphics.GL.BufferUsage)">
<summary>
Set data to current vertex buffer object
</summary>
<typeparam name="T">Type of bufferData</typeparam>
<param name="index">Index to find certain VBO in this instance</param>
<param name="bufferArray">Data to write in</param>
<param name="usage">How OpenGL use these data, defined by <see cref="T:StgSharp.Graphics.GL.BufferUsage"/></param>
</member>
<member name="M:StgSharp.Graphics.GL.VertexBuffer.WriteScalerData``1(System.Int32,System.ReadOnlySpan{``0},StgSharp.Graphics.GL.BufferUsage)">
<summary>
Set data to current vertex buffer object
</summary>
<typeparam name="T">Type of bufferData</typeparam>
<param name="index">Index to find certain VBO in this instance</param>
<param name="scalerSpan">A <see cref="T:System.Span`1"/> of data to write in</param>
<param name="usage">How OpenGL use these data, defined by <see cref="T:StgSharp.Graphics.GL.BufferUsage"/></param>
</member>
<member name="M:StgSharp.Graphics.GL.VertexBuffer.WriteVectorData``1(System.Int32,System.ReadOnlySpan{``0},StgSharp.Graphics.GL.BufferUsage)">
<summary>
Set data to current vertex buffer object
</summary>
<typeparam name="T">Type of bufferData</typeparam>
<param name="index">Index to find certain VBO in this instance</param>
<param name="vectorSpan">A <see cref="T:System.Span`1"/> of data to write in</param>
<param name="usage">How OpenGL use these data, defined by <see cref="T:StgSharp.Graphics.GL.BufferUsage"/></param>
</member>
<member name="M:StgSharp.Graphics.GL.VertexBuffer.WriteVectorData``1(System.Int32,``0[],StgSharp.Graphics.GL.BufferUsage)">
<summary>
Set data to current vertex buffer object
</summary>
<typeparam name="T">Type of bufferData</typeparam>
<param name="index">Index to find certain VBO in this instance</param>
<param name="vectorArray">A array of data to write in</param>
<param name="usage">How OpenGL use these data, defined by <see cref="T:StgSharp.Graphics.GL.BufferUsage"/></param>
</member>
<member name="M:StgSharp.Graphics.GL.VertexBuffer.Unbind">
<member name="M:StgSharp.Graphics.OpenGL.VertexBuffer.Unbind">
<summary>
</summary>
</member>
<member name="M:StgSharp.Graphics.GL.glManager.LoadGLapi(StgSharp.Graphics.ViewPort)">
<member name="M:StgSharp.Graphics.OpenGL.VertexBuffer.WriteMatrixData``1(System.Int32,``0,StgSharp.Graphics.OpenGL.BufferUsage)">
<summary>
Load all supported OpenGL APIs and bind them to given <see cref="T:StgSharp.Graphics.ViewPort"/> context.
Set _data to current vertex buffer object
</summary>
<param name="vp">The <see cref="T:StgSharp.Graphics.ViewPort"/> used as current OpenGL context</param>
<typeparam name="T">Type of bufferData</typeparam>
<param name="index">Index to find certain VBO in this instance</param>
<param name="bufferData">Data to write in</param>
<param name="usage">How OpenGL use these _data, defined by <see cref="T:StgSharp.Graphics.OpenGL.BufferUsage"/></param>
</member>
<member name="M:StgSharp.Graphics.GL.glManager.LoadGLfunc(System.String)">
<member name="M:StgSharp.Graphics.OpenGL.VertexBuffer.WriteScalerData``1(System.Int32,``0[],StgSharp.Graphics.OpenGL.BufferUsage)">
<summary>
Set _data to current vertex buffer object
</summary>
<typeparam name="T">Type of bufferData</typeparam>
<param name="index">Index to find certain VBO in this instance</param>
<param name="bufferArray">Data to write in</param>
<param name="usage">How OpenGL use these _data, defined by <see cref="T:StgSharp.Graphics.OpenGL.BufferUsage"/></param>
</member>
<member name="M:StgSharp.Graphics.OpenGL.VertexBuffer.WriteScalerData``1(System.Int32,System.ReadOnlySpan{``0},StgSharp.Graphics.OpenGL.BufferUsage)">
<summary>
Set _data to current vertex buffer object
</summary>
<typeparam name="T">Type of bufferData</typeparam>
<param name="index">Index to find certain VBO in this instance</param>
<param name="scalerSpan">A <see cref="T:System.Span`1"/> of _data to write in</param>
<param name="usage">How OpenGL use these _data, defined by <see cref="T:StgSharp.Graphics.OpenGL.BufferUsage"/></param>
</member>
<member name="M:StgSharp.Graphics.OpenGL.VertexBuffer.WriteVectorData``1(System.Int32,System.ReadOnlySpan{``0},StgSharp.Graphics.OpenGL.BufferUsage)">
<summary>
Set _data to current vertex buffer object
</summary>
<typeparam name="T">Type of bufferData</typeparam>
<param name="index">Index to find certain VBO in this instance</param>
<param name="vectorSpan">A <see cref="T:System.Span`1"/> of _data to write in</param>
<param name="usage">How OpenGL use these _data, defined by <see cref="T:StgSharp.Graphics.OpenGL.BufferUsage"/></param>
</member>
<member name="M:StgSharp.Graphics.OpenGL.VertexBuffer.WriteVectorData``1(System.Int32,``0[],StgSharp.Graphics.OpenGL.BufferUsage)">
<summary>
Set _data to current vertex buffer object
</summary>
<typeparam name="T">Type of bufferData</typeparam>
<param name="index">Index to find certain VBO in this instance</param>
<param name="vectorArray">A array of _data to write in</param>
<param name="usage">How OpenGL use these _data, defined by <see cref="T:StgSharp.Graphics.OpenGL.BufferUsage"/></param>
</member>
<member name="M:StgSharp.Graphics.OpenGL.glManager.LoadGLfunc(System.String)">
<summary>
Get the function pointer of given OpenGL api name
</summary>
<param name="name">ContextName of the OpenGL api</param>
<returns>The funtion pointer of the api in stream of <see cref="T:System.IntPtr"/></returns>
</member>
<member name="M:StgSharp.Graphics.GL.glFunc.BindFrameBuffer(StgSharp.Graphics.GL.FrameBufferTarget,StgSharp.Graphics.glHandle)">
<member name="M:StgSharp.Graphics.OpenGL.glManager.LoadOpenGLApiTo(System.IntPtr)">
<summary>
Load all supported OpenGL APIs and bind them to given <see cref="T:StgSharp.MVVM.ViewPort"/>.
</summary>
<param name="contextHandle">The handle to current OpenGL viewPortDisplay</param>
</member>
<member name="M:StgSharp.Graphics.OpenGL.OpenGLFunction.BindFrameBuffer(StgSharp.Graphics.OpenGL.FrameBufferTarget,StgSharp.Graphics.OpenGL.GlHandle)">
<summary>
Bind a frame buffer to a frame buffer target
Same function as <see href="https://docs.gl/gl3/glBindFramebuffer">glBindFramebuffer</see>.
Same function as <see href="https://docs._gl/gl3/glBindFramebuffer">glBindFramebuffer</see>.
</summary>
<param name="target"> The frame buffer target of the binding operation.</param>
<param name="handle"> The handle of the frame buffer object to bind.</param>
</member>
<member name="M:StgSharp.Graphics.GL.glRenderStream.MakeAsCurrentContext">
<member name="M:StgSharp.Graphics.OpenGL.glRenderStream.MakeAsCurrentContext">
<summary>
Init an OpenGl context if current form has not been binded to any context. and set the context binded to
current form as current OpenGL context.
Initialize an OpenGl viewPortDisplay if current form has not been binded to any viewPortDisplay.
and set the viewPortDisplay binded to current form as current OpenGL viewPortDisplay.
</summary>
<exception cref="T:System.Exception">
Something goes wrong and StgSharp fails in creating a new OpenGL context.
Something goes wrong and StgSharp fails in creating a new OpenGL viewPortDisplay.
</exception>
</member>
<member name="M:StgSharp.Graphics.GL.glRenderStream.CreateElementBuffer(System.Int32)">
<member name="M:StgSharp.Graphics.OpenGL.glRenderStream.CreateElementBuffer(System.Int32)">
<summary>
Create a set of <see cref="T:StgSharp.Graphics.GL.ElementBuffer"/>.
Create a set of <see cref="T:StgSharp.Graphics.OpenGL.ElementBuffer"/>.
</summary>
<param name="count">Amount of EBO to be created.</param>
<returns></returns>
</member>
<member name="M:StgSharp.Graphics.GL.glRenderStream.CreateTexture(System.Int32)">
<member name="M:StgSharp.Graphics.OpenGL.glRenderStream.CreateTexture(System.Int32)">
<summary>
Create a sets of <see cref="T:StgSharp.Graphics.GL.TextureGL"/>
Create a sets of <see cref="T:StgSharp.Graphics.OpenGL.TextureGL"/>
</summary>
<param name="count">Amount of textures to be created.</param>
<returns></returns>
</member>
<member name="M:StgSharp.Graphics.GL.glRenderStream.CreateVertexArray(System.Int32)">
<member name="M:StgSharp.Graphics.OpenGL.glRenderStream.CreateVertexArray(System.Int32)">
<summary>
Create a set of <see cref="T:StgSharp.Graphics.GL.VertexArray"/>.
Create a set of <see cref="T:StgSharp.Graphics.OpenGL.VertexArray"/>.
</summary>
<param name="count">Amount of VAO to be created.</param>
<returns></returns>
</member>
<member name="M:StgSharp.Graphics.GL.glRenderStream.CreateVertexBuffer(System.Int32)">
<member name="M:StgSharp.Graphics.OpenGL.glRenderStream.CreateVertexBuffer(System.Int32)">
<summary>
Create a set of <see cref="T:StgSharp.Graphics.GL.VertexBuffer"/>.
Create a set of <see cref="T:StgSharp.Graphics.OpenGL.VertexBuffer"/>.
</summary>
<param name="count">Amount of Object to be created.</param>
<returns></returns>
</member>
<member name="M:StgSharp.Graphics.GL.glRenderStream.CreateShaderProgram">
<member name="M:StgSharp.Graphics.OpenGL.glRenderStream.CreateShaderProgram">
<summary>
Create an instance of <see cref="T:StgSharp.Graphics.GL.Shader"/> program
Create an instance of <see cref="T:StgSharp.Graphics.OpenGL.Shader"/> program
</summary>
<returns>New instance of <see cref="T:StgSharp.Graphics.GL.Shader"/> instance. </returns>
<returns>New instance of <see cref="T:StgSharp.Graphics.OpenGL.Shader"/> instance. </returns>
</member>
<member name="M:StgSharp.Graphics.GL.Shader.AttachTo(System.Int32,StgSharp.Graphics.GL.ShaderProgram)">
<member name="M:StgSharp.Graphics.OpenGL.Shader.AttachTo(System.Int32,StgSharp.Graphics.OpenGL.ShaderProgram)">
<summary>
Attach one shader code to a shader program.
</summary>
<param name="target">Shader program to attach</param>
<param name="index">Index of shader code in current shader code set.</param>
</member>
<member name="M:StgSharp.Graphics.GL.ShaderProgram.#ctor(StgSharp.Graphics.GL.glRenderStream)">
<member name="M:StgSharp.Graphics.OpenGL.ShaderProgram.#ctor(StgSharp.Graphics.OpenGL.glRenderStream)">
<summary>
Init a program with no shader attached.
CustomizeInit a program with no shader attached.
</summary>
</member>
<member name="M:StgSharp.Graphics.GL.ShaderProgram.GetUniform``1(System.String)">
<member name="M:StgSharp.Graphics.OpenGL.ShaderProgram.GetUniform``1(System.String)">
<summary>
Get a uniform form current shader,
the value type of the uniform should be provided.
@@ -207,7 +195,7 @@
<param name="name">ContextName of the Uniform in shader code</param>
<returns></returns>
</member>
<member name="M:StgSharp.Graphics.GL.ShaderProgram.GetUniform``2(System.String)">
<member name="M:StgSharp.Graphics.OpenGL.ShaderProgram.GetUniform``2(System.String)">
<summary>
Get a uniform form current shader,
the value type of the uniform should be provided.
@@ -215,7 +203,7 @@
<param name="name">ContextName of the Uniform in shader code</param>
<returns></returns>
</member>
<member name="M:StgSharp.Graphics.GL.ShaderProgram.GetUniform``3(System.String)">
<member name="M:StgSharp.Graphics.OpenGL.ShaderProgram.GetUniform``3(System.String)">
<summary>
Get a uniform form current shader,
the value type of the uniform should be provided.
@@ -223,7 +211,7 @@
<param name="name">ContextName of the Uniform in shader code</param>
<returns></returns>
</member>
<member name="M:StgSharp.Graphics.GL.ShaderProgram.GetUniform``4(System.String)">
<member name="M:StgSharp.Graphics.OpenGL.ShaderProgram.GetUniform``4(System.String)">
<summary>
Get a uniform form current shader,
the value type of the uniform should be provided.
@@ -231,43 +219,19 @@
<param name="name">ContextName of the Uniform in shader code</param>
<returns></returns>
</member>
<member name="M:StgSharp.Graphics.GL.ShaderProgram.Link">
<member name="M:StgSharp.Graphics.OpenGL.ShaderProgram.Link">
<summary>
Link the shader to current context.
Link the shader to current viewPortDisplay.
</summary>
</member>
<member name="M:StgSharp.Graphics.GL.ShaderProgram.Use">
<member name="M:StgSharp.Graphics.OpenGL.ShaderProgram.Use">
<summary>
Let the current context use this shader.
Let the current viewPortDisplay use this shader.
</summary>
</member>
<member name="T:StgSharp.Graphics.glHandle">
<member name="P:StgSharp.Graphics.Image.PixelUpdateCount">
<summary>
A handle to an OpenGL object,
must be indexed from a <see cref="T:StgSharp.Graphics.glHandleSet"/>.
Direct call will cause <see langword="InvalidOperationException"/>
</summary>
</member>
<member name="T:StgSharp.Graphics.glHandleSet">
<summary>
A handle to an OpenGL object.
</summary>
</member>
<member name="M:StgSharp.Graphics.glHandleSet.Release">
<summary>
Release all resource in this handle.
This will release all resource in this <see cref="T:StgSharp.Graphics.glHandle"/>.
This <see langword="glHandle"/> will be not usable.
</summary>
</member>
<member name="M:StgSharp.Graphics.ShaderEdit.IglConvertable.SetAllUniforms">
<summary>
</summary>
</member>
<member name="M:StgSharp.Graphics.ShaderEdit.IglConvertable.GainAllUniforms(StgSharp.Graphics.GL.ShaderProgram,System.String[])">
<summary>
Hash code of time pixels updated last time.
</summary>
</member>
<member name="M:StgSharp.Graphics.ShaderEdit.IglConvertable.DisplayGLtypeDefinition">
@@ -275,12 +239,22 @@
</summary>
</member>
<member name="M:StgSharp.Graphics.ShaderEdit.IglConvertable.GainAllUniforms(StgSharp.Graphics.OpenGL.ShaderProgram,System.String[])">
<summary>
</summary>
</member>
<member name="M:StgSharp.Graphics.ShaderEdit.IglConvertable.GetConvertedGLtype">
<summary>
</summary>
<returns></returns>
</member>
<member name="M:StgSharp.Graphics.ShaderEdit.IglConvertable.SetAllUniforms">
<summary>
</summary>
</member>
<member name="M:StgSharp.Graphics.RenderStream.SetSizeLimit(System.Int32,System.Int32,System.Int32,System.Int32)">
<summary>
Set the size limit of current form
@@ -290,9 +264,9 @@
<param name="maxWidth">Maximum width of current form</param>
<param name="maxHeight">Maximum height of current form</param>
</member>
<member name="M:StgSharp.Graphics.RenderStream.NativeCameraUniform(StgSharp.Graphics.GL.ShaderProgram,System.String)">
<member name="M:StgSharp.Graphics.RenderStream.NativeCameraUniform(StgSharp.Graphics.OpenGL.ShaderProgram,System.String)">
<summary>
Get <see cref="T:StgSharp.Graphics.GL.Uniform`1"/>(T is <see cref="T:StgSharp.Math.Matrix44"/>) uniform from a shader.
Get <see cref="T:StgSharp.Graphics.OpenGL.Uniform`1"/>(TView is <see cref="T:StgSharp.Math.Matrix44"/>) uniform from a shader.
This uniform will be used as projection matrix of this camera.
Additionally, for multi-shader rendering, each shader requires a uniform,
so do not ignore return value of this method.
@@ -300,11 +274,11 @@
<param name="source">Shader using this camera</param>
<param name="name">ContextName of projection camera named in shader</param>
<returns>
<see cref="T:StgSharp.Graphics.GL.Uniform`1"/>(T is <see cref="T:StgSharp.Math.Matrix44"/>) representing
<see cref="T:StgSharp.Graphics.OpenGL.Uniform`1"/>(TView is <see cref="T:StgSharp.Math.Matrix44"/>) representing
projection matrix in shader program.
</returns>
</member>
<member name="M:StgSharp.Graphics.Camera.GainAllUniforms(StgSharp.Graphics.GL.ShaderProgram,System.String[])">
<member name="M:StgSharp.Graphics.Camera.GainAllUniforms(StgSharp.Graphics.OpenGL.ShaderProgram,System.String[])">
<summary>
Get all uniform related to this <see cref="T:StgSharp.Graphics.Camera"/>.
</summary>
@@ -317,7 +291,7 @@
</member>
<member name="M:StgSharp.StgSharp.InitGL(System.Int32,System.Int32)">
<summary>
Init an instance of OpenGL program,
CustomizeInit an instance of OpenGL program,
This method should be called before any other StgSharp api.
</summary>
</member>
@@ -423,16 +397,6 @@
Data is actually stored in <see cref="T:StgSharp.Data.SSD"/>s in certain RAID mode.
</summary>
</member>
<member name="P:StgSharp.IEntity.CollisionSensor">
<summary>
A sensor used for checking out if a bullet hit a player or something else
</summary>
</member>
<member name="P:StgSharp.IEntity.Location">
<summary>
A 2D vector presenting the position of an enemy entity, position can also be visited by X, Y
</summary>
</member>
<member name="P:StgSharp.IEntity.X">
<summary>
X position of an enenmy entity
@@ -443,6 +407,16 @@
Y position of an enemy entity
</summary>
</member>
<member name="P:StgSharp.IEntity.CollisionSensor">
<summary>
A sensor used for checking out if a bullet hit a player or something else
</summary>
</member>
<member name="P:StgSharp.IEntity.Location">
<summary>
A 2D vector presenting the position of an enemy entity, position can also be visited by X, Y
</summary>
</member>
<member name="T:StgSharp.Geometries.UnusedVertexException">
<summary>
当几何体调用了过多的CalcVec方法时,产生UnusedVertexException异常
@@ -474,7 +448,7 @@
<summary>
Calculate movement to center
</summary>
<param name="tick">Current time tick</param>
<param name="tick">CurrentBlueprint time tick</param>
<returns></returns>
</member>
<member name="T:StgSharp.Geometries.Square">
@@ -482,13 +456,14 @@
A square
</summary>
</member>
<member name="M:StgSharp.Logic.Blueprint.RunRepeatedly(System.Func{System.Boolean})">
<member name="T:StgSharp.BluePrint.Blueprint">
<summary>
Run all nodes repeatedly until it is instructed to terminate.
A sets of complex logic designed for running in multi threads environment.
Warning: do not run a <see cref="T:StgSharp.BluePrint.Blueprint"/> instance in multi threads more than once.
</summary>
<param name="terminateInstructor">Instructor to terminate all tasks. Returns <see langword="true"/> if tasks should terminate</param>
</member>
<member name="T:StgSharp.Logic.BlueprintNode">
<member name="T:StgSharp.BluePrint.BlueprintNode">
<summary>
</summary>
@@ -497,27 +472,87 @@
in current node, the port on the other node cannot get the change.
</risk>
</member>
<member name="M:StgSharp.Logic.ViewModelBase.Show">
<member name="M:StgSharp.Collections.IBidirectionalDictionary`2.Contains(`1)">
<summary>
Init this form and render it on screen, and respond with operation
Determines whether the <see cref="T:StgSharp.Collections.IBidirectionalDictionary`2" /> contains the
specified key.
</summary>
<param name="key"> The value to locate in the <see cref="T:StgSharp.Collections.IBidirectionalDictionary`2" />. </param>
<returns>
true if the <see cref="T:StgSharp.Collections.IBidirectionalDictionary`2" /> contains an element with the
specified key; otherwise, false.
</returns>
</member>
<member name="M:StgSharp.Collections.IBidirectionalDictionary`2.Contains(`0)">
<summary>
Determines whether the <see cref="T:StgSharp.Collections.IBidirectionalDictionary`2" /> contains the
specified key.
</summary>
<param name="key"> The value to locate in the <see cref="T:StgSharp.Collections.IBidirectionalDictionary`2" />. </param>
<returns>
true if the <see cref="T:StgSharp.Collections.IBidirectionalDictionary`2"/> contains an element with the
specified key; otherwise, false.
</returns>
</member>
<member name="T:StgSharp.Timing.TimeSpanProvider">
<summary>
A microsecond-accuracy timer. It will refresh every a certain time span.
</summary>
</member>
<member name="P:StgSharp.Logic.ViewModelBase.Height">
<member name="M:StgSharp.Timing.TimeSpanProvider.#ctor(System.Int64,StgSharp.Timing.TimeSourceProviderBase)">
<summary>
Create a new <see cref="T:StgSharp.Timing.TimeSpanProvider"/> and define the length of time span. Length of a single time span is defined in microseconds.
</summary>
<param name="spanMicroSeconds"></param>
<param name="provider"></param>
</member>
<member name="M:StgSharp.Timing.TimeSpanProvider.#ctor(System.Double,StgSharp.Timing.TimeSourceProviderBase)">
<summary>
Create a new <see cref="T:StgSharp.Timing.TimeSpanProvider"/> and define the length of time span.
Length of a single time span is defined in seconds.
</summary>
<param name="spanSeconds"></param>
<param name="provider"></param>
</member>
<member name="M:StgSharp.Timing.TimeSpanProvider.#ctor(System.Int64,System.Int32,StgSharp.Timing.TimeSourceProviderBase)">
<summary>
Create a new <see cref="T:StgSharp.Timing.TimeSpanProvider"/> and define the length of time span. Length of a single time span is defined in microseconds.
</summary>
<param name="spanLength"></param>
<param name="maxSpan"></param>
<param name="provider"></param>
</member>
<member name="P:StgSharp.Timing.TimeSpanProvider.SpanRefreshCallback">
<summary>
The method this <see cref="T:StgSharp.Timing.TimeSpanProvider"/> will call every time a new time span started.
</summary>
</member>
<member name="P:StgSharp.Timing.TimeSpanProvider.DefaultProvider">
<summary>
Time source provider provided in <see cref="T:StgSharp.StgSharp"/> internal framework.
</summary>
</member>
<member name="M:StgSharp.MVVM.ViewModel.ViewModelBase.UseViewModel(System.String)">
<summary>
CustomizeInit this form and render it on screen, and respond with operation
</summary>
</member>
<member name="P:StgSharp.MVVM.ViewModel.ViewModelBase.Height">
<summary>
Height of this form, represent in <see cref="T:System.Int32"/>
</summary>
</member>
<member name="P:StgSharp.Logic.ViewModelBase.Size">
<member name="P:StgSharp.MVVM.ViewModel.ViewModelBase.Width">
<summary>
Width of this form, represent in <see cref="T:System.Int32"/>
</summary>
</member>
<member name="P:StgSharp.Logic.ViewModelBase.Width">
<member name="P:StgSharp.MVVM.ViewModel.ViewModelBase.Size">
<summary>
Width of this form, represent in <see cref="T:System.Int32"/>
</summary>
</member>
<member name="M:StgSharp.Logic.ViewModelBase.SetSize(StgSharp.Math.vec2d)">
<member name="M:StgSharp.MVVM.ViewModel.ViewModelBase.SetSize(StgSharp.Math.vec2d)">
<summary>
Resize the current form
</summary>
@@ -525,7 +560,7 @@
A <see cref="T:StgSharp.Math.vec2d"/> (width,height) representing the new size of current form
</param>
</member>
<member name="M:StgSharp.Logic.ViewModelBase.SetSizeLimit(StgSharp.Math.vec2d,StgSharp.Math.vec2d)">
<member name="M:StgSharp.MVVM.ViewModel.ViewModelBase.SetSizeLimit(StgSharp.Math.vec2d,StgSharp.Math.vec2d)">
<summary>
Set the size limit of current form
</summary>
@@ -536,7 +571,7 @@
Maximum size of current form. In form of a <see cref="T:StgSharp.Math.vec2d"/> of (width,height)
</param>
</member>
<member name="M:StgSharp.Logic.ViewModelBase.SetSizeLimit(System.Int32,System.Int32,System.Int32,System.Int32)">
<member name="M:StgSharp.MVVM.ViewModel.ViewModelBase.SetSizeLimit(System.Int32,System.Int32,System.Int32,System.Int32)">
<summary>
Set the size limit of current form
</summary>
@@ -545,42 +580,26 @@
<param name="maxWidth">Maximum width of current form</param>
<param name="maxHeight">Maximum height of current form</param>
</member>
<member name="T:StgSharp.TimeSpanProvider">
<member name="T:StgSharp.MVVM.View.ViewBase">
<summary>
A microsecond-accuracy timer. It will refresh every a certain time span.
ViewBase is the base type for all view types, providing context binding and control element binding.
A complete view should contain one complete <see cref="T:StgSharp.MVVM.View.ViewBase.ViewDesigner`1"/>, <see cref="T:StgSharp.MVVM.View.ViewBase.ViewRender`1"/>, and <see cref="!:ViewResponder"/>,
which provide layout descriptions of control elements, user responses, and rendering implementations in the view.
Data between instances of <see cref="T:StgSharp.MVVM.View.ViewBase.ViewDesigner`1"/>, <see cref="T:StgSharp.MVVM.View.ViewBase.ViewRender`1"/>, and <see cref="T:StgSharp.MVVM.View.ViewBase.ViewResponder`1"/> is shared through <see cref="T:StgSharp.MVVM.View.ViewBase"/>.
</summary>
</member>
<member name="M:StgSharp.TimeSpanProvider.#ctor(System.Int64,StgSharp.Logic.TimeSourceProviderBase)">
<member name="M:StgSharp.MVVM.View.ViewBase.GetKeyStatus(StgSharp.KeyboardKey)">
<summary>
Create a new <see cref="T:StgSharp.TimeSpanProvider"/> and define the length of time span. Length of a single time span is defined in microseconds.
Get the status of a certain key on the keyboard.
</summary>
<param name="spanMicroSeconds"></param>
<param name="provider"></param>
<param name="key"></param>
<returns><see cref="T:StgSharp.KeyStatus"/> representing if a key is pressed or released.</returns>
</member>
<member name="M:StgSharp.TimeSpanProvider.#ctor(System.Double,StgSharp.Logic.TimeSourceProviderBase)">
<member name="T:StgSharp.MVVM.View.ViewBase.ViewDesigner`1">
<summary>
Create a new <see cref="T:StgSharp.TimeSpanProvider"/> and define the length of time span.
Length of a single time span is defined in seconds.
</summary>
<param name="spanSeconds"></param>
<param name="provider"></param>
</member>
<member name="M:StgSharp.TimeSpanProvider.#ctor(System.Int64,System.Int32,StgSharp.Logic.TimeSourceProviderBase)">
<summary>
Create a new <see cref="T:StgSharp.TimeSpanProvider"/> and define the length of time span. Length of a single time span is defined in microseconds.
</summary>
<param name="spanLength"></param>
<param name="maxSpan"></param>
<param name="provider"></param>
</member>
<member name="P:StgSharp.TimeSpanProvider.DefaultProvider">
<summary>
Time source provider provided in <see cref="T:StgSharp.StgSharp"/> internal framework.
</summary>
</member>
<member name="P:StgSharp.TimeSpanProvider.SpanRefreshCallback">
<summary>
The method this <see cref="T:StgSharp.TimeSpanProvider"/> will call every time a new time span started.
ViewDesigner provides descriptions of various controls in the view,
binds the controls to specific user actions and behaviors,
and describes the layout and interactions of each control.
</summary>
</member>
<member name="T:Windows.Win32.Foundation.COLORREF">
@@ -56,3 +56,32 @@ Successfully load all OpenGL 4.5 APIs
Successfully load all OpenGL 4.6 APIs
Info @ 2024-03-22T08:07:58.7110859+08:00
No supported OpenGL extensions are found.
Info 2024-07-13T22:30:02.4941444+08:00
Program StgSharpDebug, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null Started.
Info 2024-07-13T22:30:02.6267133+08:00
Find core OpenGL version.
Successfully load all OpenGL 1.0 APIs
Successfully load all OpenGL 1.1 APIs
Successfully load all OpenGL 1.2 APIs
Successfully load all OpenGL 1.3 APIs
Successfully load all OpenGL 1.4 APIs
Successfully load all OpenGL 1.5 APIs
Successfully load all OpenGL 2.0 APIs
Successfully load all OpenGL 2.1 APIs
Successfully load all OpenGL 3.0 APIs
Successfully load all OpenGL 3.1 APIs
Successfully load all OpenGL 3.2 APIs
Successfully load all OpenGL 3.3 APIs
Successfully load all OpenGL 4.0 APIs
Successfully load all OpenGL 4.1 APIs
Successfully load all OpenGL 4.2 APIs
Successfully load all OpenGL 4.3 APIs
Successfully load all OpenGL 4.4 APIs
Successfully load all OpenGL 4.5 APIs
Successfully load all OpenGL 4.6 APIs
Info 2024-07-13T22:30:02.6357541+08:00
No supported OpenGL extensions are found.
@@ -1,17 +0,0 @@
#version 330 core
in vec4 TexColor;
in vec2 TexCoord;
out vec4 FragColor;
uniform sampler2D ourTexture;
uniform sampler2D ourTexture2;
void main()
{
vec4 tex1 = texture(ourTexture, TexCoord);
vec4 tex2 = texture(ourTexture2,TexCoord);
FragColor = mix(tex1 * vec4( TexColor.xyz, 1.0), tex2, 0.2) /* *vec4( TexColor,1.0) /**/;
}
@@ -1,32 +0,0 @@
#version 330 core
layout(location = 0) in vec3 aPos;
layout(location = 1) in vec3 aColor;
layout(location = 2) in vec2 aTextCoord;
out vec4 TexColor;
out vec2 TexCoord;
uniform vec4 color;
uniform mat4x4 camera;
void main()
{
float as = sin( color.w );
float ac = cos( color.w );
mat4x4 rotation = mat4x4(
ac,-as,0,0,
as,ac,0,0,
0,0,1,0,
0,0,0,1
);
TexColor = color;
TexCoord = aTextCoord;
vec4 temp = vec4(aPos.xyz,1.0);
gl_Position = /**/ camera * /**/ temp;
}
//struct
Binary file not shown.
File diff suppressed because it is too large Load Diff
@@ -30,7 +30,7 @@
//-----------------------------------------------------------------------
using StgSharp.Geometries;
using StgSharp.Graphics;
using StgSharp.Logic;
using StgSharp.Math;
using System;
@@ -43,18 +43,19 @@ namespace StgSharp.Controls
{
public class BattleField : ControllingItem
{
public ReadOnlySpan<vec4d> TextureBox
{
get => throw new NotImplementedException() ;
}
public vec2d Position { get; set; }
public Rectangle BoundingBox { get; set; }
public bool IsEntity => true;
public ReadOnlySpan<vec4d> TextureBox
{
get => throw new NotImplementedException();
}
public Rectangle BoundingBox { get; set; }
public vec2d Position { get; set; }
public IEnumerator<PlainGeometryMesh> GetEnumerator()
{
throw new NotImplementedException();
}
}
}
@@ -53,11 +53,15 @@ namespace StgSharp.Controls
buttonList = new List<TriggerButton>();
}
public bool IsEntity { get => false; }
public ReadOnlySpan<vec4d> TextureBox
{
get => throw new NotSupportedException();
}
public Rectangle BoundingBox { get; set; }
public TriggerButton CurrentButton
{
get => current;
@@ -65,10 +69,6 @@ namespace StgSharp.Controls
public vec2d Position { get; set; }
public Rectangle BoundingBox { get; set; }
public bool IsEntity { get => false; }
protected List<TriggerButton> AllButton
{
get => buttonList;
@@ -1,4 +1,34 @@
using StgSharp.Geometries;
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="CharacterIndexImage.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the “Software”), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using StgSharp.Geometries;
using StgSharp.Graphics;
using StgSharp.Math;
@@ -13,13 +43,24 @@ namespace StgSharp.Controls
{
public class CharacterLineIndexImage : ControllingItem
{
private int length;
private char[] displayIndex;
private char defaultChar;
Dictionary<char, PlainGeometryMesh> texIndex;
private int length;
PlainGeometryMesh _tittleMesh;
public CharacterLineIndexImage(
int length, char defaultChar, PlainGeometryMesh tittleMesh,
IEnumerable<(char, PlainGeometryMesh)> indexEnumeration)
{
this.length = length;
displayIndex = new char[length];
_tittleMesh = tittleMesh;
texIndex = indexEnumeration.ToDictionary(item => item.Item1, item => item.Item2);
}
public bool IsEntity
{
get => true;
@@ -29,8 +70,8 @@ namespace StgSharp.Controls
{
get => throw new NotSupportedException();
}
public vec2d Position { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
public Rectangle BoundingBox { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
public vec2d Position { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
public void Display(string message)
{
@@ -39,9 +80,9 @@ namespace StgSharp.Controls
message = string.Empty;
}
string result = message.Length >= length ?
message.Substring(message.Length - displayIndex.Length) :
message.PadLeft(length,defaultChar);
string result = (message.Length >= length) ?
message.Substring(message.Length - displayIndex.Length) :
message.PadLeft(length, defaultChar);
displayIndex = result.ToCharArray();
}
@@ -55,15 +96,5 @@ namespace StgSharp.Controls
}
}
public CharacterLineIndexImage(
int length, char defaultChar, PlainGeometryMesh tittleMesh,
IEnumerable<(char, PlainGeometryMesh)> indexEnumeration)
{
this.length = length;
displayIndex = new char[length];
_tittleMesh = tittleMesh;
texIndex = indexEnumeration.ToDictionary(item => item.Item1, item => item.Item2);
}
}
}
@@ -1,4 +1,34 @@
using StgSharp.Geometries;
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="ControllingIntem.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the “Software”), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using StgSharp.Geometries;
using StgSharp.Graphics;
using StgSharp.Math;
@@ -9,18 +39,20 @@ using System.Text;
namespace StgSharp.Controls
{
public interface ControllingItem: IEnumerable<PlainGeometryMesh>
public interface ControllingItem : IEnumerable<PlainGeometryMesh>
{
public abstract vec2d Position { get; set; }
public abstract Rectangle BoundingBox { get; set; }
public abstract bool IsEntity { get; }
public abstract ReadOnlySpan<vec4d> TextureBox { get; }
public abstract bool IsEntity { get; }
public abstract Rectangle BoundingBox { get; set; }
public abstract vec2d Position { get; set; }
IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator();
}
}
}
@@ -1,4 +1,34 @@
using StgSharp.Controls;
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="DecorationBox.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the “Software”), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using StgSharp.Controls;
using StgSharp.Geometries;
using StgSharp.Graphics;
using StgSharp.Math;
@@ -11,26 +41,28 @@ namespace StgSharp.Controls
{
public class DecorationBox : ControllingItem
{
private PlainGeometryMesh renderMesh;
public DecorationBox(Rectangle bound, Image texture, vec2d[] texCoord)
{
renderMesh = new PlainGeometryMesh(BoundingBox, new TextureProvider(texture, texCoord));
}
public bool IsEntity => true;
public ReadOnlySpan<vec4d> TextureBox
{
get => renderMesh.TextureCoord;
}
public Rectangle BoundingBox { get; set; }
public vec2d Position { get ; set ; }
public Rectangle BoundingBox { get ; set ; }
public bool IsEntity => true;
public vec2d Position { get; set; }
public IEnumerator<PlainGeometryMesh> GetEnumerator()
{
yield return renderMesh;
}
public DecorationBox(Rectangle bound, Image texture, vec2d[] texCoord)
{
renderMesh = new PlainGeometryMesh(BoundingBox, new TextureProvider(texture, texCoord));
}
}
}
@@ -1,7 +1,38 @@
using StgSharp.Controls;
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="MarkingLable.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the “Software”), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using StgSharp.Controls;
using StgSharp.Geometries;
using StgSharp.Graphics;
using StgSharp.Math;
using StgSharp.Timing;
using System;
using System.Collections.Generic;
@@ -12,32 +43,12 @@ namespace StgSharp.Controls
{
public class MarkingLabel : ControllingItem
{
public ReadOnlySpan<vec4d> TextureBox
{
get => marker.TextureCoord;
}
public vec2d Position { get; set; }
public Rectangle BoundingBox { get; set; }
public bool IsEntity => true;
private vec2d _currentPosition, _movementVec;
private TimeFunction _movement;
private PlainGeometryMesh marker;
public void MoveTo(vec2d target)
{
Move(target - Position);
}
private TimeFunction _movement;
public void Move(vec2d movement)
{
if (!_movement.IsComplete)
{
Position = _currentPosition + _movement.Calculate() * _movementVec;
}
}
private vec2d _currentPosition, _movementVec;
public MarkingLabel(PlainGeometryMesh marker, TimeFunction movement)
{
@@ -45,10 +56,32 @@ namespace StgSharp.Controls
_movement = movement;
}
public bool IsEntity => true;
public ReadOnlySpan<vec4d> TextureBox
{
get => marker.TextureCoord;
}
public Rectangle BoundingBox { get; set; }
public vec2d Position { get; set; }
public IEnumerator<PlainGeometryMesh> GetEnumerator()
{
yield return marker;
}
public void Move(vec2d movement)
{
if (!_movement.IsComplete)
{
Position = _currentPosition + (_movement.Calculate() * _movementVec);
}
}
public void MoveTo(vec2d target)
{
Move(target - Position);
}
}
}
@@ -40,6 +40,9 @@ using System.Text;
namespace StgSharp.Controls
{
public delegate void RenderButtonTextureCallback(ButtonStatus status, float beginTime, in TextureProvider texture);
public enum ButtonStatus
{
Error = 0b0,
@@ -57,22 +60,19 @@ namespace StgSharp.Controls
HighlightToDisable = -(Highlight | Disable),
}
public delegate void RenderButtonTextureCallback(ButtonStatus status, float beginTime, in TextureProvider texture);
public class TriggerButton : ControllingItem
{
private TextureProvider _texture;
private float _statusBeginTime;
public TriggerButton Left { get; internal set; }
public TriggerButton Right { get; internal set; }
public TriggerButton Up { get; internal set; }
public TriggerButton Down { get; internal set; }
private Action? confirmCallback;
private Action? disableCallback;
#nullable enable
private Action? enableCallback;
private Action? disableCallback;
private Action? confirmCallback;
private float _statusBeginTime;
private RenderButtonTextureCallback _renderButton;
private TextureProvider _texture;
#nullable restore
public TriggerButton()
@@ -80,11 +80,25 @@ namespace StgSharp.Controls
CurrentStatus = ButtonStatus.Disable;
}
protected ButtonStatus CurrentStatus { get; set; }
public event Action ConfirmEvent
{
add { confirmCallback += value; }
remove { confirmCallback -= value; }
}
private RenderButtonTextureCallback _renderButton;
public event Action DisableEvent
{
add { disableCallback += value; }
remove { disableCallback -= value; }
}
public event RenderButtonTextureCallback RenderButtonTexture
public event Action EnableEvent
{
add { enableCallback += value; }
remove { enableCallback -= value; }
}
public event RenderButtonTextureCallback RenderButtonTexture
{
add
{
@@ -97,7 +111,7 @@ namespace StgSharp.Controls
_renderButton += value;
}
}
remove
remove
{
if (_renderButton != null)
{
@@ -106,48 +120,51 @@ namespace StgSharp.Controls
}
}
public bool IsHighLighted { get; internal set; }
public bool IsDisabled { get; internal set; }
public bool IsEntity => true;
public ReadOnlySpan<vec4d> TextureBox
{
get => MemoryMarshal.Cast<vec2d, vec4d>(_texture.TextureCoordinate);
}
public Rectangle BoundingBox { get; set; }
public TriggerButton Left { get; internal set; }
public TriggerButton Right { get; internal set; }
public TriggerButton Up { get; internal set; }
public TriggerButton Down { get; internal set; }
public vec2d Position { get; set; }
internal TextureProvider Texture
{
get => _texture;
set => _texture = value;
}
public ReadOnlySpan<vec4d> TextureBox
protected ButtonStatus CurrentStatus { get; set; }
public void DeHighlight()
{
get => MemoryMarshal.Cast<vec2d, vec4d>(_texture.TextureCoordinate);
}
public bool IsHighLighted { get; internal set; }
public bool IsDisabled { get; internal set; }
public vec2d Position { get; set; }
public Rectangle BoundingBox { get; set; }
public bool IsEntity => true;
public event Action EnableEvent
{
add { enableCallback += value; }
remove { enableCallback -= value; }
}
public event Action DisableEvent
{
add { disableCallback += value; }
remove { disableCallback -= value; }
}
public event Action ConfirmEvent
{
add { confirmCallback += value; }
remove { confirmCallback -= value; }
}
internal void Init( ButtonStatus status )
{
if (CurrentStatus == ButtonStatus.Error)
if (CurrentStatus == ButtonStatus.Highlight)
{
CurrentStatus = status;
CurrentStatus = ButtonStatus.HighlightToEnable;
}
}
public void Disable()
{
CurrentStatus = CurrentStatus switch
{
ButtonStatus.Enable => ButtonStatus.EnableToDisable,
ButtonStatus.Highlight => ButtonStatus.HighlightToDisable,
_ => CurrentStatus,
};
if (disableCallback != null)
{
disableCallback();
}
}
@@ -161,18 +178,16 @@ namespace StgSharp.Controls
{
return;
}
if ( enableCallback != null)enableCallback();
if (enableCallback != null)
{
enableCallback();
}
}
public void Disable()
public IEnumerator<PlainGeometryMesh> GetEnumerator()
{
CurrentStatus = CurrentStatus switch
{
ButtonStatus.Enable => ButtonStatus.EnableToDisable,
ButtonStatus.Highlight => ButtonStatus.HighlightToDisable,
_ => CurrentStatus,
};
if (disableCallback != null) disableCallback();
_renderButton(CurrentStatus, _statusBeginTime, in _texture);
yield return new PlainGeometryMesh(this.BoundingBox, _texture);
}
public void Highlight()
@@ -185,21 +200,18 @@ namespace StgSharp.Controls
{
return;
}
if (confirmCallback != null) confirmCallback();
}
public void DeHighlight()
{
if (CurrentStatus == ButtonStatus.Highlight)
if (confirmCallback != null)
{
CurrentStatus = ButtonStatus.HighlightToEnable;
confirmCallback();
}
}
public IEnumerator<PlainGeometryMesh> GetEnumerator()
internal void Init(ButtonStatus status)
{
_renderButton(CurrentStatus,_statusBeginTime, in _texture);
yield return new PlainGeometryMesh(this.BoundingBox, _texture);
if (CurrentStatus == ButtonStatus.Error)
{
CurrentStatus = status;
}
}
}//----------------------------------- End of class --------------------------------------------
@@ -1,72 +0,0 @@
using StgSharp.Geometries;
using StgSharp.Graphics;
using StgSharp.Controls;
using StgSharp.Controlling.UsrActivity;
using StgSharp.Math;
using System;
using System.Collections.Generic;
using System.Net;
using System.Text;
namespace StgSharp.Graphics
{
public class ViewPortDesigner
{
private KeyboardButtonGroup currentButtonGroup;
private List<ControllingItem> _controlList;
public ViewPortDesigner()
{
_controlList = new List<ControllingItem>();
}
public KeyboardButtonGroup CreateKeyboardButtonGroup(
ITrigger leftBidning,
ITrigger rightBinding,
ITrigger upBinding,
ITrigger downBinding,
ITrigger confirmBinding
)
{
var ret = new KeyboardButtonGroup();
_controlList.Add(ret);
currentButtonGroup = ret;
return ret;
}
public TriggerButton CreateKeyboardButton(
Rectangle bonding, AnimationBuilder defaultAnimation, bool isEnable
)
{
var ret = new TriggerButton();
ret.BoundingBox = bonding;
if (isEnable)
{
ret.IsDisabled = false;
ret.Enable(defaultAnimation);
}
else
{
ret.IsDisabled = true;
ret.Disable(defaultAnimation);
}
currentButtonGroup.AddButton(ret);
return ret;
}
public CharacterLineIndexImage CreateCharacterLine(
int length, char blankFilling, PlainGeometryMesh tittle, IEnumerable<(char,PlainGeometryMesh)> charList
)
{
var ret = new CharacterLineIndexImage(length, blankFilling,tittle,charList);
_controlList.Add(ret);
return ret;
}
}//---------------------------------- End of Class -----------------------------------------
}
+24 -21
View File
@@ -78,6 +78,30 @@ namespace StgSharp.Graphics
[StructLayout(LayoutKind.Sequential)]
public struct OpenglContext
{
public override bool Equals(object obj)
{
return false;
}
public override unsafe int GetHashCode()
{
fixed (OpenglContext* sptr = &this)
{
return sptr->GetHashCode();
}
}
public static bool operator !=(OpenglContext left, OpenglContext right)
{
return !(left == right);
}
public static bool operator ==(OpenglContext left, OpenglContext right)
{
return left.Equals(right);
}
#region glapi
internal unsafe delegate*<uint, GLfixed, void> glAccumxOES;
@@ -2615,27 +2639,6 @@ namespace StgSharp.Graphics
#endregion glapi
public override bool Equals(object obj)
{
return false;
}
public unsafe override int GetHashCode()
{
fixed (OpenglContext* sptr = &this)
{
return sptr->GetHashCode();
}
}
public static bool operator ==(OpenglContext left, OpenglContext right)
{
return left.Equals(right);
}
public static bool operator !=(OpenglContext left, OpenglContext right)
{
return !(left == right);
}
}
}
@@ -53,9 +53,10 @@ namespace StgSharp
InfoError,
InfoWarning,
}
internal static unsafe partial class InternalIO
{
internal const string SS_errorLog =
"SS_errorlog.log";
@@ -65,13 +66,13 @@ namespace StgSharp
internal static Dictionary<TypeCode, uint> GLtype =
new Dictionary<TypeCode, uint>();
internal static SemaphoreSlim logSyncSemaphore = new SemaphoreSlim(1, 1);
internal static readonly GCHandle ssc_logHandle =
GCHandle.Alloc(new byte[512], GCHandleType.Pinned);
internal static IntPtr SSClibPtr = IntPtr.Zero;
internal static SemaphoreSlim logSyncSemaphore = new SemaphoreSlim(1, 1);
static InternalIO()
{
GLtype.Add(TypeCode.Single, GLconst.FLOAT);
@@ -1,4 +1,34 @@
using System;
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="KeyEventAttribute.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the “Software”), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@@ -6,14 +36,15 @@ using System.Threading.Tasks;
namespace StgSharp
{
[AttributeUsage( AttributeTargets.Method)]
public class KeyEventAttribute:Attribute
[AttributeUsage(AttributeTargets.Method)]
public class KeyEventAttribute : Attribute
{
internal int _keyTarget;
internal int _equipment;
internal int _keyStat;
internal int _keyTarget;
public KeyEventAttribute(KeyboardKey key ,KeyStatus status)
public KeyEventAttribute(KeyboardKey key, KeyStatus status)
{
_equipment = (int)InputEquipment.Keyboard;
_keyTarget = (int)key;
@@ -1,4 +1,34 @@
using System;
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="ITrigger.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the “Software”), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Text;
@@ -6,7 +36,9 @@ namespace StgSharp.Controlling.UsrActivity
{
public interface ITrigger
{
public int TargetKeyOrButtonID { get; }
public KeyStatus TriggeredStatus { get; }
}
}
@@ -1,4 +1,34 @@
using System;
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="JoystickTrigger.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the “Software”), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Text;
@@ -6,28 +36,18 @@ namespace StgSharp.Controlling.UsrActivity
{
public struct JoystickTrigger : ITrigger, IEquatable<JoystickTrigger>
{
public Joystick Stick;
private KeyStatus _triggeredStat;
public int TargetKeyOrButtonID => (int)Stick;
public KeyStatus TriggeredStatus => _triggeredStat;
public Joystick Stick;
public JoystickTrigger(Joystick targetKey)
{
this.Stick = targetKey;
}
public static bool operator ==(JoystickTrigger left, JoystickTrigger right)
{
return left._triggeredStat == right._triggeredStat && left.Stick == right.Stick;
}
public int TargetKeyOrButtonID => (int)Stick;
public static bool operator !=(JoystickTrigger left, JoystickTrigger right)
{
return !(left == right);
}
public KeyStatus TriggeredStatus => _triggeredStat;
public override bool Equals(object obj)
{
@@ -36,7 +56,7 @@ namespace StgSharp.Controlling.UsrActivity
public override int GetHashCode()
{
return (int)Stick + 17 * (int)_triggeredStat;
return ((int)Stick) + (17 * ((int)_triggeredStat));
}
public override string ToString()
@@ -44,9 +64,20 @@ namespace StgSharp.Controlling.UsrActivity
return $"Key {Stick} triggered when {_triggeredStat}";
}
public static bool operator !=(JoystickTrigger left, JoystickTrigger right)
{
return !(left == right);
}
public static bool operator ==(JoystickTrigger left, JoystickTrigger right)
{
return (left._triggeredStat == right._triggeredStat) && (left.Stick == right.Stick);
}
bool IEquatable<JoystickTrigger>.Equals(JoystickTrigger other)
{
return other == this;
}
}
}
@@ -1,4 +1,34 @@
using System;
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="KeyTrigger.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the “Software”), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Data.Common;
using System.Text;
@@ -6,30 +36,21 @@ using System.Text;
namespace StgSharp.Controlling.UsrActivity
{
public struct KeyTrigger: ITrigger,IEquatable<KeyTrigger>
public struct KeyTrigger : ITrigger, IEquatable<KeyTrigger>
{
private KeyboardKey _targetKey;
private KeyStatus _triggerStat;
public int TargetKeyOrButtonID => (int)_targetKey;
public KeyStatus TriggeredStatus => _triggerStat;
public KeyTrigger(KeyboardKey targetKey, KeyStatus targetStat)
public KeyTrigger(KeyboardKey targetKey, KeyStatus targetStat)
{
this._targetKey = targetKey;
this._triggerStat = targetStat;
}
public static bool operator ==(KeyTrigger left, KeyTrigger right)
{
return left._triggerStat == right._triggerStat && left._targetKey == right._targetKey;
}
public int TargetKeyOrButtonID => (int)_targetKey;
public static bool operator !=(KeyTrigger left, KeyTrigger right)
{
return !(left == right);
}
public KeyStatus TriggeredStatus => _triggerStat;
public override bool Equals(object obj)
{
@@ -38,7 +59,7 @@ namespace StgSharp.Controlling.UsrActivity
public override int GetHashCode()
{
return (int)_targetKey + 17 * (int)_triggerStat;
return ((int)_targetKey) + (17 * ((int)_triggerStat));
}
public override string ToString()
@@ -46,9 +67,20 @@ namespace StgSharp.Controlling.UsrActivity
return $"Key {_targetKey} triggered when {_triggerStat}";
}
public static bool operator !=(KeyTrigger left, KeyTrigger right)
{
return !(left == right);
}
public static bool operator ==(KeyTrigger left, KeyTrigger right)
{
return (left._triggerStat == right._triggerStat) && (left._targetKey == right._targetKey);
}
bool IEquatable<KeyTrigger>.Equals(KeyTrigger other)
{
return other == this;
}
}
}
@@ -1,92 +0,0 @@
using StgSharp.Geometries;
using StgSharp.Graphics;
using StgSharp.Controls;
using StgSharp.Controlling.UsrActivity;
using StgSharp.Math;
using System;
using System.Collections.Generic;
using System.Net;
using System.Text;
namespace StgSharp.Graphics
{
/// <summary>
/// ViewDesigner provides descriptions of various controls in the view,
/// binds the controls to specific user actions and behaviors,
/// and describes the layout and interactions of each control.
/// </summary>
public abstract class ViewDesigner<TView> where TView:View
{
protected TView _binding;
private KeyboardButtonGroup currentButtonGroup;
private List<ControllingItem> _controlList;
public ViewDesigner()
{
_controlList = new List<ControllingItem>();
}
protected TView Binding
{
get => _binding;
}
public TButtonGroup CreateKeyboardButtonGroup<TButtonGroup>(
ITrigger leftBidning,
ITrigger rightBinding,
ITrigger upBinding,
ITrigger downBinding,
ITrigger confirmBinding
)
where TButtonGroup : KeyboardButtonGroup,new()
{
var ret = new TButtonGroup();
_controlList.Add(ret);
currentButtonGroup = ret;
_binding.Responder[leftBidning] = ret.MoveLeft;
_binding.Responder[rightBinding] = ret.MoveRight;
_binding.Responder[upBinding] = ret.MoveUp;
_binding.Responder[downBinding] = ret.MoveDown;
_binding.Responder[confirmBinding] = ret.Confirm;
return ret;
}
public TriggerButton CreateKeyboardButton(
Rectangle bonding, TextureProvider defaultAnimation, bool isEnable
)
{
var ret = new TriggerButton();
ret.BoundingBox = bonding;
if (isEnable)
{
ret.IsDisabled = false;
ret.Enable();
}
else
{
ret.IsDisabled = true;
ret.Disable();
}
currentButtonGroup.AddButton(ret);
return ret;
}
public CharacterLineIndexImage CreateCharacterLine(
int length, char blankFilling, PlainGeometryMesh tittle, IEnumerable<(char,PlainGeometryMesh)> charList
)
{
var ret = new CharacterLineIndexImage(length, blankFilling,tittle,charList);
_controlList.Add(ret);
return ret;
}
public abstract void CustomizedInitialize();
public abstract bool ValidateInitializing();
}//---------------------------------- End of Class -----------------------------------------
}
@@ -1,92 +0,0 @@
using StgSharp.Controlling.UsrActivity;
using StgSharp.Graphics;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StgSharp
{
public abstract class ViewResponder<TView> where TView: View
{
private View _viewbinding;
private Dictionary<ITrigger, Action> keyCallbackIndex;
private Dictionary<string, Action> nameToCallbackMap;
private bool _isInitialized;
protected ViewResponder()
{
keyCallbackIndex = new Dictionary<ITrigger, Action>();
nameToCallbackMap = new Dictionary<string, Action>();
}
internal void ProcessUserInput()
{
foreach (var pair in keyCallbackIndex)
{
ITrigger t = pair.Key;
if (InternalIO.glfwGetKey(_viewbinding.ViewHandle, t.TargetKeyOrButtonID) == t.TriggeredStatus)
{
pair.Value();
}
}
}
public Action this[ITrigger trigger]
{
get => keyCallbackIndex.TryGetValue(trigger, out Action callback) ? callback : null;
set
{
if (keyCallbackIndex.TryGetValue(trigger, out Action callback))
{
callback += value;
}
else
{
keyCallbackIndex.Add(trigger, value);
}
}
}
internal void Init(Func<string, Action> keyGetter)
{
if (_isInitialized)
{
return;
}
CustomizedInitialize(
(trigger, name) =>
{
if (!nameToCallbackMap.TryGetValue(name, out Action ret))
{
ret = keyGetter.Invoke(name)??
throw new InvalidOperationException($"Cannot find method named {name} in binded view model");
}
this[trigger] = ret;
return ret;
}
);
}
public void ProcessInput()
{
foreach (var pair in keyCallbackIndex)
{
if (InternalIO.glfwGetKey(_viewbinding.ViewHandle,(int)pair.Key.TargetKeyOrButtonID) == pair.Key.TriggeredStatus)
{
pair.Value();
}
}
}
public abstract void CustomizedInitialize(Func<ITrigger, string, Action> keyRegister);
public abstract bool ValidateInitializing();
}
}
+33 -3
View File
@@ -1,4 +1,34 @@
using StgSharp.Data;
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="root.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the “Software”), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using StgSharp.Data;
using System;
using System.Collections.Generic;
@@ -10,10 +40,10 @@ namespace StgSharp
{
public static unsafe partial class StgSharp
{
private static SSD defaultIdProvider = new SSD();
private static List<Area> root = new List<Area>();
private static byte leastUnusedArea;
private static List<Area> root = new List<Area>();
private static SSD defaultIdProvider = new SSD();
public static byte NewArea()
{
+92 -3
View File
@@ -1,4 +1,34 @@
using StgSharp;
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="InternalData.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the “Software”), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using StgSharp;
using System;
using System.Collections.Generic;
@@ -8,7 +38,66 @@ namespace StgSharp
{
internal partial class InternalIO
{
internal const string CollisionTextureVertexShader ="#version 430 core\r\n\r\nlayout(location = 0) in vec2 localCollisionCoord;\r\nlayout(location = 1) in vec2 spaceCoord;\r\nlayout(location = 2) in float rotation;\r\nlayout(location = 3) in float scaling;\r\n\r\nuniform vec2 target;\r\nuniform mat2 projection;\r\n\r\nvoid main()\r\n{\r\n mat2 scaling = mat2(\r\n scaling,0,\r\n 0,scaling\r\n );\r\n mat2 rotation = mat2(\r\n cos(rotation),-sin(rotation),\r\n sin(rotation),cos(rotation) \r\n );\r\n vec2 realCoord = (rotation * scaling * localCollisionCoord) + spaceCoord - target;\r\n realCoord = projection * realCoord;\r\n\r\n float dist = distance(realCoord, vec2(0,0));\r\n float angle = atan(realCoord.y, realCoord.x);\r\n \r\n gl_Position = vec4(angle, realCoord.y, dist, 1);\r\n}";
internal const string CollisionTextureFragmentShader = "#version 430 core\r\n\r\nout vec4 Color;\r\n\r\nuniform float range;\r\n\r\nvoid main()\r\n{\r\n float dist = gl_FragCoord.z;\r\n\r\n if(dist > range)\r\n {\r\n discard;\r\n }\r\n dist /= range;\r\n gl_FragDepth = min(dist, gl_FragDepth);\r\n\r\n Color = vec4(dist,0,0,1);\r\n}";
#region ControllingItemRender
internal const string ControlItemRenderVertexShader = """
""";
#endregion
#region CollisionTexture
internal const string CollisionTextureVertexShader = """
#version 430 core
layout(location = 0) in vec2 localCollisionCoord;
layout(location = 1) in vec2 spaceCoord;
layout(location = 2) in float rotation;
layout(location = 3) in float scaling;
uniform vec2 target;
uniform mat2 projection;
void main()
{
mat2 scaling = mat2(
scaling,0,
0,scaling );
mat2 rotation = mat2(
cos(rotation),-sin(rotation),
sin(rotation),cos(rotation) );
vec2 realCoord = (rotation * scaling * localCollisionCoord) + spaceCoord - target;
realCoord = projection * realCoord;
float dist = distance(realCoord, vec2(0,0));
float angle = atan(realCoord.y, realCoord.x);
gl_Position = vec4(angle, realCoord.y, dist, 1);
}
""";
internal const string CollisionTextureFragmentShader = """
#version 430 core
out vec4 Color;
uniform float range;
void main()
{
float dist = gl_FragCoord.z;
if(dist > range)
{
discard;
}
dist /= range;
gl_FragDepth = min(dist, gl_FragDepth);
Color = vec4(dist,0,0,1);
}
""";
#endregion
}
}
+29 -2
View File
@@ -32,6 +32,7 @@ using StgSharp.Math;
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
@@ -43,8 +44,9 @@ using System.Text;
namespace StgSharp.Data
{
[StructLayout(LayoutKind.Explicit, Pack = 16)]
public unsafe struct M128:IMemoryType
public unsafe struct M128 : IMemoryType
{
[FieldOffset(0)] internal Vector4 vec;
internal M128(Vector4 v)
@@ -52,6 +54,20 @@ namespace StgSharp.Data
vec = v;
}
public override bool Equals([NotNullWhen(true)] object obj)
{
if (obj is not M128 other)
{
return false;
}
return this == other;
}
public override int GetHashCode()
{
return vec.GetHashCode();
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public T Read<T>(int index) where T : struct
#if NET8_0_OR_GREATER
@@ -89,7 +105,7 @@ namespace StgSharp.Data
#if NET8_0_OR_GREATER
, INumber
#else
,IConvertible
, IConvertible
#endif
{
fixed (Vector4* p = &vec)
@@ -100,7 +116,17 @@ namespace StgSharp.Data
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static bool operator ==(M128 left, M128 right)
{
return left.vec == right.vec;
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static bool operator !=(M128 left, M128 right)
{
return left.vec != right.vec;
}
#if NET5_0_OR_GREATER
@@ -165,5 +191,6 @@ namespace StgSharp.Data
}
#endif
}
}
+34 -2
View File
@@ -1,4 +1,34 @@
using StgSharp.Data;
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="M256.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the “Software”), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using StgSharp.Data;
using System;
using System.Collections.Generic;
@@ -12,8 +42,9 @@ namespace StgSharp.Math.HighPrecession
{
[StructLayout(LayoutKind.Sequential)]
public unsafe struct M256:IMemoryType
public unsafe struct M256 : IMemoryType
{
private M128 v0;
private M128 v1;
@@ -33,5 +64,6 @@ namespace StgSharp.Math.HighPrecession
*(((T*)mptr) + index) = value;
}
}
}
}
+60 -29
View File
@@ -1,4 +1,34 @@
using StgSharp.Data;
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="RandomGenerator.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the “Software”), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using StgSharp.Data;
using System;
using System.IO;
@@ -14,15 +44,16 @@ namespace StgSharp.Data
public class RandomGenerator
{
private byte[] currentKey;
private readonly byte[] originKey;
private byte[] currentKey;
private int cycleCount;
private SHA512 hash;
public RandomGenerator():this(DateTime.UtcNow.ToBinary())
public RandomGenerator() : this(DateTime.UtcNow.ToBinary())
{
}
public RandomGenerator(object source)
@@ -77,28 +108,38 @@ namespace StgSharp.Data
return source.Read<int>(cycleCount % 4);
}
public byte GenRandomInt8()
{
cycleCount++;
if (cycleCount % 64 == 0)
{
PrivateRand();
}
return currentKey[cycleCount % 64];
}
public float GenRandomSingle()
{
cycleCount++;
while (true)
{
M128 source = PrivateRand();
uint
temp0 = source.Read<uint>(0),
temp1 = source.Read<uint>(2);
if (temp0 * temp1 != 0)
{
float ret = (temp0 % temp1) * 1.0f / temp1;
float ret = ((temp0 % temp1) * 1.0f) / temp1;
if (ret < 0.335f)
{
ret = ret * (ret * -0.7811934f + 1.4489113f);
ret = ret * ((ret * (-0.7811934f)) + 1.4489113f);
}
else
else
{
ret = ret * (ret * -0.1158368f + 1.0580600f) + 0.0590584f;
ret = (ret * ((ret * (-0.1158368f)) + 1.0580600f)) + 0.0590584f;
}
if (ret > 1)
{
@@ -111,14 +152,11 @@ namespace StgSharp.Data
}
public byte GenRandomInt8()
public void Reset()
{
cycleCount++;
if (cycleCount % 64 == 0)
{
PrivateRand();
}
return (byte)(currentKey[ cycleCount % 64 ]);
currentKey = originKey;
cycleCount = 0;
}
private unsafe M128 PrivateRand()
@@ -127,16 +165,16 @@ namespace StgSharp.Data
M128 ret;
fixed (byte* bptr = currentKey)
{
switch ((cycleCount % 16) / 4)
switch ((cycleCount % 16) / 4)
{
case 0:
ret= *((M128*)bptr + 0);break;
ret = *(((M128*)bptr) + 0); break;
case 1:
ret= *((M128*)bptr + 1);break;
ret = *(((M128*)bptr) + 1); break;
case 2:
ret= *((M128*)bptr + 2);break;
ret = *(((M128*)bptr) + 2); break;
case 3:
ret= *((M128*)bptr + 3);break;
ret = *(((M128*)bptr) + 3); break;
default:
throw new InvalidOperationException();
}
@@ -145,12 +183,5 @@ namespace StgSharp.Data
return ret;
}
public void Reset()
{
currentKey = originKey;
cycleCount = 0;
}
}
}
+32 -2
View File
@@ -1,4 +1,34 @@
using StgSharp.Data.FileIO;
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="Area.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the “Software”), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using StgSharp.Data.FileIO;
using System;
using System.Collections.Generic;
@@ -15,6 +45,6 @@ namespace StgSharp.Data
/// </summary>
public partial class Area
{
}
}
+6 -6
View File
@@ -43,19 +43,19 @@ namespace StgSharp.Data
public struct SSDSegmentHead
{
[FieldOffset(12)] internal byte size;
[FieldOffset(0)] internal M128 data;
[FieldOffset(13)] public byte selfDefine_1;
[FieldOffset(14)] public byte selfDefine_2;
[FieldOffset(15)] public byte selfDefine_3;
[FieldOffset(0)] public int globalID;
[FieldOffset(4)] public int nextID;
[FieldOffset(8)] public int previousHash;
[FieldOffset(12)] internal byte size;
[FieldOffset(13)] public byte selfDefine_1;
[FieldOffset(14)] public byte selfDefine_2;
[FieldOffset(15)] public byte selfDefine_3;
public int Size
{
get => ((int)size) + 1;
+18 -18
View File
@@ -54,24 +54,6 @@ namespace StgSharp.Data
this.PreviousHash = previousHash;
}
public static SSDSegment FromStream(byte[] stream)
{
if (stream.Length != 16 * StgSharp.ssdSegmentLength)
{
throw new ArgumentException();
}
SSDSegment ret = new SSDSegment();
fixed (byte* bptr = stream)
{
ret.Head.data = *(M128*)bptr;
for (int i = 1; i < StgSharp.ssdSegmentLength; i++)
{
ret.WriteData<M128>(i - 1, *(M128*)(bptr + 16 * i));
}
}
return ret;
}
public byte this[int index]
{
get
@@ -113,6 +95,24 @@ namespace StgSharp.Data
}
}
public static SSDSegment FromStream(byte[] stream)
{
if (stream.Length != 16 * StgSharp.ssdSegmentLength)
{
throw new ArgumentException();
}
SSDSegment ret = new SSDSegment();
fixed (byte* bptr = stream)
{
ret.Head.data = *(M128*)bptr;
for (int i = 1; i < StgSharp.ssdSegmentLength; i++)
{
ret.WriteData<M128>(i - 1, *(M128*)(bptr + (16 * i)));
}
}
return ret;
}
public byte[] GetBytes()
{
byte[] ret = new byte[16 * StgSharp.ssdSegmentLength];
+2 -2
View File
@@ -39,11 +39,11 @@ namespace StgSharp.Data
{
public partial class SSD
{
private SSDrawHead head;
private Dictionary<string, SSDraw> fileList;
private FileStream file;
private SSDrawHead head;
public SSD()
{
@@ -39,9 +39,10 @@ namespace StgSharp.Data
{
public class SSDFolder : ISSDSerializable
{
internal Dictionary<string, SSDFolder> folders;
internal int _folderID;
internal string _name;
internal Dictionary<string, SSDFolder> folders;
internal SSDFolder()
{
@@ -68,6 +69,11 @@ namespace StgSharp.Data
public SerializableTypeCode SSDTypeCode => SerializableTypeCode.VirtualFolder;
public void FromBytes(byte[] stream)
{
throw new NotImplementedException();
}
//TODO 虚拟文件夹的GetBytes好难写
public byte[] GetBytes()
@@ -75,10 +81,5 @@ namespace StgSharp.Data
throw new NotImplementedException();
}
public void FromBytes(byte[] stream)
{
throw new NotImplementedException();
}
}
}
+3 -1
View File
@@ -47,6 +47,7 @@ namespace StgSharp.Data.FileIO
{
public class SSDraw
{
private byte[] data;
public SSDraw(string name, Stream streamSource)
@@ -62,13 +63,14 @@ namespace StgSharp.Data.FileIO
public SSDrawHead Head { get; set; }
public string Name { get; set; }
}
[StructLayout(LayoutKind.Explicit, Size = 32 * 16)]
public unsafe struct SSDrawHead
{
}
@@ -1,4 +1,34 @@
using System;
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="ISSDSerializable.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the “Software”), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@@ -9,11 +39,13 @@ namespace StgSharp.Data
public interface ISSDSerializable
{
public SerializableTypeCode SSDTypeCode { get; }
public byte[] GetBytes();
internal void FromBytes(byte[] stream);
}
public enum SerializableTypeCode
@@ -31,14 +63,10 @@ namespace StgSharp.Data
public static partial class Serializer
{
public static byte[] Serialize(ISSDSerializable serializableObject)
{
return serializableObject.GetBytes();
}
public static T Deserialize<T>(byte[] stream)where T : ISSDSerializable
public static T Deserialize<T>(byte[] stream) where T : ISSDSerializable
{
T serializableObject = (T)Activator.CreateInstance<T>();
T serializableObject = Activator.CreateInstance<T>();
serializableObject.FromBytes(stream);
return serializableObject;
}
@@ -67,5 +95,10 @@ namespace StgSharp.Data
throw new ArgumentException("Unknown file type");
}
}
public static byte[] Serialize(ISSDSerializable serializableObject)
{
return serializableObject.GetBytes();
}
}
}
+2 -2
View File
@@ -39,13 +39,13 @@ namespace StgSharp.Entities
{
internal Launcher<EntityPartical> _awardLauncher;
internal LinkedList<Launcher<EntityPartical>> _commonBulletLauncher;
internal Launcher<EntityPartical> _dieBulletLauncher;
internal LinkedList<Launcher<EntityPartical>> _commonBulletLauncher;
public bool _selectalbe;
public Launcher<EntityPartical> AwardLauncher { get; set; }
public LinkedList<Launcher<EntityPartical>> CommonBulletLauncher { get; set; }
public Launcher<EntityPartical> DieBulletLauncher { get; set; }
public LinkedList<Launcher<EntityPartical>> CommonBulletLauncher { get; set; }
public virtual void OnRender()
{
+15 -15
View File
@@ -40,14 +40,24 @@ namespace StgSharp
{
protected uint _bornTick;
internal Point _basePoint;
internal Func<int, vec3d> _movHandler;
internal LinkedList<PlainGeometry> _collisionBox;
internal Sensor<PlainGeometry> _collisionSensor;
internal Func<int,vec3d> _movHandler;
internal Point _basePoint;
internal Point _pos;
internal Point _position;
internal Sensor<PlainGeometry> _collisionSensor;
internal string _texture;
/// <summary>
/// X position of an enenmy entity
/// </summary>
public float X { get; set; }
/// <summary>
/// Y position of an enemy entity
/// </summary>
public float Y { get; set; }
public LinkedList<PlainGeometry> CollisionBox
{
get => _collisionBox;
@@ -63,23 +73,13 @@ namespace StgSharp
set => _collisionSensor = value;
}
public string TextureGL { get; set; }
/// <summary>
/// A 2D vector presenting the position of an enemy entity, position can also be visited by X, Y
/// </summary>
public vec2d Location { get; }
public string TextureGL { get; set; }
/// <summary>
/// X position of an enenmy entity
/// </summary>
public float X { get; set; }
/// <summary>
/// Y position of an enemy entity
/// </summary>
public float Y { get; set; }
public abstract void OnRenderFrame();
public void SetLocation(Point p)
+3 -2
View File
@@ -36,14 +36,15 @@ namespace StgSharp
public class Launcher<T> where T : IEntity
{
internal uint[] launchtick; //发射子弹的内部计时
internal Counter<int> _internalParameter; //发射器的内部计时器
internal EntityPartical _bulletSample; //发射的子弹类型
/*
*用于发射其他的实体,主要是子弹 和 掉落物
*/
internal vec2d _center; //发射器的参考位置,运动轨迹的方程应当基于这个参考点构建
internal Counter<int> _internalParameter; //发射器的内部计时器
internal uint[] launchtick; //发射子弹的内部计时
public EntityPartical Bullet
{
+35 -3
View File
@@ -1,4 +1,34 @@
using System;
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="ErrorDefine.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the “Software”), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@@ -8,10 +38,12 @@ namespace StgSharp
{
public class UniformEmptyReferenceException : Exception
{
public UniformEmptyReferenceException(string program, string name):
public UniformEmptyReferenceException(string program, string name) :
base($"Location -1 returned when trying to find uniform {name} in shader program {program}")
{
}
}
}
@@ -41,19 +41,13 @@ namespace StgSharp
{
public static unsafe partial class StgSharp
{
private static int _mainThreadID = -1;
internal const int ssdSegmentLength = 16;
static byte[] _currentHash;
private static bool _inited;
internal const int ssdSegmentLength = 16;
public static int MainThreadID
{
get => _mainThreadID == -1 ?
throw new InvalidOperationException("StgSharp environment is not inited. " +
"Main thread id is not available") :_mainThreadID;
}
private static int _mainThreadID = -1;
public static byte[] CurrentAssemblyHash
{
@@ -73,6 +67,13 @@ namespace StgSharp
}
}
public static int MainThreadID
{
get => (_mainThreadID == -1) ?
throw new InvalidOperationException("StgSharp environment is not inited. " +
"Main thread id is not available") : _mainThreadID;
}
/// <summary>
/// CustomizeInit an instance of OpenGL program,
/// This method should be called before any other StgSharp api.
@@ -104,6 +105,8 @@ namespace StgSharp
vsyncActivated = value;
}
}
}
}//-------------------------------------- End of Class ---------------------------------------//
}
+37 -8
View File
@@ -1,4 +1,34 @@
using StgSharp.Graphics;
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="Monitors.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the “Software”), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using StgSharp.Graphics;
using System;
using System.Collections.Generic;
@@ -11,18 +41,19 @@ namespace StgSharp
{
public static partial class StgSharp
{
private unsafe static IntPtr[] monitorsArray;
private static unsafe IntPtr[] monitorsArray;
public static unsafe IntPtr[] MonitorsHandleArray
{
get
get
{
if (monitorsArray == null)
{
int count = 0;
IntPtr* arrayhandle = InternalIO.glfwGetMonitors(&count);
monitorsArray = new IntPtr[count];
Marshal.Copy((IntPtr)arrayhandle,monitorsArray,0,count);
Marshal.Copy((IntPtr)arrayhandle, monitorsArray, 0, count);
Marshal.FreeHGlobal((IntPtr)arrayhandle);
}
return monitorsArray;
@@ -31,11 +62,9 @@ namespace StgSharp
public static IntPtr DefaultMonitor
{
get
{
return MonitorsHandleArray[0];
}
get { return MonitorsHandleArray[0]; }
}
}
+7 -6
View File
@@ -75,8 +75,9 @@ namespace StgSharp
/// </summary>
public const long version = 430;
private static uint markCount = 0;
private static bool vsyncActivated;
private static uint markCount = 0;
internal static GraphicAPI API = default;
public static void Init()
@@ -96,6 +97,11 @@ namespace StgSharp
InternalIO.InternalWriteLog(ex.Message, LogType.Error);
}
public static void LogInfo(string log)
{
InternalIO.InternalWriteLog(log, LogType.Info);
}
public static void LogWarning(string log)
{
InternalIO.InternalWriteLog(log, LogType.Warning);
@@ -105,11 +111,6 @@ namespace StgSharp
InternalIO.InternalWriteLog(notVerySeriesException.Message, LogType.Warning);
}
public static void LogInfo(string log)
{
InternalIO.InternalWriteLog(log, LogType.Info);
}
public static void Mark(bool needConsole)
{
markCount++;
+13 -10
View File
@@ -28,7 +28,9 @@
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using StgSharp.Logic;
using StgSharp.Timing;
using System;
using System.Collections.Generic;
@@ -50,9 +52,10 @@ namespace StgSharp
public sealed class StgSharpTime : TimeSourceProviderBase
{
private static List<TimeSpanProvider> subscriberList = new List<TimeSpanProvider>();
private static long accuracy;
private static Stopwatch mainProvider = new Stopwatch();
private static List<TimeSpanProvider> subscriberList = new List<TimeSpanProvider>();
private static Thread timeProvideThread;
internal StgSharpTime()
@@ -90,6 +93,14 @@ namespace StgSharp
timeProvideThread.Start();
}
public override void StopProvidingTime()
{
lock (mainProvider)
{
mainProvider.Stop();
}
}
public void Terminate()
{
lock (mainProvider)
@@ -109,14 +120,6 @@ namespace StgSharp
subscriberList.Remove(subscriber);
}
public override void StopProvidingTime()
{
lock (mainProvider)
{
mainProvider.Stop();
}
}
private void ProvideTime()
{
long totalMS, internalFrequncy = Stopwatch.Frequency;
@@ -1,4 +1,34 @@
using System;
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="globalKeyStat.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the “Software”), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
@@ -10,7 +40,8 @@ namespace StgSharp
public static partial class StgSharp
{
private static ConcurrentDictionary<int, KeyStatus> keyListener
private static ConcurrentDictionary<int, KeyStatus> keyListener
= new ConcurrentDictionary<int, KeyStatus>();
public static KeyStatus CheckKey(KeyboardKey key)
@@ -1,4 +1,34 @@
using StgSharp.Math;
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="CoordinationBase.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the “Software”), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using StgSharp.Math;
using System;
using System.Collections.Generic;
@@ -10,9 +40,10 @@ namespace StgSharp.Geometries
{
public abstract class CoordinationBase
{
private bool globalCoordAvailable;
private CoordinationBase localCoordination;
private Matrix44 coordMat;
private bool globalCoordAvailable;
public CoordinationBase(
@@ -24,7 +55,7 @@ namespace StgSharp.Geometries
public virtual Point LocalOrigin
{
get => new Point( coordMat.colum3.XYZ);
get => new Point(coordMat.colum3.XYZ);
internal set => coordMat.colum3.XYZ = value.Coord;
}
@@ -46,7 +77,7 @@ namespace StgSharp.Geometries
set => coordMat.colum2.XYZ = value;
}
protected ref Matrix44 CoordMat
protected ref Matrix44 CoordMat
{
get => ref coordMat;
}
@@ -39,6 +39,13 @@ namespace StgSharp.Geometries
{
public class PlainCoordinate : CoordinationBase
{
private static PlainCoordinate statndardPlainCoordination = new PlainCoordinate(
null, new Point(0, 0, 0),
new vec3d(1, 0, 0),
new vec3d(0, 1, 0)
);
public PlainCoordinate(
CoordinationBase local,
Point origin,
@@ -55,12 +62,7 @@ namespace StgSharp.Geometries
LocalOrigin = origin;
}
private static PlainCoordinate statndardPlainCoordination = new PlainCoordinate(
null, new Point(0,0,0),
new vec3d(1,0,0),
new vec3d(0, 1, 0)
);
public static PlainCoordinate StandardPlainCoordination => statndardPlainCoordination;
}
}

Some files were not shown because too many files have changed in this diff Show More