mirror of
https://github.com/BeyondDimension/SteamTools.git
synced 2026-10-26 20:20:14 +08:00
Compare commits
22
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
579666be50 | ||
|
|
c96c30fa40 | ||
|
|
b76f77c017 | ||
|
|
74b2c3b3e7 | ||
|
|
be6b58f7f0 | ||
|
|
651a229a24 | ||
|
|
6db92b60ce | ||
|
|
b25c682e55 | ||
|
|
c457037a09 | ||
|
|
c222ae2a57 | ||
|
|
e2a5e7ef11 | ||
|
|
32d3fa92ca | ||
|
|
db30652b22 | ||
|
|
cb00861532 | ||
|
|
64f60440a3 | ||
|
|
0465f6f578 | ||
|
|
a8701adbb4 | ||
|
|
d954e99f12 | ||
|
|
ab1dcbdcaf | ||
|
|
7e4319695f | ||
|
|
6a78e9aa71 | ||
|
|
ece1768b2a |
@@ -40,3 +40,9 @@
|
||||
[submodule "ref/appcenter-sdk-dotnet"]
|
||||
path = ref/appcenter-sdk-dotnet
|
||||
url = https://github.com/BeyondDimension/appcenter-sdk-dotnet.git
|
||||
[submodule "ref/Fusillade"]
|
||||
path = ref/Fusillade
|
||||
url = https://github.com/reactiveui/Fusillade
|
||||
[submodule "ref/Avalonia8"]
|
||||
path = ref/Avalonia8
|
||||
url = https://github.com/BeyondDimension/Avalonia8
|
||||
|
||||
+2
-3
@@ -71,13 +71,12 @@ See details [./doc/download-guide.en.md](./doc/download-guide.en.md)
|
||||
Read what we [milestones](https://github.com/BeyondDimension/SteamTools/milestones), and feel free to ask questions.
|
||||
|
||||
## ⌨️ Development Environment
|
||||
[Visual Studio 2022](https://visualstudio.microsoft.com/vs)
|
||||
[Visual Studio 2022 for Mac](https://visualstudio.microsoft.com/vs/mac)
|
||||
[Visual Studio 2026](https://visualstudio.microsoft.com/vs)
|
||||
[JetBrains Rider](https://www.jetbrains.com/rider)
|
||||
[Visual Studio Code](https://code.visualstudio.com)
|
||||
[OpenJDK 17](https://learn.microsoft.com/en-us/java/openjdk/download#openjdk-17)
|
||||
[Android Studio Electric Eel Or Higher](https://developer.android.com/studio)
|
||||
[Xcode 14 Or Higher](https://developer.apple.com/xcode)
|
||||
[Xcode 26 Or Higher](https://developer.apple.com/xcode)
|
||||
|
||||
## 🏗️ Project Structure
|
||||
See details [./src/README.md](./src/README.md)
|
||||
|
||||
@@ -93,28 +93,12 @@
|
||||
查看这个 [milestones](https://github.com/BeyondDimension/SteamTools/milestones) 来了解我们下一步的开发计划,并随时提出问题。
|
||||
|
||||
## ⌨️ 开发环境
|
||||
[Visual Studio 2022](https://visualstudio.microsoft.com/zh-hans/vs) 或 [Visual Studio 2022 for Mac](https://visualstudio.microsoft.com/zh-hans/vs/mac)
|
||||
- 系统要求
|
||||
- [Windows 11 版本 21H2 或更高版本:家庭版、专业版、专业教育版、专业工作站版、企业版和教育版](https://learn.microsoft.com/zh-cn/visualstudio/releases/2022/system-requirements)
|
||||
- [macOS Big Sur 11.0 或更高版本](https://learn.microsoft.com/zh-cn/visualstudio/releases/2022/mac-system-requirements)
|
||||
- 工作负荷
|
||||
- Web 和云
|
||||
- ASP.NET 和 Web 开发
|
||||
- 桌面应用和移动应用
|
||||
- 使用 .NET 的移动开发 / .NET Multi-platform App UI 开发
|
||||
- .NET 桌面开发
|
||||
- 通用 Windows 平台开发
|
||||
- 单个组件
|
||||
- GitHub Extension for Visual Studio(可选)
|
||||
- [Visual Studio Marketplace](https://marketplace.visualstudio.com)
|
||||
- [Avalonia for Visual Studio(可选)](https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.AvaloniaVS)
|
||||
- [NUnit VS Templates(可选)](https://marketplace.visualstudio.com/items?itemName=NUnitDevelopers.NUnitTemplatesforVisualStudio)
|
||||
|
||||
[Visual Studio 2026](https://visualstudio.microsoft.com/zh-hans/vs)
|
||||
[JetBrains Rider](https://www.jetbrains.com/rider)
|
||||
[Visual Studio Code](https://code.visualstudio.com)
|
||||
[OpenJDK 17](https://learn.microsoft.com/zh-cn/java/openjdk/download#openjdk-17)
|
||||
[Android Studio Electric Eel 或更高版本](https://developer.android.google.cn/studio)
|
||||
[Xcode 14 或更高版本](https://developer.apple.com/xcode)
|
||||
[Xcode 26 或更高版本](https://developer.apple.com/xcode)
|
||||
|
||||
## 🏗️ [项目结构](./src/README.md)
|
||||
详见 [./src/README.md](./src/README.md)
|
||||
|
||||
+381
-25
@@ -1,7 +1,7 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.5.33414.496
|
||||
# Visual Studio Version 18
|
||||
VisualStudioVersion = 18.2.11415.280
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "0.Root", "0.Root", "{46259E8D-32A4-4065-953D-D6F835B57A28}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
@@ -101,8 +101,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Gameloop.Vdf", "ref\Gameloo
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Steam4NET", "ref\Steam4NET\Steam4NET\Steam4NET.csproj", "{C8792BC7-33C0-41D4-97F6-684AD4B0B6A5}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SAM.API", "ref\SteamAchievementManager\SAM.API\SAM.API.csproj", "{123F532B-4178-4D03-A4EE-2A8F3E01433F}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BD.WTTS.UnitTest", "src\BD.WTTS.UnitTest\BD.WTTS.UnitTest.csproj", "{B1131172-0748-4003-83ED-71574FD6331A}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BD.WTTS.Client", "src\BD.WTTS.Client\BD.WTTS.Client.csproj", "{125FB003-F154-425F-AD3F-A1D92977D353}"
|
||||
@@ -222,6 +220,42 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BD.AppCenter.Any", "ref\app
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BD.AppCenter.Analytics.Any", "ref\appcenter-sdk-dotnet\SDK\AppCenterAnalytics\BD.AppCenter.Analytics.Any\BD.AppCenter.Analytics.Any.csproj", "{9611DBE7-EDF0-9EB0-EE93-B158981BE48F}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Common", "Common", "{61CECBB5-7E07-46D4-A23A-06ED11B1F71C}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BD.Common", "ref\Common\src\BD.Common\BD.Common.csproj", "{10F39A46-FE8D-6BD1-4DD0-5CEC30DE7BE3}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BD.Common.Area", "ref\Common\src\BD.Common.Area\BD.Common.Area.csproj", "{FD5EC5C0-0E97-BF37-A60A-9A76DAA9D556}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BD.Common.Security", "ref\Common\src\BD.Common.Security\BD.Common.Security.csproj", "{5D76878D-FAE2-72DF-10C1-6466FC15CB0F}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BD.Common.Mvvm", "ref\Common\src\BD.Common.Mvvm\BD.Common.Mvvm.csproj", "{E3FA55D0-9FD6-0DAD-7B4D-7270965A2494}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BD.Common.Mvvm.ReactiveUI", "ref\Common\src\BD.Common.Mvvm.ReactiveUI\BD.Common.Mvvm.ReactiveUI.csproj", "{23F4F3D3-7C33-F7D7-8023-945A1EC23B5A}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BD.Common.Primitives", "ref\Common\src\BD.Common.Primitives\BD.Common.Primitives.csproj", "{235D1EB8-06EF-0AAC-AFB0-807E56F04111}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BD.Common.Settings", "ref\Common\src\BD.Common.Settings\BD.Common.Settings.csproj", "{F3114DB9-E688-5A87-5B08-6628D177B864}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BD.Common.Repositories.SQLitePCL", "ref\Common\src\BD.Common.Repositories.SQLitePCL\BD.Common.Repositories.SQLitePCL.csproj", "{3306A160-729E-89C8-2604-7D35E02068BF}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BD.Common.Essentials", "ref\Common\src\BD.Common.Essentials\BD.Common.Essentials.csproj", "{E6010D8A-453B-4E2A-E8E7-E8FC91738377}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BD.Common.Essentials.Primitives", "ref\Common\src\BD.Common.Essentials.Primitives\BD.Common.Essentials.Primitives.csproj", "{E57DEBBD-4BAA-08DB-3E90-C51634522F47}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BD.Common.Essentials.Utils", "ref\Common\src\BD.Common.Essentials.Utils\BD.Common.Essentials.Utils.csproj", "{9A9F6A35-18D8-F980-CEE0-155AB2A2695F}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BD.Common.Essentials.Preferences.SQLite", "ref\Common\src\BD.Common.Essentials.Preferences.SQLite\BD.Common.Essentials.Preferences.SQLite.csproj", "{EA6C9CDF-2982-C015-912B-C33416857D54}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BD.Common.Pinyin", "ref\Common\src\BD.Common.Pinyin\BD.Common.Pinyin.csproj", "{1EFEACE0-C0DB-0252-383F-4CBE5414D08D}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BD.Common.Pinyin.TinyPinyin", "ref\Common\src\BD.Common.Pinyin.TinyPinyin\BD.Common.Pinyin.TinyPinyin.csproj", "{641E23B1-E2D1-C15B-7961-0AF918EFEED1}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BD.Common.Essentials.Maui.Runtime", "ref\Common\src\BD.Common.Essentials.Maui.Runtime\BD.Common.Essentials.Maui.Runtime.csproj", "{9AB88008-7763-89C1-97AC-41C80EEA410C}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BD.Avalonia8.Image2.Compat", "src\BD.Avalonia8.Image2.Compat\BD.Avalonia8.Image2.Compat.csproj", "{CBFB38A1-0A6D-4BD8-8302-0A8004AB02CD}"
|
||||
EndProject
|
||||
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "OSShuttingDownHelper", "src\OSShuttingDownHelper\OSShuttingDownHelper.shproj", "{DB1FD07E-1D67-4A4A-A9D9-E2A271DB647F}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
@@ -316,26 +350,6 @@ Global
|
||||
{C8792BC7-33C0-41D4-97F6-684AD4B0B6A5}.Release|x64.Build.0 = Release|Any CPU
|
||||
{C8792BC7-33C0-41D4-97F6-684AD4B0B6A5}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{C8792BC7-33C0-41D4-97F6-684AD4B0B6A5}.Release|x86.Build.0 = Release|Any CPU
|
||||
{123F532B-4178-4D03-A4EE-2A8F3E01433F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{123F532B-4178-4D03-A4EE-2A8F3E01433F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{123F532B-4178-4D03-A4EE-2A8F3E01433F}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{123F532B-4178-4D03-A4EE-2A8F3E01433F}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{123F532B-4178-4D03-A4EE-2A8F3E01433F}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{123F532B-4178-4D03-A4EE-2A8F3E01433F}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{123F532B-4178-4D03-A4EE-2A8F3E01433F}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{123F532B-4178-4D03-A4EE-2A8F3E01433F}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{123F532B-4178-4D03-A4EE-2A8F3E01433F}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{123F532B-4178-4D03-A4EE-2A8F3E01433F}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{123F532B-4178-4D03-A4EE-2A8F3E01433F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{123F532B-4178-4D03-A4EE-2A8F3E01433F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{123F532B-4178-4D03-A4EE-2A8F3E01433F}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{123F532B-4178-4D03-A4EE-2A8F3E01433F}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{123F532B-4178-4D03-A4EE-2A8F3E01433F}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{123F532B-4178-4D03-A4EE-2A8F3E01433F}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{123F532B-4178-4D03-A4EE-2A8F3E01433F}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{123F532B-4178-4D03-A4EE-2A8F3E01433F}.Release|x64.Build.0 = Release|Any CPU
|
||||
{123F532B-4178-4D03-A4EE-2A8F3E01433F}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{123F532B-4178-4D03-A4EE-2A8F3E01433F}.Release|x86.Build.0 = Release|Any CPU
|
||||
{B1131172-0748-4003-83ED-71574FD6331A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{B1131172-0748-4003-83ED-71574FD6331A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{B1131172-0748-4003-83ED-71574FD6331A}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
@@ -1296,6 +1310,326 @@ Global
|
||||
{9611DBE7-EDF0-9EB0-EE93-B158981BE48F}.Release|x64.Build.0 = Release|Any CPU
|
||||
{9611DBE7-EDF0-9EB0-EE93-B158981BE48F}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{9611DBE7-EDF0-9EB0-EE93-B158981BE48F}.Release|x86.Build.0 = Release|Any CPU
|
||||
{10F39A46-FE8D-6BD1-4DD0-5CEC30DE7BE3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{10F39A46-FE8D-6BD1-4DD0-5CEC30DE7BE3}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{10F39A46-FE8D-6BD1-4DD0-5CEC30DE7BE3}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{10F39A46-FE8D-6BD1-4DD0-5CEC30DE7BE3}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{10F39A46-FE8D-6BD1-4DD0-5CEC30DE7BE3}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{10F39A46-FE8D-6BD1-4DD0-5CEC30DE7BE3}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{10F39A46-FE8D-6BD1-4DD0-5CEC30DE7BE3}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{10F39A46-FE8D-6BD1-4DD0-5CEC30DE7BE3}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{10F39A46-FE8D-6BD1-4DD0-5CEC30DE7BE3}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{10F39A46-FE8D-6BD1-4DD0-5CEC30DE7BE3}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{10F39A46-FE8D-6BD1-4DD0-5CEC30DE7BE3}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{10F39A46-FE8D-6BD1-4DD0-5CEC30DE7BE3}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{10F39A46-FE8D-6BD1-4DD0-5CEC30DE7BE3}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{10F39A46-FE8D-6BD1-4DD0-5CEC30DE7BE3}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{10F39A46-FE8D-6BD1-4DD0-5CEC30DE7BE3}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{10F39A46-FE8D-6BD1-4DD0-5CEC30DE7BE3}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{10F39A46-FE8D-6BD1-4DD0-5CEC30DE7BE3}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{10F39A46-FE8D-6BD1-4DD0-5CEC30DE7BE3}.Release|x64.Build.0 = Release|Any CPU
|
||||
{10F39A46-FE8D-6BD1-4DD0-5CEC30DE7BE3}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{10F39A46-FE8D-6BD1-4DD0-5CEC30DE7BE3}.Release|x86.Build.0 = Release|Any CPU
|
||||
{FD5EC5C0-0E97-BF37-A60A-9A76DAA9D556}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{FD5EC5C0-0E97-BF37-A60A-9A76DAA9D556}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{FD5EC5C0-0E97-BF37-A60A-9A76DAA9D556}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{FD5EC5C0-0E97-BF37-A60A-9A76DAA9D556}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{FD5EC5C0-0E97-BF37-A60A-9A76DAA9D556}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{FD5EC5C0-0E97-BF37-A60A-9A76DAA9D556}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{FD5EC5C0-0E97-BF37-A60A-9A76DAA9D556}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{FD5EC5C0-0E97-BF37-A60A-9A76DAA9D556}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{FD5EC5C0-0E97-BF37-A60A-9A76DAA9D556}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{FD5EC5C0-0E97-BF37-A60A-9A76DAA9D556}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{FD5EC5C0-0E97-BF37-A60A-9A76DAA9D556}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{FD5EC5C0-0E97-BF37-A60A-9A76DAA9D556}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{FD5EC5C0-0E97-BF37-A60A-9A76DAA9D556}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{FD5EC5C0-0E97-BF37-A60A-9A76DAA9D556}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{FD5EC5C0-0E97-BF37-A60A-9A76DAA9D556}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{FD5EC5C0-0E97-BF37-A60A-9A76DAA9D556}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{FD5EC5C0-0E97-BF37-A60A-9A76DAA9D556}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{FD5EC5C0-0E97-BF37-A60A-9A76DAA9D556}.Release|x64.Build.0 = Release|Any CPU
|
||||
{FD5EC5C0-0E97-BF37-A60A-9A76DAA9D556}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{FD5EC5C0-0E97-BF37-A60A-9A76DAA9D556}.Release|x86.Build.0 = Release|Any CPU
|
||||
{5D76878D-FAE2-72DF-10C1-6466FC15CB0F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{5D76878D-FAE2-72DF-10C1-6466FC15CB0F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{5D76878D-FAE2-72DF-10C1-6466FC15CB0F}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{5D76878D-FAE2-72DF-10C1-6466FC15CB0F}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{5D76878D-FAE2-72DF-10C1-6466FC15CB0F}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{5D76878D-FAE2-72DF-10C1-6466FC15CB0F}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{5D76878D-FAE2-72DF-10C1-6466FC15CB0F}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{5D76878D-FAE2-72DF-10C1-6466FC15CB0F}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{5D76878D-FAE2-72DF-10C1-6466FC15CB0F}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{5D76878D-FAE2-72DF-10C1-6466FC15CB0F}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{5D76878D-FAE2-72DF-10C1-6466FC15CB0F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{5D76878D-FAE2-72DF-10C1-6466FC15CB0F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{5D76878D-FAE2-72DF-10C1-6466FC15CB0F}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{5D76878D-FAE2-72DF-10C1-6466FC15CB0F}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{5D76878D-FAE2-72DF-10C1-6466FC15CB0F}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{5D76878D-FAE2-72DF-10C1-6466FC15CB0F}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{5D76878D-FAE2-72DF-10C1-6466FC15CB0F}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{5D76878D-FAE2-72DF-10C1-6466FC15CB0F}.Release|x64.Build.0 = Release|Any CPU
|
||||
{5D76878D-FAE2-72DF-10C1-6466FC15CB0F}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{5D76878D-FAE2-72DF-10C1-6466FC15CB0F}.Release|x86.Build.0 = Release|Any CPU
|
||||
{E3FA55D0-9FD6-0DAD-7B4D-7270965A2494}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E3FA55D0-9FD6-0DAD-7B4D-7270965A2494}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E3FA55D0-9FD6-0DAD-7B4D-7270965A2494}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{E3FA55D0-9FD6-0DAD-7B4D-7270965A2494}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{E3FA55D0-9FD6-0DAD-7B4D-7270965A2494}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{E3FA55D0-9FD6-0DAD-7B4D-7270965A2494}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{E3FA55D0-9FD6-0DAD-7B4D-7270965A2494}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{E3FA55D0-9FD6-0DAD-7B4D-7270965A2494}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{E3FA55D0-9FD6-0DAD-7B4D-7270965A2494}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{E3FA55D0-9FD6-0DAD-7B4D-7270965A2494}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{E3FA55D0-9FD6-0DAD-7B4D-7270965A2494}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E3FA55D0-9FD6-0DAD-7B4D-7270965A2494}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{E3FA55D0-9FD6-0DAD-7B4D-7270965A2494}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{E3FA55D0-9FD6-0DAD-7B4D-7270965A2494}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{E3FA55D0-9FD6-0DAD-7B4D-7270965A2494}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{E3FA55D0-9FD6-0DAD-7B4D-7270965A2494}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{E3FA55D0-9FD6-0DAD-7B4D-7270965A2494}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{E3FA55D0-9FD6-0DAD-7B4D-7270965A2494}.Release|x64.Build.0 = Release|Any CPU
|
||||
{E3FA55D0-9FD6-0DAD-7B4D-7270965A2494}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{E3FA55D0-9FD6-0DAD-7B4D-7270965A2494}.Release|x86.Build.0 = Release|Any CPU
|
||||
{23F4F3D3-7C33-F7D7-8023-945A1EC23B5A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{23F4F3D3-7C33-F7D7-8023-945A1EC23B5A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{23F4F3D3-7C33-F7D7-8023-945A1EC23B5A}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{23F4F3D3-7C33-F7D7-8023-945A1EC23B5A}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{23F4F3D3-7C33-F7D7-8023-945A1EC23B5A}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{23F4F3D3-7C33-F7D7-8023-945A1EC23B5A}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{23F4F3D3-7C33-F7D7-8023-945A1EC23B5A}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{23F4F3D3-7C33-F7D7-8023-945A1EC23B5A}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{23F4F3D3-7C33-F7D7-8023-945A1EC23B5A}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{23F4F3D3-7C33-F7D7-8023-945A1EC23B5A}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{23F4F3D3-7C33-F7D7-8023-945A1EC23B5A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{23F4F3D3-7C33-F7D7-8023-945A1EC23B5A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{23F4F3D3-7C33-F7D7-8023-945A1EC23B5A}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{23F4F3D3-7C33-F7D7-8023-945A1EC23B5A}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{23F4F3D3-7C33-F7D7-8023-945A1EC23B5A}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{23F4F3D3-7C33-F7D7-8023-945A1EC23B5A}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{23F4F3D3-7C33-F7D7-8023-945A1EC23B5A}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{23F4F3D3-7C33-F7D7-8023-945A1EC23B5A}.Release|x64.Build.0 = Release|Any CPU
|
||||
{23F4F3D3-7C33-F7D7-8023-945A1EC23B5A}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{23F4F3D3-7C33-F7D7-8023-945A1EC23B5A}.Release|x86.Build.0 = Release|Any CPU
|
||||
{235D1EB8-06EF-0AAC-AFB0-807E56F04111}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{235D1EB8-06EF-0AAC-AFB0-807E56F04111}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{235D1EB8-06EF-0AAC-AFB0-807E56F04111}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{235D1EB8-06EF-0AAC-AFB0-807E56F04111}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{235D1EB8-06EF-0AAC-AFB0-807E56F04111}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{235D1EB8-06EF-0AAC-AFB0-807E56F04111}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{235D1EB8-06EF-0AAC-AFB0-807E56F04111}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{235D1EB8-06EF-0AAC-AFB0-807E56F04111}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{235D1EB8-06EF-0AAC-AFB0-807E56F04111}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{235D1EB8-06EF-0AAC-AFB0-807E56F04111}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{235D1EB8-06EF-0AAC-AFB0-807E56F04111}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{235D1EB8-06EF-0AAC-AFB0-807E56F04111}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{235D1EB8-06EF-0AAC-AFB0-807E56F04111}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{235D1EB8-06EF-0AAC-AFB0-807E56F04111}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{235D1EB8-06EF-0AAC-AFB0-807E56F04111}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{235D1EB8-06EF-0AAC-AFB0-807E56F04111}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{235D1EB8-06EF-0AAC-AFB0-807E56F04111}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{235D1EB8-06EF-0AAC-AFB0-807E56F04111}.Release|x64.Build.0 = Release|Any CPU
|
||||
{235D1EB8-06EF-0AAC-AFB0-807E56F04111}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{235D1EB8-06EF-0AAC-AFB0-807E56F04111}.Release|x86.Build.0 = Release|Any CPU
|
||||
{F3114DB9-E688-5A87-5B08-6628D177B864}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F3114DB9-E688-5A87-5B08-6628D177B864}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F3114DB9-E688-5A87-5B08-6628D177B864}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{F3114DB9-E688-5A87-5B08-6628D177B864}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{F3114DB9-E688-5A87-5B08-6628D177B864}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{F3114DB9-E688-5A87-5B08-6628D177B864}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{F3114DB9-E688-5A87-5B08-6628D177B864}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{F3114DB9-E688-5A87-5B08-6628D177B864}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{F3114DB9-E688-5A87-5B08-6628D177B864}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{F3114DB9-E688-5A87-5B08-6628D177B864}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{F3114DB9-E688-5A87-5B08-6628D177B864}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F3114DB9-E688-5A87-5B08-6628D177B864}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F3114DB9-E688-5A87-5B08-6628D177B864}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{F3114DB9-E688-5A87-5B08-6628D177B864}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{F3114DB9-E688-5A87-5B08-6628D177B864}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{F3114DB9-E688-5A87-5B08-6628D177B864}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{F3114DB9-E688-5A87-5B08-6628D177B864}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{F3114DB9-E688-5A87-5B08-6628D177B864}.Release|x64.Build.0 = Release|Any CPU
|
||||
{F3114DB9-E688-5A87-5B08-6628D177B864}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{F3114DB9-E688-5A87-5B08-6628D177B864}.Release|x86.Build.0 = Release|Any CPU
|
||||
{3306A160-729E-89C8-2604-7D35E02068BF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{3306A160-729E-89C8-2604-7D35E02068BF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{3306A160-729E-89C8-2604-7D35E02068BF}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{3306A160-729E-89C8-2604-7D35E02068BF}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{3306A160-729E-89C8-2604-7D35E02068BF}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{3306A160-729E-89C8-2604-7D35E02068BF}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{3306A160-729E-89C8-2604-7D35E02068BF}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{3306A160-729E-89C8-2604-7D35E02068BF}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{3306A160-729E-89C8-2604-7D35E02068BF}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{3306A160-729E-89C8-2604-7D35E02068BF}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{3306A160-729E-89C8-2604-7D35E02068BF}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{3306A160-729E-89C8-2604-7D35E02068BF}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{3306A160-729E-89C8-2604-7D35E02068BF}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{3306A160-729E-89C8-2604-7D35E02068BF}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{3306A160-729E-89C8-2604-7D35E02068BF}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{3306A160-729E-89C8-2604-7D35E02068BF}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{3306A160-729E-89C8-2604-7D35E02068BF}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{3306A160-729E-89C8-2604-7D35E02068BF}.Release|x64.Build.0 = Release|Any CPU
|
||||
{3306A160-729E-89C8-2604-7D35E02068BF}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{3306A160-729E-89C8-2604-7D35E02068BF}.Release|x86.Build.0 = Release|Any CPU
|
||||
{E6010D8A-453B-4E2A-E8E7-E8FC91738377}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E6010D8A-453B-4E2A-E8E7-E8FC91738377}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E6010D8A-453B-4E2A-E8E7-E8FC91738377}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{E6010D8A-453B-4E2A-E8E7-E8FC91738377}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{E6010D8A-453B-4E2A-E8E7-E8FC91738377}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{E6010D8A-453B-4E2A-E8E7-E8FC91738377}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{E6010D8A-453B-4E2A-E8E7-E8FC91738377}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{E6010D8A-453B-4E2A-E8E7-E8FC91738377}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{E6010D8A-453B-4E2A-E8E7-E8FC91738377}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{E6010D8A-453B-4E2A-E8E7-E8FC91738377}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{E6010D8A-453B-4E2A-E8E7-E8FC91738377}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E6010D8A-453B-4E2A-E8E7-E8FC91738377}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{E6010D8A-453B-4E2A-E8E7-E8FC91738377}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{E6010D8A-453B-4E2A-E8E7-E8FC91738377}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{E6010D8A-453B-4E2A-E8E7-E8FC91738377}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{E6010D8A-453B-4E2A-E8E7-E8FC91738377}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{E6010D8A-453B-4E2A-E8E7-E8FC91738377}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{E6010D8A-453B-4E2A-E8E7-E8FC91738377}.Release|x64.Build.0 = Release|Any CPU
|
||||
{E6010D8A-453B-4E2A-E8E7-E8FC91738377}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{E6010D8A-453B-4E2A-E8E7-E8FC91738377}.Release|x86.Build.0 = Release|Any CPU
|
||||
{E57DEBBD-4BAA-08DB-3E90-C51634522F47}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E57DEBBD-4BAA-08DB-3E90-C51634522F47}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E57DEBBD-4BAA-08DB-3E90-C51634522F47}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{E57DEBBD-4BAA-08DB-3E90-C51634522F47}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{E57DEBBD-4BAA-08DB-3E90-C51634522F47}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{E57DEBBD-4BAA-08DB-3E90-C51634522F47}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{E57DEBBD-4BAA-08DB-3E90-C51634522F47}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{E57DEBBD-4BAA-08DB-3E90-C51634522F47}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{E57DEBBD-4BAA-08DB-3E90-C51634522F47}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{E57DEBBD-4BAA-08DB-3E90-C51634522F47}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{E57DEBBD-4BAA-08DB-3E90-C51634522F47}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E57DEBBD-4BAA-08DB-3E90-C51634522F47}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{E57DEBBD-4BAA-08DB-3E90-C51634522F47}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{E57DEBBD-4BAA-08DB-3E90-C51634522F47}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{E57DEBBD-4BAA-08DB-3E90-C51634522F47}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{E57DEBBD-4BAA-08DB-3E90-C51634522F47}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{E57DEBBD-4BAA-08DB-3E90-C51634522F47}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{E57DEBBD-4BAA-08DB-3E90-C51634522F47}.Release|x64.Build.0 = Release|Any CPU
|
||||
{E57DEBBD-4BAA-08DB-3E90-C51634522F47}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{E57DEBBD-4BAA-08DB-3E90-C51634522F47}.Release|x86.Build.0 = Release|Any CPU
|
||||
{9A9F6A35-18D8-F980-CEE0-155AB2A2695F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{9A9F6A35-18D8-F980-CEE0-155AB2A2695F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{9A9F6A35-18D8-F980-CEE0-155AB2A2695F}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{9A9F6A35-18D8-F980-CEE0-155AB2A2695F}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{9A9F6A35-18D8-F980-CEE0-155AB2A2695F}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{9A9F6A35-18D8-F980-CEE0-155AB2A2695F}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{9A9F6A35-18D8-F980-CEE0-155AB2A2695F}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{9A9F6A35-18D8-F980-CEE0-155AB2A2695F}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{9A9F6A35-18D8-F980-CEE0-155AB2A2695F}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{9A9F6A35-18D8-F980-CEE0-155AB2A2695F}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{9A9F6A35-18D8-F980-CEE0-155AB2A2695F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{9A9F6A35-18D8-F980-CEE0-155AB2A2695F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{9A9F6A35-18D8-F980-CEE0-155AB2A2695F}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{9A9F6A35-18D8-F980-CEE0-155AB2A2695F}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{9A9F6A35-18D8-F980-CEE0-155AB2A2695F}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{9A9F6A35-18D8-F980-CEE0-155AB2A2695F}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{9A9F6A35-18D8-F980-CEE0-155AB2A2695F}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{9A9F6A35-18D8-F980-CEE0-155AB2A2695F}.Release|x64.Build.0 = Release|Any CPU
|
||||
{9A9F6A35-18D8-F980-CEE0-155AB2A2695F}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{9A9F6A35-18D8-F980-CEE0-155AB2A2695F}.Release|x86.Build.0 = Release|Any CPU
|
||||
{EA6C9CDF-2982-C015-912B-C33416857D54}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{EA6C9CDF-2982-C015-912B-C33416857D54}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{EA6C9CDF-2982-C015-912B-C33416857D54}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{EA6C9CDF-2982-C015-912B-C33416857D54}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{EA6C9CDF-2982-C015-912B-C33416857D54}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{EA6C9CDF-2982-C015-912B-C33416857D54}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{EA6C9CDF-2982-C015-912B-C33416857D54}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{EA6C9CDF-2982-C015-912B-C33416857D54}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{EA6C9CDF-2982-C015-912B-C33416857D54}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{EA6C9CDF-2982-C015-912B-C33416857D54}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{EA6C9CDF-2982-C015-912B-C33416857D54}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{EA6C9CDF-2982-C015-912B-C33416857D54}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{EA6C9CDF-2982-C015-912B-C33416857D54}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{EA6C9CDF-2982-C015-912B-C33416857D54}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{EA6C9CDF-2982-C015-912B-C33416857D54}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{EA6C9CDF-2982-C015-912B-C33416857D54}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{EA6C9CDF-2982-C015-912B-C33416857D54}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{EA6C9CDF-2982-C015-912B-C33416857D54}.Release|x64.Build.0 = Release|Any CPU
|
||||
{EA6C9CDF-2982-C015-912B-C33416857D54}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{EA6C9CDF-2982-C015-912B-C33416857D54}.Release|x86.Build.0 = Release|Any CPU
|
||||
{1EFEACE0-C0DB-0252-383F-4CBE5414D08D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1EFEACE0-C0DB-0252-383F-4CBE5414D08D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1EFEACE0-C0DB-0252-383F-4CBE5414D08D}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{1EFEACE0-C0DB-0252-383F-4CBE5414D08D}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{1EFEACE0-C0DB-0252-383F-4CBE5414D08D}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{1EFEACE0-C0DB-0252-383F-4CBE5414D08D}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{1EFEACE0-C0DB-0252-383F-4CBE5414D08D}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{1EFEACE0-C0DB-0252-383F-4CBE5414D08D}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{1EFEACE0-C0DB-0252-383F-4CBE5414D08D}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{1EFEACE0-C0DB-0252-383F-4CBE5414D08D}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{1EFEACE0-C0DB-0252-383F-4CBE5414D08D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1EFEACE0-C0DB-0252-383F-4CBE5414D08D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1EFEACE0-C0DB-0252-383F-4CBE5414D08D}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{1EFEACE0-C0DB-0252-383F-4CBE5414D08D}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{1EFEACE0-C0DB-0252-383F-4CBE5414D08D}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{1EFEACE0-C0DB-0252-383F-4CBE5414D08D}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{1EFEACE0-C0DB-0252-383F-4CBE5414D08D}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{1EFEACE0-C0DB-0252-383F-4CBE5414D08D}.Release|x64.Build.0 = Release|Any CPU
|
||||
{1EFEACE0-C0DB-0252-383F-4CBE5414D08D}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{1EFEACE0-C0DB-0252-383F-4CBE5414D08D}.Release|x86.Build.0 = Release|Any CPU
|
||||
{641E23B1-E2D1-C15B-7961-0AF918EFEED1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{641E23B1-E2D1-C15B-7961-0AF918EFEED1}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{641E23B1-E2D1-C15B-7961-0AF918EFEED1}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{641E23B1-E2D1-C15B-7961-0AF918EFEED1}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{641E23B1-E2D1-C15B-7961-0AF918EFEED1}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{641E23B1-E2D1-C15B-7961-0AF918EFEED1}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{641E23B1-E2D1-C15B-7961-0AF918EFEED1}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{641E23B1-E2D1-C15B-7961-0AF918EFEED1}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{641E23B1-E2D1-C15B-7961-0AF918EFEED1}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{641E23B1-E2D1-C15B-7961-0AF918EFEED1}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{641E23B1-E2D1-C15B-7961-0AF918EFEED1}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{641E23B1-E2D1-C15B-7961-0AF918EFEED1}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{641E23B1-E2D1-C15B-7961-0AF918EFEED1}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{641E23B1-E2D1-C15B-7961-0AF918EFEED1}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{641E23B1-E2D1-C15B-7961-0AF918EFEED1}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{641E23B1-E2D1-C15B-7961-0AF918EFEED1}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{641E23B1-E2D1-C15B-7961-0AF918EFEED1}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{641E23B1-E2D1-C15B-7961-0AF918EFEED1}.Release|x64.Build.0 = Release|Any CPU
|
||||
{641E23B1-E2D1-C15B-7961-0AF918EFEED1}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{641E23B1-E2D1-C15B-7961-0AF918EFEED1}.Release|x86.Build.0 = Release|Any CPU
|
||||
{9AB88008-7763-89C1-97AC-41C80EEA410C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{9AB88008-7763-89C1-97AC-41C80EEA410C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{9AB88008-7763-89C1-97AC-41C80EEA410C}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{9AB88008-7763-89C1-97AC-41C80EEA410C}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{9AB88008-7763-89C1-97AC-41C80EEA410C}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{9AB88008-7763-89C1-97AC-41C80EEA410C}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{9AB88008-7763-89C1-97AC-41C80EEA410C}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{9AB88008-7763-89C1-97AC-41C80EEA410C}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{9AB88008-7763-89C1-97AC-41C80EEA410C}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{9AB88008-7763-89C1-97AC-41C80EEA410C}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{9AB88008-7763-89C1-97AC-41C80EEA410C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{9AB88008-7763-89C1-97AC-41C80EEA410C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{9AB88008-7763-89C1-97AC-41C80EEA410C}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{9AB88008-7763-89C1-97AC-41C80EEA410C}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{9AB88008-7763-89C1-97AC-41C80EEA410C}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{9AB88008-7763-89C1-97AC-41C80EEA410C}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{9AB88008-7763-89C1-97AC-41C80EEA410C}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{9AB88008-7763-89C1-97AC-41C80EEA410C}.Release|x64.Build.0 = Release|Any CPU
|
||||
{9AB88008-7763-89C1-97AC-41C80EEA410C}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{9AB88008-7763-89C1-97AC-41C80EEA410C}.Release|x86.Build.0 = Release|Any CPU
|
||||
{CBFB38A1-0A6D-4BD8-8302-0A8004AB02CD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CBFB38A1-0A6D-4BD8-8302-0A8004AB02CD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CBFB38A1-0A6D-4BD8-8302-0A8004AB02CD}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{CBFB38A1-0A6D-4BD8-8302-0A8004AB02CD}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{CBFB38A1-0A6D-4BD8-8302-0A8004AB02CD}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{CBFB38A1-0A6D-4BD8-8302-0A8004AB02CD}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{CBFB38A1-0A6D-4BD8-8302-0A8004AB02CD}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{CBFB38A1-0A6D-4BD8-8302-0A8004AB02CD}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{CBFB38A1-0A6D-4BD8-8302-0A8004AB02CD}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{CBFB38A1-0A6D-4BD8-8302-0A8004AB02CD}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{CBFB38A1-0A6D-4BD8-8302-0A8004AB02CD}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CBFB38A1-0A6D-4BD8-8302-0A8004AB02CD}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{CBFB38A1-0A6D-4BD8-8302-0A8004AB02CD}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{CBFB38A1-0A6D-4BD8-8302-0A8004AB02CD}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{CBFB38A1-0A6D-4BD8-8302-0A8004AB02CD}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{CBFB38A1-0A6D-4BD8-8302-0A8004AB02CD}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{CBFB38A1-0A6D-4BD8-8302-0A8004AB02CD}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{CBFB38A1-0A6D-4BD8-8302-0A8004AB02CD}.Release|x64.Build.0 = Release|Any CPU
|
||||
{CBFB38A1-0A6D-4BD8-8302-0A8004AB02CD}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{CBFB38A1-0A6D-4BD8-8302-0A8004AB02CD}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
@@ -1311,7 +1645,6 @@ Global
|
||||
{99D97BD4-3F51-48BC-8BD2-647F6D268BB0} = {90E88965-DB90-4B49-94F5-6D2965491988}
|
||||
{FE91B979-FE45-43F3-B9C4-430F2360FDDF} = {99D97BD4-3F51-48BC-8BD2-647F6D268BB0}
|
||||
{C8792BC7-33C0-41D4-97F6-684AD4B0B6A5} = {99D97BD4-3F51-48BC-8BD2-647F6D268BB0}
|
||||
{123F532B-4178-4D03-A4EE-2A8F3E01433F} = {99D97BD4-3F51-48BC-8BD2-647F6D268BB0}
|
||||
{B1131172-0748-4003-83ED-71574FD6331A} = {6AF591CA-B0C4-425B-9293-9E62F5BE9B3D}
|
||||
{125FB003-F154-425F-AD3F-A1D92977D353} = {CE475939-6363-4144-B18F-2F91CC297E91}
|
||||
{1BD19276-7DEF-4659-9DBF-28E8E5078698} = {CE475939-6363-4144-B18F-2F91CC297E91}
|
||||
@@ -1365,8 +1698,31 @@ Global
|
||||
{02EA681E-C7D8-13C7-8484-4AC65E1B71E8} = {90E88965-DB90-4B49-94F5-6D2965491988}
|
||||
{BD7E0AF0-FABE-3C94-DE36-CF365BF7323D} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8}
|
||||
{9611DBE7-EDF0-9EB0-EE93-B158981BE48F} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8}
|
||||
{61CECBB5-7E07-46D4-A23A-06ED11B1F71C} = {90E88965-DB90-4B49-94F5-6D2965491988}
|
||||
{10F39A46-FE8D-6BD1-4DD0-5CEC30DE7BE3} = {61CECBB5-7E07-46D4-A23A-06ED11B1F71C}
|
||||
{FD5EC5C0-0E97-BF37-A60A-9A76DAA9D556} = {61CECBB5-7E07-46D4-A23A-06ED11B1F71C}
|
||||
{5D76878D-FAE2-72DF-10C1-6466FC15CB0F} = {61CECBB5-7E07-46D4-A23A-06ED11B1F71C}
|
||||
{E3FA55D0-9FD6-0DAD-7B4D-7270965A2494} = {61CECBB5-7E07-46D4-A23A-06ED11B1F71C}
|
||||
{23F4F3D3-7C33-F7D7-8023-945A1EC23B5A} = {61CECBB5-7E07-46D4-A23A-06ED11B1F71C}
|
||||
{235D1EB8-06EF-0AAC-AFB0-807E56F04111} = {61CECBB5-7E07-46D4-A23A-06ED11B1F71C}
|
||||
{F3114DB9-E688-5A87-5B08-6628D177B864} = {61CECBB5-7E07-46D4-A23A-06ED11B1F71C}
|
||||
{3306A160-729E-89C8-2604-7D35E02068BF} = {61CECBB5-7E07-46D4-A23A-06ED11B1F71C}
|
||||
{E6010D8A-453B-4E2A-E8E7-E8FC91738377} = {61CECBB5-7E07-46D4-A23A-06ED11B1F71C}
|
||||
{E57DEBBD-4BAA-08DB-3E90-C51634522F47} = {61CECBB5-7E07-46D4-A23A-06ED11B1F71C}
|
||||
{9A9F6A35-18D8-F980-CEE0-155AB2A2695F} = {61CECBB5-7E07-46D4-A23A-06ED11B1F71C}
|
||||
{EA6C9CDF-2982-C015-912B-C33416857D54} = {61CECBB5-7E07-46D4-A23A-06ED11B1F71C}
|
||||
{1EFEACE0-C0DB-0252-383F-4CBE5414D08D} = {61CECBB5-7E07-46D4-A23A-06ED11B1F71C}
|
||||
{641E23B1-E2D1-C15B-7961-0AF918EFEED1} = {61CECBB5-7E07-46D4-A23A-06ED11B1F71C}
|
||||
{9AB88008-7763-89C1-97AC-41C80EEA410C} = {61CECBB5-7E07-46D4-A23A-06ED11B1F71C}
|
||||
{CBFB38A1-0A6D-4BD8-8302-0A8004AB02CD} = {CE475939-6363-4144-B18F-2F91CC297E91}
|
||||
{DB1FD07E-1D67-4A4A-A9D9-E2A271DB647F} = {CE475939-6363-4144-B18F-2F91CC297E91}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {567F588F-E95C-4286-8B30-DB3B2200221C}
|
||||
EndGlobalSection
|
||||
GlobalSection(SharedMSBuildProjectFiles) = preSolution
|
||||
src\OSShuttingDownHelper\OSShuttingDownHelper.projitems*{125fb003-f154-425f-ad3f-a1d92977d353}*SharedItemsImports = 5
|
||||
src\OSShuttingDownHelper\OSShuttingDownHelper.projitems*{521d4676-8e8a-4a4c-9835-b09ff4affbbc}*SharedItemsImports = 5
|
||||
src\OSShuttingDownHelper\OSShuttingDownHelper.projitems*{db1fd07e-1d67-4a4a-a9d9-e2a271db647f}*SharedItemsImports = 13
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
||||
+1
-1
Submodule ref/Avalonia.Image2 updated: b8fe54e56b...0f01b21e70
Submodule
+1
Submodule ref/Avalonia8 added at 1260f0054f
+1
-1
Submodule ref/Common updated: 9b75e1c591...11feb59275
+1
-1
Submodule ref/DirectoryPackages updated: e85de9b2cd...60eff6f705
+1
-1
Submodule ref/Facepunch.Steamworks updated: 4463739be5...0c8f17e363
Submodule
+1
Submodule ref/Fusillade added at e53e10aef3
+1
-1
Submodule ref/Gameloop.Vdf updated: 8e3d3dca40...68728bcec8
+1
-1
Submodule ref/Steam4NET updated: 04f4acd815...693c53d6f3
Submodule ref/SteamAchievementManager updated: 39dbdc9678...881a31e110
+1
-1
Submodule ref/SteamClient updated: 6f3eb5e36c...460d55c092
Submodule ref/WTTS.MicroServices.ClientSDK updated: 27e9c1c2c6...d4be4aba64
+1
-1
Submodule ref/WinAuth updated: de5b795ccf...79763b9908
+1
-1
Submodule ref/appcenter-sdk-dotnet updated: 72d75433df...6f7e91c8ea
@@ -5,29 +5,31 @@ namespace BD.WTTS;
|
||||
/// </summary>
|
||||
public static partial class AssemblyInfo
|
||||
{
|
||||
const string Version2 = "3.0";
|
||||
const string Version2 = "3.1";
|
||||
|
||||
/// <summary>
|
||||
/// 语义化应用程序版本
|
||||
/// https://semver.org/lang/zh-CN/
|
||||
/// </summary>
|
||||
public const string Version = $"{Version2}.0";
|
||||
public const string Version = $"{Version2}.{VersionBuild}";
|
||||
|
||||
const string VersionBuild = "0";
|
||||
|
||||
/// <summary>
|
||||
/// 预览版本号,范围 1~9,只增不减
|
||||
/// </summary>
|
||||
const string ver_for_preview = "0";
|
||||
const string ver_for_preview = "1";
|
||||
|
||||
/// <summary>
|
||||
/// RC 版本号,范围 0~9,只增不减
|
||||
/// </summary>
|
||||
const string ver_for_rc = "16";
|
||||
const string ver_for_rc = "0";
|
||||
|
||||
public const string FileVersion = $"{Version2}.{ver_for_rc}2{ver_for_preview}.0";
|
||||
public const string FileVersion = $"{Version2}.{VersionBuild}.{ver_for_rc}2{ver_for_preview}";
|
||||
|
||||
//public const string InformationalVersion = Version;
|
||||
public const string InformationalVersion = Version;
|
||||
//public const string InformationalVersion = $"{Version}-preview.{ver_for_preview}";
|
||||
public const string InformationalVersion = $"{Version}-rc.{ver_for_rc}";
|
||||
//public const string InformationalVersion = $"{Version}-rc.{ver_for_rc}";
|
||||
|
||||
#if !APP_HOST
|
||||
/// <summary>
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net$(DotNet_Version)</TargetFramework>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<Description>提供动图控件,支持 Gif/Apng</Description>
|
||||
<AssemblyName>BD.Avalonia8.Image2</AssemblyName>
|
||||
<RootNamespace>BD.Avalonia8.Image2</RootNamespace>
|
||||
<GenerateAssemblyInfo>true</GenerateAssemblyInfo>
|
||||
<GenerateAssemblyFileVersionAttribute>true</GenerateAssemblyFileVersionAttribute>
|
||||
<GenerateAssemblyInformationalVersionAttribute>true</GenerateAssemblyInformationalVersionAttribute>
|
||||
<GenerateAssemblyVersionAttribute>true</GenerateAssemblyVersionAttribute>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Avalonia -->
|
||||
<PropertyGroup>
|
||||
<AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="$(MSBuildThisFileDirectory)..\..\ref\Avalonia8\src\Sdk\Links\LibAPNG.props" />
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Remove="..\ImplicitUsings.Common.cs" />
|
||||
<Compile Remove="..\AssemblyInfo.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)..\..\ref\Avalonia8\src\BD.Avalonia8.Image2\**\*.cs">
|
||||
<LinkBase></LinkBase>
|
||||
</Compile>
|
||||
<Compile Remove="$(MSBuildThisFileDirectory)..\..\ref\Avalonia8\src\BD.Avalonia8.Image2\bin\**\*.cs" />
|
||||
<Compile Remove="$(MSBuildThisFileDirectory)..\..\ref\Avalonia8\src\BD.Avalonia8.Image2\obj\**\*.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Avalonia" />
|
||||
<PackageReference Include="ReactiveUI" />
|
||||
<PackageReference Include="ReactiveUI.Fody" />
|
||||
<PackageReference Include="Microsoft.IO.RecyclableMemoryStream" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\ref\Common\src\BD.Common.Mvvm\BD.Common.Mvvm.csproj" />
|
||||
<ProjectReference Include="..\..\ref\Common\src\BD.Common\BD.Common.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,41 @@
|
||||
// Common\src\BD.Common8.Bcl\Extensions\StreamExtensions.cs
|
||||
|
||||
namespace System.Extensions;
|
||||
|
||||
/// <summary>
|
||||
/// 提供对 <see cref="Stream"/> 类型的扩展函数
|
||||
/// </summary>
|
||||
internal static partial class StreamExtensions
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static int ReadInt32(this Stream stream)
|
||||
{
|
||||
Span<byte> data = stackalloc byte[sizeof(int)];
|
||||
stream.ReadExactly(data);
|
||||
return BitConverter.ToInt32(data);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static ushort ReadUInt16(this Stream stream)
|
||||
{
|
||||
Span<byte> data = stackalloc byte[sizeof(ushort)];
|
||||
stream.ReadExactly(data);
|
||||
return BitConverter.ToUInt16(data);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static uint ReadUInt32(this Stream stream)
|
||||
{
|
||||
Span<byte> data = stackalloc byte[sizeof(uint)];
|
||||
stream.ReadExactly(data);
|
||||
return BitConverter.ToUInt32(data);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static void WriteUInt32(this Stream stream, uint value)
|
||||
{
|
||||
Span<byte> data = stackalloc byte[sizeof(uint)];
|
||||
BitConverter.TryWriteBytes(data, value);
|
||||
stream.Write(data);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
|
||||
<ReactiveUI />
|
||||
</Weavers>
|
||||
@@ -0,0 +1,4 @@
|
||||
// steampp
|
||||
using Avalonia.Metadata;
|
||||
|
||||
[assembly: XmlnsDefinition("https://steampp.net/ui", "BD.Avalonia8.Image2")]
|
||||
@@ -0,0 +1,24 @@
|
||||
// <auto-generated/>
|
||||
global using Avalonia;
|
||||
global using Avalonia.Animation;
|
||||
global using Avalonia.Controls;
|
||||
global using Avalonia.Logging;
|
||||
global using Avalonia.Media;
|
||||
global using Avalonia.Media.Imaging;
|
||||
global using Avalonia.Metadata;
|
||||
global using Avalonia.Platform;
|
||||
global using Avalonia.Rendering.Composition;
|
||||
global using Avalonia.Threading;
|
||||
global using Avalonia.VisualTree;
|
||||
global using BD.Avalonia8.Image2;
|
||||
global using BD.Avalonia8.Image2.Decoding;
|
||||
global using System.Extensions;
|
||||
global using System.Numerics;
|
||||
global using System.Reactive.Linq;
|
||||
global using AvaBitmap = Avalonia.Media.Imaging.Bitmap;
|
||||
global using AvaPixelFormat = Avalonia.Platform.PixelFormat;
|
||||
global using AvaPoint = Avalonia.Point;
|
||||
global using AvaRect = Avalonia.Rect;
|
||||
global using AvaSize = Avalonia.Size;
|
||||
global using AvaVector = Avalonia.Vector;
|
||||
global using CommonImageSource = BD.Common.UI.ViewModels.ImageSource.ClipStream;
|
||||
@@ -0,0 +1,5 @@
|
||||
// attributes that are applied to this project.
|
||||
// Project-level suppressions either have no target or are given
|
||||
// a specific target and scoped to a namespace, type, member, etc.
|
||||
|
||||
[assembly: SuppressMessage("Style", "IDE0005:Using 指令是不需要的。", Justification = "<挂起>")]
|
||||
@@ -9,6 +9,6 @@
|
||||
<legacyCorruptedStateExceptionsPolicy enabled="true"/>
|
||||
</runtime>
|
||||
<appSettings>
|
||||
<add key="d" value="7.0.11"/>
|
||||
<add key="d" value="10.0.2"/>
|
||||
</appSettings>
|
||||
</configuration>
|
||||
@@ -10,6 +10,6 @@
|
||||
<legacyCorruptedStateExceptionsPolicy enabled="true"/>
|
||||
</runtime>
|
||||
<appSettings>
|
||||
<add key="d" value="9.0.0"/>
|
||||
<add key="d" value="10.0.2"/>
|
||||
</appSettings>
|
||||
</configuration>
|
||||
@@ -16,9 +16,9 @@ static unsafe partial class Program
|
||||
{
|
||||
static Program()
|
||||
{
|
||||
dotnet_version_major = "9";
|
||||
dotnet_version_major = "10";
|
||||
dotnet_version_minor = "0";
|
||||
dotnet_version_build = "0";
|
||||
dotnet_version_build = "2";
|
||||
dotnet_version = $"{dotnet_version_major}.{dotnet_version_minor}.{dotnet_version_build}";
|
||||
}
|
||||
|
||||
|
||||
@@ -73,36 +73,34 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="BD.Common" />
|
||||
<PackageReference Include="BD.Common.Primitives" />
|
||||
<PackageReference Include="BD.Common.Essentials" />
|
||||
<PackageReference Include="Avalonia" />
|
||||
<PackageReference Include="Avalonia.ReactiveUI" />
|
||||
<PackageReference Include="ReactiveUI.Avalonia" />
|
||||
<PackageReference Include="Avalonia.Controls.DataGrid" />
|
||||
<PackageReference Include="Avalonia.Controls.ItemsRepeater" />
|
||||
<PackageReference Include="Avalonia.Xaml.Behaviors" />
|
||||
<PackageReference Include="Xaml.Behaviors.Avalonia" />
|
||||
<PackageReference Include="Avalonia.AvaloniaEdit" />
|
||||
<PackageReference Include="AvaloniaEdit.TextMate" />
|
||||
<!--<PackageReference Include="Markdown.Avalonia" />-->
|
||||
<PackageReference Include="FluentAvaloniaUI" />
|
||||
<PackageReference Include="Avalonia.Controls.ColorPicker" />
|
||||
<PackageReference Include="LiveChartsCore.SkiaSharpView.Avalonia" />
|
||||
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
|
||||
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" />
|
||||
<!--ProjectReference Include="..\Avalonia.Themes.Default\Avalonia.Themes.Default.csproj" />
|
||||
<ProjectReference Include="..\Avalonia.Themes.Fluent\Avalonia.Themes.Fluent.csproj" />-->
|
||||
<ProjectReference Include="..\Avalonia.Desktop\Avalonia.Desktop.csproj" />
|
||||
<ProjectReference Include="..\..\ref\Avalonia.Image2\Avalonia.Gif\Avalonia.Gif.csproj" />
|
||||
<ProjectReference Include="..\BD.Avalonia8.Image2.Compat\BD.Avalonia8.Image2.Compat.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">
|
||||
<!-- Windows Only -->
|
||||
<ProjectReference Include="..\Avalonia.X11\Avalonia.X11.csproj" />
|
||||
<ProjectReference Include="..\Avalonia.Native\Avalonia.Native.csproj" />
|
||||
<PackageReference Include="Aigio.Avalonia.AppCenter" />
|
||||
<!--<PackageReference Include="Aigio.Avalonia.AppCenter" />
|
||||
<PackageReference Include="Aigio.Avalonia.AppCenter.Analytics" />
|
||||
<PackageReference Include="Aigio.Avalonia.AppCenter.Crashes" />
|
||||
<PackageReference Include="Aigio.Avalonia.AppCenter.Crashes" />-->
|
||||
<PackageReference Include="Avalonia.Win32" />
|
||||
<PackageReference Include="BD.Common.Essentials.Maui.Runtime" />
|
||||
<ProjectReference Include="..\..\ref\Common\src\BD.Common.Essentials.Maui.Runtime\BD.Common.Essentials.Maui.Runtime.csproj" />
|
||||
<PackageReference Include="JumpLists.Win32.Avalonia" />
|
||||
</ItemGroup>
|
||||
|
||||
@@ -111,7 +109,7 @@
|
||||
<ProjectReference Include="..\Avalonia.X11\Avalonia.X11.csproj" />
|
||||
<ProjectReference Include="..\Avalonia.Win32\Avalonia.Win32.csproj" />
|
||||
<PackageReference Include="Avalonia.Native" />
|
||||
<PackageReference Include="BD.Common.Essentials.Maui.Runtime" />
|
||||
<ProjectReference Include="..\..\ref\Common\src\BD.Common.Essentials.Maui.Runtime\BD.Common.Essentials.Maui.Runtime.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == ''">
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
<UserControl
|
||||
d:DesignHeight="900"
|
||||
d:DesignWidth="1080"
|
||||
mc:Ignorable="d"
|
||||
x:Class="BD.WTTS.UI.Views.Pages.HomePage"
|
||||
x:CompileBindings="True"
|
||||
x:DataType="spp:HomePageViewModel"
|
||||
xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:col="using:System.Collections.Generic"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:s="https://steampp.net/services"
|
||||
xmlns:spp="https://steampp.net/ui"
|
||||
xmlns:ui="using:FluentAvalonia.UI.Controls"
|
||||
d:DesignHeight="900"
|
||||
d:DesignWidth="1080"
|
||||
x:CompileBindings="True"
|
||||
x:DataType="spp:HomePageViewModel"
|
||||
mc:Ignorable="d">
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<!--<spp:PageBase.PreviewImage>
|
||||
<ui:ImageIconSource Source="{Binding IconKey, Mode=OneWay, Converter={StaticResource BitmapAssetValueConverter}}" />
|
||||
</spp:PageBase.PreviewImage>-->
|
||||
@@ -70,87 +70,87 @@
|
||||
<ScrollViewer Padding="20">
|
||||
<!--<spp:ContentLoader IsLoading="False">-->
|
||||
<StackPanel
|
||||
x:Name="HomeRoot"
|
||||
MaxWidth="1080"
|
||||
Spacing="20">
|
||||
Spacing="20"
|
||||
x:Name="HomeRoot">
|
||||
<spp:Snackbar
|
||||
VerticalAlignment="Top"
|
||||
IsClosable="False"
|
||||
IsOpen="True"
|
||||
IsVisible="{spp:OnPlatform !GA}"
|
||||
Message="当前使用的程序版本为测试版本,可能会有各种各样不可言明的 Bug,遇到问题请理性反馈,谢谢。"
|
||||
Severity="Warning" />
|
||||
Severity="Warning"
|
||||
VerticalAlignment="Top" />
|
||||
<spp:Snackbar
|
||||
VerticalAlignment="Top"
|
||||
IsClosable="False"
|
||||
IsOpen="True"
|
||||
IsVisible="{spp:OnPlatform !GA}"
|
||||
Message="如果您不喜欢当前主页为默认启动页面可以在【设置-界面设置-启动时默认打开页面】处更改" />
|
||||
Message="如果您不喜欢当前主页为默认启动页面可以在【设置-界面设置-启动时默认打开页面】处更改"
|
||||
VerticalAlignment="Top" />
|
||||
<spp:Snackbar
|
||||
Title="{Binding Path=Res.Notice_Tray_Title, Mode=OneWay, Source={x:Static s:ResourceService.Current}}"
|
||||
VerticalAlignment="Top"
|
||||
IsClosable="False"
|
||||
IsOpen="True"
|
||||
IsVisible="{Binding !!!MainWindow2.PluginCount, Mode=OneWay, Source={x:Static s:IViewModelManager.Instance}}"
|
||||
Message="检测到你没有安装插件,请去下载插件即可使用更多功能。"
|
||||
Severity="Warning" />
|
||||
Severity="Warning"
|
||||
Title="{Binding Path=Res.Notice_Tray_Title, Mode=OneWay, Source={x:Static s:ResourceService.Current}}"
|
||||
VerticalAlignment="Top" />
|
||||
|
||||
<WrapPanel Margin="5,0">
|
||||
<WrapPanel IsVisible="{Binding Source={x:Static s:SteamConnectService.Current}, Path=CurrentSteamUser, Mode=OneWay, Converter={StaticResource IsNullConverter}, ConverterParameter=invert}">
|
||||
<spp:Image2
|
||||
Width="36"
|
||||
DecodeWidth="36"
|
||||
Height="36"
|
||||
Margin="0,0,5,0"
|
||||
VerticalAlignment="Center"
|
||||
DecodeWidth="36"
|
||||
Source="{Binding Source={x:Static s:SteamConnectService.Current}, Path=CurrentSteamUser.AvatarMedium, Mode=OneWay}"
|
||||
Stretch="Uniform">
|
||||
Stretch="Uniform"
|
||||
VerticalAlignment="Center"
|
||||
Width="36">
|
||||
<spp:Image2.Clip>
|
||||
<EllipseGeometry Rect="0,0,36,36" />
|
||||
</spp:Image2.Clip>
|
||||
</spp:Image2>
|
||||
<TextBlock
|
||||
VerticalAlignment="Center"
|
||||
Text="{Binding Source={x:Static s:SteamConnectService.Current}, Path=CurrentSteamUser.SteamNickName, Mode=OneWay}"
|
||||
Theme="{StaticResource SubtitleTextBlockStyle}" />
|
||||
Theme="{StaticResource SubtitleTextBlockStyle}"
|
||||
VerticalAlignment="Center" />
|
||||
<TextBlock
|
||||
VerticalAlignment="Center"
|
||||
IsVisible="{Binding Source={x:Static s:SteamConnectService.Current}, Path=CurrentSteamUser.IPCountry, Mode=OneWay, Converter={StaticResource IsNullConverter}, ConverterParameter=invert}"
|
||||
Text="{Binding Source={x:Static s:SteamConnectService.Current}, Path=CurrentSteamUser.IPCountry, Mode=OneWay, StringFormat={}({0})}"
|
||||
Theme="{StaticResource SubtitleTextBlockStyle}" />
|
||||
Theme="{StaticResource SubtitleTextBlockStyle}"
|
||||
VerticalAlignment="Center" />
|
||||
<TextBlock
|
||||
Margin="0,0,10,0"
|
||||
VerticalAlignment="Center"
|
||||
Text=","
|
||||
Theme="{StaticResource SubtitleTextBlockStyle}" />
|
||||
Theme="{StaticResource SubtitleTextBlockStyle}"
|
||||
VerticalAlignment="Center" />
|
||||
</WrapPanel>
|
||||
<TextBlock VerticalAlignment="Center" Theme="{StaticResource SubtitleTextBlockStyle}">
|
||||
<TextBlock Theme="{StaticResource SubtitleTextBlockStyle}" VerticalAlignment="Center">
|
||||
<Run Text="{Binding Path=Res.Welcome_User_, Mode=OneWay, Source={x:Static s:ResourceService.Current}}" />
|
||||
</TextBlock>
|
||||
</WrapPanel>
|
||||
|
||||
<Grid Margin="0,-10,0,0" RowDefinitions="Auto,*">
|
||||
<spp:CarouselBanner
|
||||
MinHeight="350"
|
||||
HorizontalContentAlignment="Stretch"
|
||||
VerticalContentAlignment="Stretch"
|
||||
ItemsSource="{Binding NavigationBanners}">
|
||||
ItemsSource="{Binding NavigationBanners}"
|
||||
MinHeight="350"
|
||||
VerticalContentAlignment="Stretch">
|
||||
<spp:CarouselBanner.ItemTemplate>
|
||||
<DataTemplate DataType="spp:AdvertisementDTO">
|
||||
<spp:AppItem
|
||||
Title="{Binding Describe}"
|
||||
Height="350"
|
||||
Classes="Banner Scale"
|
||||
ClickCommand="{Binding OpenBrowserCommand, Source={x:Static spp:App.Instance}}"
|
||||
ClickCommandParameter="{Binding Url}"
|
||||
Description="{Binding Name}"
|
||||
Height="350"
|
||||
Title="{Binding Describe}"
|
||||
ToolTip.Tip="{Binding Describe}">
|
||||
<spp:AppItem.Status>
|
||||
<Border
|
||||
Padding="20,10"
|
||||
Background="{DynamicResource AccentFillColorSelectedTextBackgroundBrush}"
|
||||
ClipToBounds="True"
|
||||
CornerRadius="{StaticResource ControlCornerRadius}">
|
||||
CornerRadius="{StaticResource ControlCornerRadius}"
|
||||
Padding="20,10">
|
||||
<TextBlock FontSize="16" Text="阅读更多" />
|
||||
</Border>
|
||||
</spp:AppItem.Status>
|
||||
@@ -176,22 +176,22 @@
|
||||
Spacing="10">
|
||||
<DockPanel>
|
||||
<TextBlock
|
||||
VerticalAlignment="Center"
|
||||
Text="最新消息"
|
||||
Theme="{StaticResource TitleTextBlockStyle}" />
|
||||
Theme="{StaticResource TitleTextBlockStyle}"
|
||||
VerticalAlignment="Center" />
|
||||
<Button
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Center"
|
||||
Command="{Binding OpenBrowserCommand, Source={x:Static spp:App.Instance}}"
|
||||
CommandParameter="{x:Static spp:HomePageViewModel.OfficialWebsite_Article}"
|
||||
Content="查看更多"
|
||||
DockPanel.Dock="Right"
|
||||
Theme="{StaticResource HyperlinkButton}" />
|
||||
HorizontalAlignment="Right"
|
||||
Theme="{StaticResource HyperlinkButton}"
|
||||
VerticalAlignment="Center" />
|
||||
</DockPanel>
|
||||
|
||||
<Grid Margin="0,0,0,20" ColumnDefinitions="*,10,*,10,*">
|
||||
<Grid ColumnDefinitions="*,10,*,10,*" Margin="0,0,0,20">
|
||||
<Grid.Styles>
|
||||
<Style x:DataType="spp:ArticleItemDTO" Selector="spp|AppItem">
|
||||
<Style Selector="spp|AppItem" x:DataType="spp:ArticleItemDTO">
|
||||
<Setter Property="Cursor" Value="Hand" />
|
||||
<Setter Property="Title" Value="{Binding Title}" />
|
||||
<Setter Property="Description" Value="{Binding Introduction}" />
|
||||
@@ -225,13 +225,13 @@
|
||||
</Grid.Styles>
|
||||
<spp:AppItem Classes="Vertical Scale" DataContext="{Binding Articles[0]}" />
|
||||
<spp:AppItem
|
||||
Grid.Column="2"
|
||||
Classes="Vertical Scale"
|
||||
DataContext="{Binding Articles[1]}" />
|
||||
DataContext="{Binding Articles[1]}"
|
||||
Grid.Column="2" />
|
||||
<spp:AppItem
|
||||
Grid.Column="4"
|
||||
Classes="Vertical Scale"
|
||||
DataContext="{Binding Articles[2]}" />
|
||||
DataContext="{Binding Articles[2]}"
|
||||
Grid.Column="4" />
|
||||
</Grid>
|
||||
|
||||
<!--<spp:CarouselItems ItemsPerPage="3" ItemsSource="{Binding Articles}">
|
||||
@@ -265,34 +265,34 @@
|
||||
|
||||
<DockPanel>
|
||||
<TextBlock
|
||||
VerticalAlignment="Center"
|
||||
Text="精选"
|
||||
Theme="{StaticResource TitleTextBlockStyle}" />
|
||||
Theme="{StaticResource TitleTextBlockStyle}"
|
||||
VerticalAlignment="Center" />
|
||||
<Button
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Center"
|
||||
Command="{Binding OpenBrowserCommand, Source={x:Static spp:App.Instance}}"
|
||||
CommandParameter="{x:Static spp:HomePageViewModel.WattGameUrl}"
|
||||
Content="访问 WattGame 商城"
|
||||
DockPanel.Dock="Right"
|
||||
Theme="{StaticResource HyperlinkButton}" />
|
||||
HorizontalAlignment="Right"
|
||||
Theme="{StaticResource HyperlinkButton}"
|
||||
VerticalAlignment="Center" />
|
||||
</DockPanel>
|
||||
|
||||
<spp:CarouselItems
|
||||
MinHeight="250"
|
||||
ItemsPerPage="4"
|
||||
ItemsSource="{Binding Shops}">
|
||||
ItemsSource="{Binding Shops}"
|
||||
MinHeight="250">
|
||||
<spp:CarouselItems.ItemTemplate>
|
||||
<DataTemplate x:DataType="spp:ShopRecommendGoodItem">
|
||||
<!--<Border spp:Animations.EnableAnimations="True">-->
|
||||
<spp:AppItem
|
||||
Title="{Binding Name}"
|
||||
MinHeight="250"
|
||||
MaxWidth="260"
|
||||
Classes="Vertical Scale"
|
||||
ClickCommand="{Binding OpenBrowserCommand, Source={x:Static spp:App.Instance}}"
|
||||
Cursor="Hand"
|
||||
MaxWidth="260"
|
||||
MinHeight="250"
|
||||
Tags="{Binding GoodsAllCategorysText}"
|
||||
Title="{Binding Name}"
|
||||
ToolTip.Tip="{Binding Brief}">
|
||||
<spp:AppItem.ClickCommandParameter>
|
||||
<MultiBinding Converter="{StaticResource StringFormatConverter}">
|
||||
@@ -310,31 +310,31 @@
|
||||
<Border Classes="Status">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock
|
||||
VerticalAlignment="Center"
|
||||
FontSize="12"
|
||||
Foreground="{DynamicResource TextFillColorSecondaryBrush}"
|
||||
IsVisible="{Binding !!DiscountValue}"
|
||||
Text="{Binding Mktprice, Converter={StaticResource StringFormatConverter}, ConverterParameter={x:Static spp:CurrencyCode.CNY}}"
|
||||
TextDecorations="Strikethrough" />
|
||||
TextDecorations="Strikethrough"
|
||||
VerticalAlignment="Center" />
|
||||
<TextBlock
|
||||
VerticalAlignment="Center"
|
||||
FontSize="14"
|
||||
Text="{Binding Price, Converter={StaticResource StringFormatConverter}, ConverterParameter={x:Static spp:CurrencyCode.CNY}}" />
|
||||
Text="{Binding Price, Converter={StaticResource StringFormatConverter}, ConverterParameter={x:Static spp:CurrencyCode.CNY}}"
|
||||
VerticalAlignment="Center" />
|
||||
</StackPanel>
|
||||
</Border>
|
||||
</spp:AppItem.Status>
|
||||
<spp:AppItem.ActionButton>
|
||||
<Border
|
||||
Height="24"
|
||||
Padding="8,0"
|
||||
Background="#4c6b22"
|
||||
ClipToBounds="True"
|
||||
CornerRadius="4"
|
||||
IsVisible="{Binding !!DiscountValue}">
|
||||
Height="24"
|
||||
IsVisible="{Binding !!DiscountValue}"
|
||||
Padding="8,0">
|
||||
<TextBlock
|
||||
VerticalAlignment="Center"
|
||||
Foreground="#beee11"
|
||||
Text="{Binding DiscountValue, StringFormat={}-{0}%}" />
|
||||
Text="{Binding DiscountValue, StringFormat={}-{0}%}"
|
||||
VerticalAlignment="Center" />
|
||||
</Border>
|
||||
</spp:AppItem.ActionButton>
|
||||
</spp:AppItem>
|
||||
@@ -522,9 +522,9 @@
|
||||
<ItemsControl ItemsSource="{Binding MainWindow2.TabItems, Mode=OneWay, Source={x:Static s:IViewModelManager.Instance}}">
|
||||
<ItemsControl.Resources>
|
||||
<ControlTheme
|
||||
x:Key="NavButtonStyle"
|
||||
BasedOn="{StaticResource {x:Type Button}}"
|
||||
TargetType="Button">
|
||||
TargetType="Button"
|
||||
x:Key="NavButtonStyle">
|
||||
<Setter Property="Width" Value="120" />
|
||||
<Setter Property="Padding" Value="0" />
|
||||
<Setter Property="Margin" Value="6" />
|
||||
@@ -543,28 +543,28 @@
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate DataType="spp:TabItemViewModel">
|
||||
<Border spp:Animations.EnableAnimations="True">
|
||||
<Border spp:Animations.EnableAnimations="False">
|
||||
<Button
|
||||
Command="{Binding $parent[spp:HomePage].((spp:HomePageViewModel)DataContext).NavgationToMenuPageCommand}"
|
||||
CommandParameter="{Binding}"
|
||||
Theme="{StaticResource NavButtonStyle}">
|
||||
<Grid RowDefinitions="3*,*">
|
||||
<Border
|
||||
HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Stretch"
|
||||
CornerRadius="4 4 0 0"
|
||||
RenderOptions.BitmapInterpolationMode="HighQuality">
|
||||
HorizontalAlignment="Stretch"
|
||||
RenderOptions.BitmapInterpolationMode="HighQuality"
|
||||
VerticalAlignment="Stretch">
|
||||
<spp:Image2
|
||||
Width="96"
|
||||
Height="96"
|
||||
Margin="0,10,0,0"
|
||||
Source="{Binding IconKey}"
|
||||
Stretch="Uniform" />
|
||||
Stretch="Uniform"
|
||||
Width="96" />
|
||||
</Border>
|
||||
<TextBlock
|
||||
FontWeight="SemiBold"
|
||||
Grid.Row="1"
|
||||
Margin="12"
|
||||
FontWeight="SemiBold"
|
||||
Text="{Binding Name}" />
|
||||
</Grid>
|
||||
</Button>
|
||||
@@ -703,9 +703,9 @@
|
||||
</TabControl>-->
|
||||
|
||||
<TextBlock
|
||||
Margin="0,30"
|
||||
HorizontalAlignment="Center"
|
||||
Foreground="{DynamicResource TextFillColorSecondaryBrush}"
|
||||
HorizontalAlignment="Center"
|
||||
Margin="0,30"
|
||||
Text="不忘初心,方得始终。"
|
||||
Theme="{StaticResource SubtitleTextBlockStyle}" />
|
||||
</StackPanel>
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate DataType="spp:TabItemViewModel">
|
||||
<Border spp:Animations.EnableAnimations="True">
|
||||
<Border spp:Animations.EnableAnimations="False">
|
||||
<Button
|
||||
Command="{Binding $parent[spp:PluginStorePage].((spp:PluginStorePageViewModel)DataContext).NavgationToMenuPageCommand}"
|
||||
CommandParameter="{Binding}"
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
<UserControl
|
||||
d:DesignHeight="680"
|
||||
d:DesignWidth="1080"
|
||||
mc:Ignorable="d"
|
||||
x:Class="BD.WTTS.UI.Views.Pages.Settings_UI"
|
||||
x:CompileBindings="True"
|
||||
x:DataType="spp:SettingsPageViewModel"
|
||||
xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:com="https://steampp.net/common"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:enum="using:BD.WTTS.Enums"
|
||||
@@ -11,11 +15,7 @@
|
||||
xmlns:s="https://steampp.net/services"
|
||||
xmlns:spp="https://steampp.net/ui"
|
||||
xmlns:ui="using:FluentAvalonia.UI.Controls"
|
||||
d:DesignHeight="680"
|
||||
d:DesignWidth="1080"
|
||||
x:CompileBindings="True"
|
||||
x:DataType="spp:SettingsPageViewModel"
|
||||
mc:Ignorable="d">
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<StackPanel Spacing="{StaticResource SettingsSpacing}">
|
||||
<TextBlock
|
||||
Margin="0,0,0,10"
|
||||
@@ -82,125 +82,125 @@
|
||||
<StackPanel Orientation="Horizontal" Spacing="10">
|
||||
<RadioButton Content="{Binding Path=Res.Settings_UI_SystemDefault, Mode=OneWay, Source={x:Static s:ResourceService.Current}}" IsChecked="{Binding Source={x:Static ms:UISettings.UseSystemThemeAccent}, Path=Value, Mode=TwoWay}" />
|
||||
<RadioButton
|
||||
x:Name="AccentCustom"
|
||||
Content="{Binding Path=Res.Settings_UI_Custom, Mode=OneWay, Source={x:Static s:ResourceService.Current}}"
|
||||
IsChecked="{Binding Source={x:Static ms:UISettings.UseSystemThemeAccent}, Path=!Value, Mode=OneWay}" />
|
||||
IsChecked="{Binding Source={x:Static ms:UISettings.UseSystemThemeAccent}, Path=!Value, Mode=OneWay}"
|
||||
x:Name="AccentCustom" />
|
||||
</StackPanel>
|
||||
</spp:OptionsDisplayItem.ActionButton>
|
||||
<spp:OptionsDisplayItem.Content>
|
||||
<StackPanel Spacing="4">
|
||||
<DockPanel Margin="24,0,0,6" LastChildFill="False">
|
||||
<DockPanel LastChildFill="False" Margin="24,0,0,6">
|
||||
<TextBlock
|
||||
VerticalAlignment="Center"
|
||||
DockPanel.Dock="Left"
|
||||
Text="{Binding Path=Res.Settings_UI_PreviewColor, Mode=OneWay, Source={x:Static s:ResourceService.Current}}" />
|
||||
Text="{Binding Path=Res.Settings_UI_PreviewColor, Mode=OneWay, Source={x:Static s:ResourceService.Current}}"
|
||||
VerticalAlignment="Center" />
|
||||
|
||||
<Grid
|
||||
HorizontalAlignment="Left"
|
||||
ColumnDefinitions="*,*"
|
||||
DockPanel.Dock="Right"
|
||||
HorizontalAlignment="Left"
|
||||
RowDefinitions="*,*,*,*">
|
||||
<Border
|
||||
Background="{DynamicResource SystemAccentColor}"
|
||||
Grid.ColumnSpan="2"
|
||||
Height="40"
|
||||
Background="{DynamicResource SystemAccentColor}">
|
||||
Height="40">
|
||||
<TextBlock
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Foreground="{DynamicResource TextOnAccentFillColorPrimaryBrush}"
|
||||
Text="SystemAccentColor" />
|
||||
HorizontalAlignment="Center"
|
||||
Text="SystemAccentColor"
|
||||
VerticalAlignment="Center" />
|
||||
</Border>
|
||||
|
||||
<Border
|
||||
Background="{DynamicResource SystemAccentColorLight1}"
|
||||
Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Width="90"
|
||||
Height="40"
|
||||
Background="{DynamicResource SystemAccentColorLight1}">
|
||||
Width="90">
|
||||
<TextBlock
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Foreground="{DynamicResource TextOnAccentFillColorPrimaryBrush}"
|
||||
Text="Light1" />
|
||||
HorizontalAlignment="Center"
|
||||
Text="Light1"
|
||||
VerticalAlignment="Center" />
|
||||
</Border>
|
||||
<Border
|
||||
Background="{DynamicResource SystemAccentColorLight2}"
|
||||
Grid.Column="0"
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Width="90"
|
||||
Height="40"
|
||||
Background="{DynamicResource SystemAccentColorLight2}">
|
||||
Width="90">
|
||||
<TextBlock
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Foreground="{DynamicResource TextOnAccentFillColorPrimaryBrush}"
|
||||
Text="Light2" />
|
||||
HorizontalAlignment="Center"
|
||||
Text="Light2"
|
||||
VerticalAlignment="Center" />
|
||||
</Border>
|
||||
<Border
|
||||
Grid.Row="3"
|
||||
Background="{DynamicResource SystemAccentColorLight3}"
|
||||
Grid.Column="0"
|
||||
Width="90"
|
||||
Grid.Row="3"
|
||||
Height="40"
|
||||
Background="{DynamicResource SystemAccentColorLight3}">
|
||||
Width="90">
|
||||
<TextBlock
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Foreground="{DynamicResource TextOnAccentFillColorPrimaryBrush}"
|
||||
Text="Light3" />
|
||||
HorizontalAlignment="Center"
|
||||
Text="Light3"
|
||||
VerticalAlignment="Center" />
|
||||
</Border>
|
||||
|
||||
<Border
|
||||
Background="{DynamicResource SystemAccentColorDark1}"
|
||||
Grid.Column="1"
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Width="90"
|
||||
Height="40"
|
||||
Background="{DynamicResource SystemAccentColorDark1}">
|
||||
Width="90">
|
||||
<TextBlock
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Foreground="{DynamicResource TextOnAccentFillColorPrimaryBrush}"
|
||||
Text="Dark1" />
|
||||
HorizontalAlignment="Center"
|
||||
Text="Dark1"
|
||||
VerticalAlignment="Center" />
|
||||
</Border>
|
||||
<Border
|
||||
Background="{DynamicResource SystemAccentColorDark2}"
|
||||
Grid.Column="1"
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
Width="90"
|
||||
Height="40"
|
||||
Background="{DynamicResource SystemAccentColorDark2}">
|
||||
Width="90">
|
||||
<TextBlock
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Foreground="{DynamicResource TextOnAccentFillColorPrimaryBrush}"
|
||||
Text="Dark2" />
|
||||
HorizontalAlignment="Center"
|
||||
Text="Dark2"
|
||||
VerticalAlignment="Center" />
|
||||
</Border>
|
||||
<Border
|
||||
Grid.Row="3"
|
||||
Background="{DynamicResource SystemAccentColorDark3}"
|
||||
Grid.Column="1"
|
||||
Width="90"
|
||||
Grid.Row="3"
|
||||
Height="40"
|
||||
Background="{DynamicResource SystemAccentColorDark3}">
|
||||
Width="90">
|
||||
<TextBlock
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Foreground="{DynamicResource TextOnAccentFillColorPrimaryBrush}"
|
||||
Text="Dark3" />
|
||||
HorizontalAlignment="Center"
|
||||
Text="Dark3"
|
||||
VerticalAlignment="Center" />
|
||||
</Border>
|
||||
</Grid>
|
||||
</DockPanel>
|
||||
|
||||
<Border
|
||||
Background="{DynamicResource ApplicationPageBackgroundThemeBrush}"
|
||||
Height="1"
|
||||
Margin="-20"
|
||||
Background="{DynamicResource ApplicationPageBackgroundThemeBrush}" />
|
||||
Margin="-20" />
|
||||
|
||||
|
||||
<TextBlock Margin="24,24,0,0" Text="Windows 颜色" />
|
||||
|
||||
<ListBox
|
||||
Name="ColorListBox"
|
||||
MaxWidth="441"
|
||||
Margin="24,0,24,12"
|
||||
HorizontalAlignment="Left"
|
||||
AutoScrollToSelectedItem="False"
|
||||
HorizontalAlignment="Left"
|
||||
Margin="24,0,24,12"
|
||||
MaxWidth="441"
|
||||
Name="ColorListBox"
|
||||
SelectedItem="{Binding Source={x:Static ms:UISettings.ThemeAccent}, Converter={StaticResource ColorStringToBrushConverter}, Path=Value, Mode=TwoWay}">
|
||||
<ListBox.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
@@ -218,22 +218,22 @@
|
||||
<ControlTemplate>
|
||||
<Panel>
|
||||
<Border
|
||||
Name="Root"
|
||||
BorderThickness="2"
|
||||
CornerRadius="{StaticResource ControlCornerRadius}">
|
||||
CornerRadius="{StaticResource ControlCornerRadius}"
|
||||
Name="Root">
|
||||
<Border.Background>
|
||||
<SolidColorBrush Color="{Binding}" />
|
||||
</Border.Background>
|
||||
</Border>
|
||||
|
||||
<Border
|
||||
Name="Check"
|
||||
Width="20"
|
||||
Background="{DynamicResource FocusStrokeColorOuter}"
|
||||
Height="20"
|
||||
Margin="0,2,2,0"
|
||||
HorizontalAlignment="Right"
|
||||
Margin="0,2,2,0"
|
||||
Name="Check"
|
||||
VerticalAlignment="Top"
|
||||
Background="{DynamicResource FocusStrokeColorOuter}">
|
||||
Width="20">
|
||||
<ui:SymbolIcon
|
||||
FontSize="18"
|
||||
Foreground="{DynamicResource SystemAccentColor}"
|
||||
@@ -261,26 +261,17 @@
|
||||
</ListBox>
|
||||
|
||||
<Border
|
||||
Background="{DynamicResource ApplicationPageBackgroundThemeBrush}"
|
||||
Height="1"
|
||||
Margin="-20"
|
||||
Background="{DynamicResource ApplicationPageBackgroundThemeBrush}" />
|
||||
Margin="-20" />
|
||||
|
||||
<DockPanel Margin="24,6,0,0" LastChildFill="False">
|
||||
<DockPanel LastChildFill="False" Margin="24,6,0,0">
|
||||
<TextBlock
|
||||
VerticalAlignment="Center"
|
||||
DockPanel.Dock="Left"
|
||||
Text="{Binding Path=Res.Settings_UI_CustomColor, Mode=OneWay, Source={x:Static s:ResourceService.Current}}" />
|
||||
Text="{Binding Path=Res.Settings_UI_CustomColor, Mode=OneWay, Source={x:Static s:ResourceService.Current}}"
|
||||
VerticalAlignment="Center" />
|
||||
|
||||
<ui:ColorPickerButton
|
||||
DockPanel.Dock="Right"
|
||||
IsCompact="True"
|
||||
IsMoreButtonVisible="True"
|
||||
ShowAcceptDismissButtons="True"
|
||||
UseColorPalette="False"
|
||||
UseColorTriangle="False"
|
||||
UseColorWheel="False"
|
||||
UseSpectrum="True"
|
||||
Color="{Binding Source={x:Static ms:UISettings.ThemeAccent}, Converter={StaticResource ColorStringToBrushConverter}, Path=Value, Mode=TwoWay}" />
|
||||
<ColorPicker Color="{Binding Source={x:Static ms:UISettings.ThemeAccent}, Converter={StaticResource ColorStringToBrushConverter}, Path=Value, Mode=TwoWay}" DockPanel.Dock="Right" />
|
||||
</DockPanel>
|
||||
</StackPanel>
|
||||
</spp:OptionsDisplayItem.Content>
|
||||
@@ -298,7 +289,7 @@
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<DataTemplate.DataType>
|
||||
<x:Type x:TypeArguments="x:String, x:String" TypeName="generic:KeyValuePair" />
|
||||
<x:Type TypeName="generic:KeyValuePair" x:TypeArguments="x:String, x:String" />
|
||||
</DataTemplate.DataType>
|
||||
<TextBlock Text="{Binding Value, Mode=OneWay}" />
|
||||
</DataTemplate>
|
||||
@@ -321,7 +312,7 @@
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<DataTemplate.DataType>
|
||||
<x:Type x:TypeArguments="x:String, x:String" TypeName="generic:KeyValuePair" />
|
||||
<x:Type TypeName="generic:KeyValuePair" x:TypeArguments="x:String, x:String" />
|
||||
</DataTemplate.DataType>
|
||||
<TextBlock FontFamily="{Binding Value, Mode=OneWay, Converter={StaticResource NameToFontFamilyConverter}}" Text="{Binding Key, Mode=OneWay}" />
|
||||
</DataTemplate>
|
||||
@@ -360,8 +351,8 @@
|
||||
</spp:OptionsDisplayItem.Icon>
|
||||
<spp:OptionsDisplayItem.ActionButton>
|
||||
<Slider
|
||||
MinWidth="250"
|
||||
Maximum="1.0"
|
||||
MinWidth="250"
|
||||
Minimum="0"
|
||||
Value="{Binding Value, Source={x:Static ms:UISettings.WindowBackgroundOpacity}, Mode=TwoWay}" />
|
||||
</spp:OptionsDisplayItem.ActionButton>
|
||||
@@ -381,72 +372,72 @@
|
||||
|
||||
<spp:OptionsDisplayItem.Content>
|
||||
<StackPanel Spacing="4">
|
||||
<DockPanel Margin="24,0,0,6" LastChildFill="False">
|
||||
<DockPanel LastChildFill="False" Margin="24,0,0,6">
|
||||
<TextBlock
|
||||
VerticalAlignment="Center"
|
||||
DockPanel.Dock="Left"
|
||||
Text="{Binding Path=Res.PreviewPictures, Mode=OneWay, Source={x:Static s:ResourceService.Current}}" />
|
||||
Text="{Binding Path=Res.PreviewPictures, Mode=OneWay, Source={x:Static s:ResourceService.Current}}"
|
||||
VerticalAlignment="Center" />
|
||||
|
||||
<Image
|
||||
Width="250"
|
||||
DockPanel.Dock="Right"
|
||||
Height="150"
|
||||
HorizontalAlignment="Left"
|
||||
DockPanel.Dock="Right"
|
||||
RenderOptions.BitmapInterpolationMode="HighQuality"
|
||||
Source="{Binding Source={x:Static ms:UISettings.WindowBackgroundCustomImagePath}, Path=Value, Mode=OneWay, Converter={StaticResource BitmapAssetValueConverter}}"
|
||||
Stretch="{Binding Source={x:Static ms:UISettings.WindowBackgroundCustomImageStretch}, Path=Value, Mode=OneWay, Converter={StaticResource EnumConverter}, ConverterParameter={x:Type Stretch}}" />
|
||||
Stretch="{Binding Source={x:Static ms:UISettings.WindowBackgroundCustomImageStretch}, Path=Value, Mode=OneWay, Converter={StaticResource EnumConverter}, ConverterParameter={x:Type Stretch}}"
|
||||
Width="250" />
|
||||
</DockPanel>
|
||||
|
||||
<Border
|
||||
Background="{DynamicResource ApplicationPageBackgroundThemeBrush}"
|
||||
Height="1"
|
||||
Margin="-20"
|
||||
Background="{DynamicResource ApplicationPageBackgroundThemeBrush}" />
|
||||
Margin="-20" />
|
||||
|
||||
|
||||
<DockPanel Margin="24,6,0,6" LastChildFill="False">
|
||||
<DockPanel LastChildFill="False" Margin="24,6,0,6">
|
||||
<TextBlock
|
||||
VerticalAlignment="Center"
|
||||
DockPanel.Dock="Left"
|
||||
Text="{Binding Path=Res.Settings_UI_BackgroundImageOpacity, Mode=OneWay, Source={x:Static s:ResourceService.Current}}" />
|
||||
Text="{Binding Path=Res.Settings_UI_BackgroundImageOpacity, Mode=OneWay, Source={x:Static s:ResourceService.Current}}"
|
||||
VerticalAlignment="Center" />
|
||||
<Slider
|
||||
MinWidth="250"
|
||||
DockPanel.Dock="Right"
|
||||
Maximum="1.0"
|
||||
MinWidth="250"
|
||||
Minimum="0"
|
||||
Value="{Binding Value, Source={x:Static ms:UISettings.WindowBackgroundCustomImageOpacity}, Mode=TwoWay}" />
|
||||
</DockPanel>
|
||||
|
||||
<Border
|
||||
Background="{DynamicResource ApplicationPageBackgroundThemeBrush}"
|
||||
Height="1"
|
||||
Margin="-20"
|
||||
Background="{DynamicResource ApplicationPageBackgroundThemeBrush}" />
|
||||
Margin="-20" />
|
||||
|
||||
|
||||
<DockPanel Margin="24,6,0,6" LastChildFill="False">
|
||||
<DockPanel LastChildFill="False" Margin="24,6,0,6">
|
||||
<TextBlock
|
||||
VerticalAlignment="Center"
|
||||
DockPanel.Dock="Left"
|
||||
Text="{Binding Path=Res.SelectPicture, Mode=OneWay, Source={x:Static s:ResourceService.Current}}" />
|
||||
Text="{Binding Path=Res.SelectPicture, Mode=OneWay, Source={x:Static s:ResourceService.Current}}"
|
||||
VerticalAlignment="Center" />
|
||||
<Button
|
||||
MinWidth="150"
|
||||
Command="{Binding SelectImage_Click}"
|
||||
Content="{Binding Path=Res.Settings_UI_SelectImage, Mode=OneWay, Source={x:Static s:ResourceService.Current}}"
|
||||
DockPanel.Dock="Right" />
|
||||
DockPanel.Dock="Right"
|
||||
MinWidth="150" />
|
||||
</DockPanel>
|
||||
|
||||
<Border
|
||||
Background="{DynamicResource ApplicationPageBackgroundThemeBrush}"
|
||||
Height="1"
|
||||
Margin="-20"
|
||||
Background="{DynamicResource ApplicationPageBackgroundThemeBrush}" />
|
||||
Margin="-20" />
|
||||
|
||||
<DockPanel Margin="24,6,0,0" LastChildFill="False">
|
||||
<DockPanel LastChildFill="False" Margin="24,6,0,0">
|
||||
<TextBlock
|
||||
VerticalAlignment="Center"
|
||||
DockPanel.Dock="Left"
|
||||
Text="{Binding Path=Res.PictureZoom, Mode=OneWay, Source={x:Static s:ResourceService.Current}}" />
|
||||
Text="{Binding Path=Res.PictureZoom, Mode=OneWay, Source={x:Static s:ResourceService.Current}}"
|
||||
VerticalAlignment="Center" />
|
||||
<ComboBox
|
||||
MinWidth="150"
|
||||
DockPanel.Dock="Right"
|
||||
MinWidth="150"
|
||||
SelectedItem="{Binding Source={x:Static ms:UISettings.WindowBackgroundCustomImageStretch}, Path=Value, Mode=TwoWay}">
|
||||
<ComboBox.Items>
|
||||
<spp:XamlMediaStretch>Fill</spp:XamlMediaStretch>
|
||||
@@ -472,21 +463,21 @@
|
||||
<ListBoxItem>
|
||||
<Grid ColumnDefinitions="Auto,*,Auto">
|
||||
<ui:ImageIcon
|
||||
Width="24"
|
||||
Height="24"
|
||||
Margin="8"
|
||||
Source="{Binding IconKey, Converter={StaticResource BitmapAssetValueConverter}}"
|
||||
VerticalAlignment="Center"
|
||||
Source="{Binding IconKey, Converter={StaticResource BitmapAssetValueConverter}}" />
|
||||
Width="24" />
|
||||
<TextBlock
|
||||
Grid.Column="1"
|
||||
VerticalAlignment="Center"
|
||||
Text="{Binding Name}" />
|
||||
Text="{Binding Name}"
|
||||
VerticalAlignment="Center" />
|
||||
<Viewbox
|
||||
Grid.Column="2"
|
||||
Width="18"
|
||||
Height="18"
|
||||
Margin="8,0"
|
||||
VerticalAlignment="Center">
|
||||
VerticalAlignment="Center"
|
||||
Width="18">
|
||||
<ui:FontIcon FontFamily="{StaticResource SymbolThemeFontFamily}" Glyph="{StaticResource Move}" />
|
||||
</Viewbox>
|
||||
</Grid>
|
||||
|
||||
@@ -190,7 +190,7 @@ public sealed class AppSplashScreen : IApplicationSplashScreen
|
||||
});
|
||||
|
||||
AdvertiseService.Current.InitAdvertise();
|
||||
await NoticeService.Current.GetNewsAsync();
|
||||
NoticeService.Current.GetNews();
|
||||
|
||||
var mainWindow = App.Instance.MainWindow;
|
||||
mainWindow.ThrowIsNull();
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
|
||||
<ItemGroup>
|
||||
<!-- PackageReference -->
|
||||
<PackageReference Include="BD.Common" />
|
||||
<ProjectReference Include="..\..\ref\Common\src\BD.Common\BD.Common.csproj" />
|
||||
<PackageReference Include="dotnetCampus.Ipc" />
|
||||
<PackageReference Include="NLog" />
|
||||
<PackageReference Include="NLog.Extensions.Logging" />
|
||||
|
||||
+8
-4
@@ -92,8 +92,10 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="BD.Common" />
|
||||
<PackageReference Include="BD.Common.Repositories.SQLitePCL" />
|
||||
<!--<PackageReference Include="BD.Common" />
|
||||
<PackageReference Include="BD.Common.Repositories.SQLitePCL" />-->
|
||||
<ProjectReference Include="..\..\ref\Common\src\BD.Common.Repositories.SQLitePCL\BD.Common.Repositories.SQLitePCL.csproj" />
|
||||
<ProjectReference Include="..\..\ref\Common\src\BD.Common\BD.Common.csproj" />
|
||||
<PackageReference Include="NLog" />
|
||||
<PackageReference Include="System.Linq.Async" />
|
||||
<PackageReference Include="Ae.DNS.Client" />
|
||||
@@ -101,9 +103,9 @@
|
||||
<PackageReference Include="DnsClient" />
|
||||
<PackageReference Include="Yarp.ReverseProxy" />
|
||||
<PackageReference Include="NLog.Web.AspNetCore" />
|
||||
<PackageReference Include="Aigio.Any.AppCenter" />
|
||||
<!--<PackageReference Include="Aigio.Any.AppCenter" />
|
||||
<PackageReference Include="Aigio.Any.AppCenter.Analytics" />
|
||||
<PackageReference Include="Aigio.Any.AppCenter.Crashes" />
|
||||
<PackageReference Include="Aigio.Any.AppCenter.Crashes" />-->
|
||||
<PackageReference Include="System.Drawing.Common" />
|
||||
<PackageReference Include="System.Runtime.Caching" />
|
||||
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" />
|
||||
@@ -119,6 +121,8 @@
|
||||
<ProjectReference Include="..\BD.WTTS.Client.IPC\BD.WTTS.Client.IPC.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="..\OSShuttingDownHelper\OSShuttingDownHelper.projitems" Label="Shared" />
|
||||
|
||||
<!-- 此项目不使用平台 TFM !!! -->
|
||||
<Import Project="..\TFM_NETX.props" />
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using BD.Common.Repositories.Abstractions;
|
||||
using dotnetCampus.Ipc.CompilerServices.GeneratedProxies;
|
||||
using Windows.Win32;
|
||||
using KeyValuePair = BD.Common.Entities.KeyValuePair;
|
||||
|
||||
const string moduleName = AssemblyInfo.Accelerator;
|
||||
@@ -35,6 +36,12 @@ static bool IsProcessElevated_DEBUG_Only()
|
||||
return principal.IsInRole(WindowsBuiltInRole.Administrator);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (OSShuttingDownHelper.IsSystemShuttingDown())
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
var exitCode = await IPCSubProcessService.MainAsync(moduleName, pluginName, ConfigureServices, static ipcProvider =>
|
||||
@@ -77,7 +84,7 @@ static void ConfigureServices(IServiceCollection services)
|
||||
services.AddLogging(l =>
|
||||
{
|
||||
l.ClearProviders();
|
||||
l.AddNLog(LogManager.Configuration); // 添加 NLog 日志
|
||||
l.AddNLog(LogManager.Configuration!); // 添加 NLog 日志
|
||||
#if DEBUG
|
||||
l.AddConsole();
|
||||
#endif
|
||||
|
||||
+1
-1
@@ -179,7 +179,7 @@ public partial interface IReverseProxySettings
|
||||
string? ServerSideProxyToken { get; set; }
|
||||
}
|
||||
|
||||
[MP2Obj(SerializeLayout.Explicit)]
|
||||
[MP2Obj(GenerateType.VersionTolerant, SerializeLayout.Explicit)]
|
||||
public readonly partial record struct ReverseProxySettings(
|
||||
[property: MP2Key(0)]
|
||||
IReadOnlyCollection<AccelerateProjectDTO>? ProxyDomains,
|
||||
|
||||
@@ -436,7 +436,7 @@ partial class ProxyService
|
||||
{
|
||||
public static implicit operator OperateProxyServiceResult(string error) => new(error);
|
||||
|
||||
public static implicit operator OperateProxyServiceResult(Exception exception) => new(null, exception);
|
||||
public static implicit operator OperateProxyServiceResult(Exception exception) => new(exception.Message, exception);
|
||||
|
||||
/// <summary>
|
||||
/// 将返回结果使用 Toast 显示并且返回当前应设置的代理状态
|
||||
|
||||
@@ -11,7 +11,7 @@ internal partial class GameAcceleratorSettingsContext : JsonSerializerContext
|
||||
=> instance ??= new GameAcceleratorSettingsContext(ISettings.GetDefaultOptions());
|
||||
}
|
||||
|
||||
[MPObj, MP2Obj(SerializeLayout.Explicit)]
|
||||
[MP2Obj(SerializeLayout.Explicit)]
|
||||
public sealed partial class GameAcceleratorSettings_ : ISettings, ISettings<GameAcceleratorSettings_>
|
||||
{
|
||||
public const string Name = nameof(GameAcceleratorSettings);
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Platform.Storage;
|
||||
using Avalonia.ReactiveUI;
|
||||
using ReactiveUI.Avalonia;
|
||||
using BD.WTTS.Helpers;
|
||||
|
||||
namespace BD.WTTS.UI.Views.Controls;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.ReactiveUI;
|
||||
using ReactiveUI.Avalonia;
|
||||
|
||||
namespace BD.WTTS.UI.Views.Controls;
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Data;
|
||||
using Avalonia.ReactiveUI;
|
||||
using ReactiveUI.Avalonia;
|
||||
using System.CommandLine;
|
||||
|
||||
namespace BD.WTTS.UI.Views.Controls;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.ReactiveUI;
|
||||
using ReactiveUI.Avalonia;
|
||||
|
||||
namespace BD.WTTS.UI.Views.Controls;
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using Avalonia.ReactiveUI;
|
||||
using ReactiveUI.Avalonia;
|
||||
|
||||
namespace BD.WTTS.UI.Views.Pages;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.ReactiveUI;
|
||||
using ReactiveUI.Avalonia;
|
||||
|
||||
namespace BD.WTTS.UI.Views.Pages;
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
</ItemsRepeater.Layout>
|
||||
<ItemsRepeater.ItemTemplate>
|
||||
<DataTemplate DataType="spp:ScriptDTO">
|
||||
<Border spp:Animations.EnableAnimations="True">
|
||||
<Border spp:Animations.EnableAnimations="False">
|
||||
<spp:AppItem
|
||||
Title="{Binding Name}"
|
||||
MaxWidth="135"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using Avalonia.ReactiveUI;
|
||||
using ReactiveUI.Avalonia;
|
||||
|
||||
namespace BD.WTTS.UI.Views.Pages;
|
||||
|
||||
|
||||
-4
@@ -135,10 +135,6 @@
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="Settings\" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="..\TFM_NETX_WITH_DESKTOP.props" />
|
||||
|
||||
</Project>
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Interactivity;
|
||||
using Avalonia.ReactiveUI;
|
||||
using ReactiveUI.Avalonia;
|
||||
using BD.WTTS.UI.Views.Controls;
|
||||
|
||||
namespace BD.WTTS.UI.Views.Pages;
|
||||
|
||||
@@ -98,10 +98,6 @@
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="Services\" />
|
||||
</ItemGroup>
|
||||
|
||||
<!--<Import Project="..\TFM_NETX_WITH_ALL.props" />-->
|
||||
<Import Project="..\TFM_NETX_WITH_DESKTOP.props" />
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using Avalonia.Gif;
|
||||
using BD.Avalonia8.Image2;
|
||||
using BD.WTTS.UI.Views.Pages;
|
||||
using System.Threading;
|
||||
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@
|
||||
<Border
|
||||
Width="200"
|
||||
Margin="3"
|
||||
spp:Animations.EnableAnimations="True">
|
||||
spp:Animations.EnableAnimations="False">
|
||||
<spp:AppItem
|
||||
Title="{Binding Name}"
|
||||
Classes="Vertical"
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.ReactiveUI;
|
||||
using ReactiveUI.Avalonia;
|
||||
|
||||
namespace BD.WTTS.UI.Views.Pages;
|
||||
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.ReactiveUI;
|
||||
using ReactiveUI.Avalonia;
|
||||
using BD.WTTS.UI.Views.Controls;
|
||||
using FluentAvalonia.UI.Controls;
|
||||
using FluentAvalonia.UI.Media.Animation;
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.ReactiveUI;
|
||||
using ReactiveUI.Avalonia;
|
||||
|
||||
namespace BD.WTTS.UI.Views.Pages;
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Input;
|
||||
using Avalonia.ReactiveUI;
|
||||
using ReactiveUI.Avalonia;
|
||||
using BD.WTTS.UI.Views.Controls;
|
||||
using KeyEventArgs = Avalonia.Input.KeyEventArgs;
|
||||
|
||||
|
||||
@@ -103,10 +103,4 @@
|
||||
|
||||
<Import Project="..\TFM_NETX_WITH_DESKTOP.props" />
|
||||
|
||||
<ProjectExtensions>
|
||||
<VisualStudio>
|
||||
<UserProperties />
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
namespace BD.WTTS.Models;
|
||||
|
||||
[MessagePackObjectAttribute]
|
||||
[MP2Obj(SerializeLayout.Explicit)]
|
||||
public partial class PlatformSettings : BaseNotifyPropertyChanged
|
||||
{
|
||||
[MessagePack.Key(0)]
|
||||
[Reactive, MP2Key(0)]
|
||||
public string? PlatformPath { get; set; }
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
"PlatformIds": [ "e", "epg", "epic", "epicgames" ],
|
||||
"ExesToEnd": [ "EpicGamesLauncher.exe" ],
|
||||
"LoginFiles": {
|
||||
"%LocalAppData%\\EpicGamesLauncher\\Saved\\Config\\Windows\\GameUserSettings.ini": "GameUserSettings.ini",
|
||||
"%LocalAppData%\\EpicGamesLauncher\\Saved\\Config\\WindowsEditor\\GameUserSettings.ini": "GameUserSettings.ini",
|
||||
"REG:HKCU\\Software\\Epic Games\\Unreal Engine\\Identifiers:AccountId": "UNIQUE_ID"
|
||||
},
|
||||
"ClearPaths": [ "SAME_AS_LOGIN_FILES" ],
|
||||
|
||||
@@ -211,7 +211,7 @@
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate DataType="spp:IAccount">
|
||||
<Border Margin="5" spp:Animations.EnableAnimations="True">
|
||||
<Border Margin="5" spp:Animations.EnableAnimations="False">
|
||||
<spp:AppItem
|
||||
x:Name="Item"
|
||||
Title="{Binding DisplayName}"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.ReactiveUI;
|
||||
using ReactiveUI.Avalonia;
|
||||
using BD.SteamClient.Helpers;
|
||||
using FluentAvalonia.UI.Controls;
|
||||
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
<spp:PageBase
|
||||
Description="{Binding Description, Source={x:Static s:Plugin.Instance}, Mode=OneWay}"
|
||||
Subtitle="{Binding Author, Source={x:Static s:Plugin.Instance}, Mode=OneWay, Converter={StaticResource StringFormatConverter}, ConverterParameter=Plugin_Author}"
|
||||
Title="{Binding Name, Source={x:Static s:Plugin.Instance}, Mode=OneWay}"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
mc:Ignorable="d"
|
||||
x:Class="BD.WTTS.UI.Views.Pages.GameAccountPage"
|
||||
x:CompileBindings="True"
|
||||
x:DataType="spp:GameAccountPageViewModel"
|
||||
xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:ms="https://steampp.net/settings"
|
||||
xmlns:s="https://steampp.net/services"
|
||||
xmlns:spp="https://steampp.net/ui"
|
||||
xmlns:ui="using:FluentAvalonia.UI.Controls"
|
||||
Title="{Binding Name, Source={x:Static s:Plugin.Instance}, Mode=OneWay}"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
x:CompileBindings="True"
|
||||
x:DataType="spp:GameAccountPageViewModel"
|
||||
Description="{Binding Description, Source={x:Static s:Plugin.Instance}, Mode=OneWay}"
|
||||
Subtitle="{Binding Author, Source={x:Static s:Plugin.Instance}, Mode=OneWay, Converter={StaticResource StringFormatConverter}, ConverterParameter=Plugin_Author}"
|
||||
mc:Ignorable="d">
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<spp:PageBase.PreviewImage>
|
||||
<ui:ImageIconSource Source="{Binding Icon, Source={x:Static s:Plugin.Instance}, Mode=OneWay, Converter={StaticResource BitmapAssetValueConverter}}" />
|
||||
</spp:PageBase.PreviewImage>
|
||||
@@ -34,97 +34,97 @@
|
||||
<spp:PageBase.ActionContent>
|
||||
<StackPanel Orientation="Horizontal" Spacing="2">
|
||||
<Button
|
||||
Padding="8,4"
|
||||
Command="{Binding LoginNewCommand}"
|
||||
DockPanel.Dock="Right"
|
||||
Padding="8,4"
|
||||
Theme="{StaticResource TransparentButton}">
|
||||
<Panel>
|
||||
<Viewbox
|
||||
Width="16"
|
||||
Height="16"
|
||||
HorizontalAlignment="Left">
|
||||
HorizontalAlignment="Left"
|
||||
Width="16">
|
||||
<ui:SymbolIcon Symbol="Add" />
|
||||
</Viewbox>
|
||||
<TextBlock
|
||||
Margin="28,4,0,4"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"
|
||||
Text="{Binding Path=Res.UserChange_LoginNewAccount, Mode=OneWay, Source={x:Static s:ResourceService.Current}}" />
|
||||
Margin="28,4,0,4"
|
||||
Text="{Binding Path=Res.UserChange_LoginNewAccount, Mode=OneWay, Source={x:Static s:ResourceService.Current}}"
|
||||
VerticalAlignment="Center" />
|
||||
</Panel>
|
||||
</Button>
|
||||
<Button
|
||||
Padding="8,4"
|
||||
Command="{Binding SaveCurrentUserCommand}"
|
||||
DockPanel.Dock="Right"
|
||||
IsVisible="{Binding !IsSelectedSteam}"
|
||||
Padding="8,4"
|
||||
Theme="{StaticResource TransparentButton}">
|
||||
<Panel>
|
||||
<Viewbox
|
||||
Width="16"
|
||||
Height="16"
|
||||
HorizontalAlignment="Left">
|
||||
HorizontalAlignment="Left"
|
||||
Width="16">
|
||||
<ui:SymbolIcon Symbol="Save" />
|
||||
</Viewbox>
|
||||
<TextBlock
|
||||
Margin="28,4,0,4"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"
|
||||
Text="{Binding Path=Res.GameAccount_SaveCurrentAccount, Mode=OneWay, Source={x:Static s:ResourceService.Current}}" />
|
||||
Margin="28,4,0,4"
|
||||
Text="{Binding Path=Res.GameAccount_SaveCurrentAccount, Mode=OneWay, Source={x:Static s:ResourceService.Current}}"
|
||||
VerticalAlignment="Center" />
|
||||
</Panel>
|
||||
</Button>
|
||||
<!-- <Button -->
|
||||
<!-- Command="{Binding ShareManageCommand}" -->
|
||||
<!-- DockPanel.Dock="Right" -->
|
||||
<!-- IsVisible="{Binding IsSelectedSteam}" -->
|
||||
<!-- Padding="8,4" -->
|
||||
<!-- Theme="{StaticResource TransparentButton}"> -->
|
||||
<!-- <Panel> -->
|
||||
<!-- <Viewbox -->
|
||||
<!-- Height="16" -->
|
||||
<!-- HorizontalAlignment="Left" -->
|
||||
<!-- Width="16"> -->
|
||||
<!-- <ui:SymbolIcon Symbol="ShareAndroid" /> -->
|
||||
<!-- </Viewbox> -->
|
||||
<!-- <TextBlock -->
|
||||
<!-- HorizontalAlignment="Left" -->
|
||||
<!-- Margin="28,4,0,4" -->
|
||||
<!-- Text="{Binding Path=Res.AccountChange_Title, Mode=OneWay, Source={x:Static s:ResourceService.Current}}" -->
|
||||
<!-- VerticalAlignment="Center" /> -->
|
||||
<!-- </Panel> -->
|
||||
<!-- </Button> -->
|
||||
<Button
|
||||
Padding="8,4"
|
||||
Command="{Binding ShareManageCommand}"
|
||||
DockPanel.Dock="Right"
|
||||
IsVisible="{Binding IsSelectedSteam}"
|
||||
Theme="{StaticResource TransparentButton}">
|
||||
<Panel>
|
||||
<Viewbox
|
||||
Width="16"
|
||||
Height="16"
|
||||
HorizontalAlignment="Left">
|
||||
<ui:SymbolIcon Symbol="ShareAndroid" />
|
||||
</Viewbox>
|
||||
<TextBlock
|
||||
Margin="28,4,0,4"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"
|
||||
Text="{Binding Path=Res.AccountChange_Title, Mode=OneWay, Source={x:Static s:ResourceService.Current}}" />
|
||||
</Panel>
|
||||
</Button>
|
||||
<Button
|
||||
Padding="8,4"
|
||||
Command="{Binding RefreshCommand}"
|
||||
DockPanel.Dock="Right"
|
||||
Padding="8,4"
|
||||
Theme="{StaticResource TransparentButton}">
|
||||
<Panel>
|
||||
<Viewbox
|
||||
Width="16"
|
||||
Height="16"
|
||||
HorizontalAlignment="Left">
|
||||
HorizontalAlignment="Left"
|
||||
Width="16">
|
||||
<ui:SymbolIcon Symbol="Refresh" />
|
||||
</Viewbox>
|
||||
<TextBlock
|
||||
Margin="28,4,0,4"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"
|
||||
Text="{Binding Path=Res.Refresh, Mode=OneWay, Source={x:Static s:ResourceService.Current}}" />
|
||||
Margin="28,4,0,4"
|
||||
Text="{Binding Path=Res.Refresh, Mode=OneWay, Source={x:Static s:ResourceService.Current}}"
|
||||
VerticalAlignment="Center" />
|
||||
</Panel>
|
||||
</Button>
|
||||
<DropDownButton
|
||||
Padding="8"
|
||||
HorizontalContentAlignment="Center"
|
||||
VerticalContentAlignment="Center"
|
||||
Content="{StaticResource More}"
|
||||
FontFamily="{StaticResource SymbolThemeFontFamily}"
|
||||
FontSize="20"
|
||||
Theme="{StaticResource TransparentButton}">
|
||||
HorizontalContentAlignment="Center"
|
||||
Padding="8"
|
||||
Theme="{StaticResource TransparentButton}"
|
||||
VerticalContentAlignment="Center">
|
||||
<DropDownButton.Flyout>
|
||||
<ui:FAMenuFlyout Placement="BottomEdgeAlignedRight">
|
||||
<ui:MenuFlyoutItem
|
||||
x:Name="PlatformSettingButton"
|
||||
IsVisible="{Binding !IsSelectedSteam}"
|
||||
Text="平台设置" />
|
||||
Text="平台设置"
|
||||
x:Name="PlatformSettingButton" />
|
||||
<!--<ui:MenuFlyoutItem x:Name="PluginSettingButton" Text="{Binding Path=Res.Settings_Plugin, Mode=OneWay,Source={x:Static s:ResourceService.Current}}" />-->
|
||||
<ui:ToggleMenuFlyoutItem
|
||||
IsChecked="{Binding Source={x:Static ms:GameAccountSettings.IsShowAccountName}, Path=Value, Mode=TwoWay}"
|
||||
@@ -154,23 +154,23 @@
|
||||
</StackPanel>
|
||||
</spp:PageBase.ActionContent>
|
||||
<ui:TabView
|
||||
Padding="0"
|
||||
VerticalAlignment="Stretch"
|
||||
Background="Transparent"
|
||||
CloseButtonOverlayMode="OnPointerOver"
|
||||
IsAddTabButtonVisible="False"
|
||||
Padding="0"
|
||||
SelectedItem="{Binding SelectedPlatform}"
|
||||
SelectionChanged="TabView_SelectedItemChanged"
|
||||
TabCloseRequested="TabView_TabCloseRequested"
|
||||
TabItems="{Binding GamePlatforms}"
|
||||
TabWidthMode="Equal">
|
||||
TabWidthMode="Equal"
|
||||
VerticalAlignment="Stretch">
|
||||
<ui:TabView.TabStripFooter>
|
||||
<Button
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"
|
||||
Content=""
|
||||
FontFamily="{StaticResource SymbolThemeFontFamily}"
|
||||
Theme="{StaticResource TabViewButtonStyle}">
|
||||
HorizontalAlignment="Left"
|
||||
Theme="{StaticResource TabViewButtonStyle}"
|
||||
VerticalAlignment="Center">
|
||||
<Button.Flyout>
|
||||
<MenuFlyout Placement="BottomEdgeAlignedLeft">
|
||||
<MenuItem
|
||||
@@ -178,7 +178,7 @@
|
||||
IsVisible="{Binding !!AddGamePlatforms.Count}"
|
||||
ItemsSource="{Binding AddGamePlatforms}">
|
||||
<MenuItem.Styles>
|
||||
<Style x:DataType="spp:PlatformAccount" Selector="MenuItem">
|
||||
<Style Selector="MenuItem" x:DataType="spp:PlatformAccount">
|
||||
<Setter Property="Header" Value="{Binding FullName}" />
|
||||
<Setter Property="Icon">
|
||||
<Setter.Value>
|
||||
@@ -239,7 +239,7 @@
|
||||
</Button>
|
||||
</ui:TabView.TabStripFooter>
|
||||
<ui:TabView.Styles>
|
||||
<Style x:DataType="spp:PlatformAccount" Selector="ui|TabViewItem">
|
||||
<Style Selector="ui|TabViewItem" x:DataType="spp:PlatformAccount">
|
||||
<!--<Setter Property="IconSource">
|
||||
<ui:FontIconSource Glyph="{Binding Icon}" />
|
||||
</Setter>-->
|
||||
@@ -255,14 +255,14 @@
|
||||
<DataTemplate DataType="spp:PlatformAccount">
|
||||
<DockPanel>
|
||||
<PathIcon
|
||||
Width="16"
|
||||
Data="{Binding Icon, Converter={StaticResource ResourceKeyValueConverter}}"
|
||||
DockPanel.Dock="Left"
|
||||
Height="16"
|
||||
Margin="0,0,8,0"
|
||||
Data="{Binding Icon, Converter={StaticResource ResourceKeyValueConverter}}"
|
||||
DockPanel.Dock="Left" />
|
||||
Width="16" />
|
||||
<TextBlock DockPanel.Dock="Right" Text="{Binding FullName}" />
|
||||
</DockPanel>
|
||||
</DataTemplate>
|
||||
</ui:TabView.TabItemTemplate>
|
||||
</ui:TabView>
|
||||
</spp:PageBase>
|
||||
</spp:PageBase>
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.ReactiveUI;
|
||||
using ReactiveUI.Avalonia;
|
||||
|
||||
namespace BD.WTTS.UI.Views.Pages;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.ReactiveUI;
|
||||
using ReactiveUI.Avalonia;
|
||||
|
||||
namespace BD.WTTS.UI.Views.Pages;
|
||||
|
||||
|
||||
@@ -221,6 +221,7 @@
|
||||
FileStream="{Binding App.EditHeaderLogoStream, Mode=TwoWay}">
|
||||
<spp:Image2
|
||||
DecodeHeight="260"
|
||||
KeepSourceStreamOpen="True"
|
||||
Source="{Binding App.EditHeaderLogoStream}"
|
||||
Stretch="Uniform" />
|
||||
</spp:CustomFilePicker>
|
||||
@@ -275,6 +276,7 @@
|
||||
FileStream="{Binding App.EditLibraryGridStream, Mode=TwoWay}">
|
||||
<spp:Image2
|
||||
DecodeHeight="260"
|
||||
KeepSourceStreamOpen="True"
|
||||
Source="{Binding App.EditLibraryGridStream}"
|
||||
Stretch="Uniform" />
|
||||
</spp:CustomFilePicker>
|
||||
@@ -329,6 +331,7 @@
|
||||
FileStream="{Binding App.EditLibraryHeroStream, Mode=TwoWay}">
|
||||
<spp:Image2
|
||||
DecodeHeight="260"
|
||||
KeepSourceStreamOpen="True"
|
||||
Source="{Binding App.EditLibraryHeroStream}"
|
||||
Stretch="Uniform" />
|
||||
</spp:CustomFilePicker>
|
||||
@@ -381,6 +384,7 @@
|
||||
FileStream="{Binding App.EditLibraryLogoStream, Mode=TwoWay}">
|
||||
<spp:Image2
|
||||
DecodeWidth="220"
|
||||
KeepSourceStreamOpen="True"
|
||||
Source="{Binding App.EditLibraryLogoStream}"
|
||||
Stretch="Uniform" />
|
||||
</spp:CustomFilePicker>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Controls.Primitives;
|
||||
using Avalonia.ReactiveUI;
|
||||
using ReactiveUI.Avalonia;
|
||||
using Avalonia.VisualTree;
|
||||
using BD.SteamClient.Enums.SteamGridDB;
|
||||
using BD.SteamClient.Models.SteamGridDB;
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate DataType="spp:SteamApp">
|
||||
<Border Margin="5" spp:Animations.EnableAnimations="True">
|
||||
<Border Margin="5" spp:Animations.EnableAnimations="False">
|
||||
<spp:AppItem
|
||||
Title="{Binding DisplayName}"
|
||||
Height="270"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.ReactiveUI;
|
||||
using ReactiveUI.Avalonia;
|
||||
|
||||
namespace BD.WTTS.UI.Views.Pages;
|
||||
|
||||
|
||||
@@ -139,7 +139,7 @@
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate DataType="spp:SteamApp">
|
||||
<Border Margin="5" spp:Animations.EnableAnimations="True">
|
||||
<Border Margin="5" spp:Animations.EnableAnimations="False">
|
||||
<spp:AppItem
|
||||
Title="{Binding DisplayName}"
|
||||
Height="270"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.ReactiveUI;
|
||||
using ReactiveUI.Avalonia;
|
||||
|
||||
namespace BD.WTTS.UI.Views.Windows;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.ReactiveUI;
|
||||
using ReactiveUI.Avalonia;
|
||||
|
||||
namespace BD.WTTS.UI.Views.Windows;
|
||||
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
</ControlTheme>
|
||||
</ScrollViewer.Resources>
|
||||
<WrapPanel>
|
||||
<Border spp:Animations.EnableAnimations="True">
|
||||
<Border spp:Animations.EnableAnimations="False">
|
||||
<Button
|
||||
Click="GameToolsPage_Click"
|
||||
IsEnabled="{spp:OnPlatform Windows}"
|
||||
@@ -130,7 +130,7 @@
|
||||
</Button>
|
||||
</Border>
|
||||
|
||||
<Border spp:Animations.EnableAnimations="True">
|
||||
<Border spp:Animations.EnableAnimations="False">
|
||||
<Button
|
||||
Click="GameToolsPage_Click"
|
||||
IsEnabled="{spp:OnPlatform Windows}"
|
||||
@@ -160,7 +160,7 @@
|
||||
</Button>
|
||||
</Border>
|
||||
|
||||
<Border spp:Animations.EnableAnimations="True">
|
||||
<Border spp:Animations.EnableAnimations="False">
|
||||
<Button
|
||||
Click="GameToolsPage_Click"
|
||||
IsEnabled="{spp:OnPlatform Windows}"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.ReactiveUI;
|
||||
using ReactiveUI.Avalonia;
|
||||
|
||||
namespace BD.WTTS.UI.Views.Pages;
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Interactivity;
|
||||
using Avalonia.ReactiveUI;
|
||||
using ReactiveUI.Avalonia;
|
||||
using BD.SteamClient.Models;
|
||||
|
||||
namespace BD.WTTS.UI.Views.Pages;
|
||||
|
||||
+2
-1
@@ -35,7 +35,8 @@
|
||||
|
||||
<ItemGroup>
|
||||
<!-- PackageReference -->
|
||||
<PackageReference Include="BD.Common" />
|
||||
<!--<PackageReference Include="BD.Common" />-->
|
||||
<ProjectReference Include="..\..\ref\Common\src\BD.Common\BD.Common.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="..\TFM_NETX.props" />
|
||||
|
||||
@@ -117,7 +117,8 @@
|
||||
|
||||
<ItemGroup>
|
||||
<!-- PackageReference -->
|
||||
<PackageReference Include="BD.Common" />
|
||||
<!--<PackageReference Include="BD.Common" />-->
|
||||
<ProjectReference Include="..\..\ref\Common\src\BD.Common\BD.Common.csproj" />
|
||||
<PackageReference Include="System.CommandLine" />
|
||||
<PackageReference Include="Squid-Box.SevenZipSharp.Lite" />
|
||||
<PackageReference Include="SharpZipLib" />
|
||||
|
||||
@@ -7,6 +7,6 @@ public interface ICommand
|
||||
static void AddCommand<TCommand>(RootCommand rootCommand) where TCommand : ICommand
|
||||
{
|
||||
var command = TCommand.GetCommand();
|
||||
rootCommand.AddCommand(command);
|
||||
rootCommand.Subcommands.Add(command);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
namespace BD.WTTS.Client.Tools.Publish.Commands;
|
||||
|
||||
static partial class CommandCompat
|
||||
{
|
||||
public static Option<T> GetOption<T>(string name, string? desc = null)
|
||||
{
|
||||
var o = new Option<T>(name)
|
||||
{
|
||||
Description = desc,
|
||||
};
|
||||
return o;
|
||||
}
|
||||
|
||||
public static Option<T> GetOption<T>(string name, Func<T> defaultValueFactory, string? desc = null)
|
||||
{
|
||||
var o = new Option<T>(name)
|
||||
{
|
||||
Description = desc,
|
||||
DefaultValueFactory = _ => defaultValueFactory(),
|
||||
};
|
||||
return o;
|
||||
}
|
||||
|
||||
public static void SetHandler(this Command command, Delegate @delegate, params Option[] options)
|
||||
{
|
||||
command.SetAction(parseResult =>
|
||||
{
|
||||
var values = options.Select(opt =>
|
||||
{
|
||||
var typeOpt = opt.GetType();
|
||||
var typeArg = typeOpt.GetGenericArguments()[0];
|
||||
var methodsGetValue = typeof(ParseResult).GetMethods(BindingFlags.Instance | BindingFlags.Public).Where(x =>
|
||||
x.Name == nameof(ParseResult.GetValue)
|
||||
&& x.GetParameters().FirstOrDefault()?.ParameterType.ToString() == typeof(Option<>).ToString())
|
||||
.ToArray();
|
||||
ArgumentNullException.ThrowIfNull(methodsGetValue);
|
||||
var methodGetValue = methodsGetValue.Single().MakeGenericMethod(typeArg);
|
||||
var arg = methodGetValue.Invoke(parseResult, [opt]);
|
||||
return arg;
|
||||
}).ToArray();
|
||||
var result = @delegate.DynamicInvoke(values);
|
||||
if (result is int code)
|
||||
{
|
||||
return code;
|
||||
}
|
||||
return 0;
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -17,11 +17,11 @@ interface ICompressedPackageCommand : ICommand
|
||||
|
||||
static Command ICommand.GetCommand()
|
||||
{
|
||||
var sevenzip = new Option<bool>("--7z", "Create 7z compressed");
|
||||
var zip = new Option<bool>("--zip", "Create Zip compressed");
|
||||
var tgz = new Option<bool>("--gz", "Create tgz compressed");
|
||||
var zstd = new Option<bool>("--zstd", "Create tar.zst compressed");
|
||||
var rids = new Option<string[]>("--rids", "RID is short for runtime identifier");
|
||||
var sevenzip = CommandCompat.GetOption<bool>("--7z", "Create 7z compressed");
|
||||
var zip = CommandCompat.GetOption<bool>("--zip", "Create Zip compressed");
|
||||
var tgz = CommandCompat.GetOption<bool>("--gz", "Create tgz compressed");
|
||||
var zstd = CommandCompat.GetOption<bool>("--zstd", "Create tar.zst compressed");
|
||||
var rids = CommandCompat.GetOption<string[]>("--rids", "RID is short for runtime identifier");
|
||||
var command = new Command(commandName, "Create compressed package")
|
||||
{
|
||||
sevenzip, zip, tgz, zstd, rids,
|
||||
|
||||
@@ -40,13 +40,13 @@ interface IDotNetPublishCommand : ICommand
|
||||
|
||||
static Command ICommand.GetCommand()
|
||||
{
|
||||
var debug = new Option<bool>("--debug", "Defines the build configuration");
|
||||
var rids = new Option<string[]>("--rids", "RID is short for runtime identifier");
|
||||
var force_sign = new Option<bool>("--force-sign", GetDefForceSign, "Mandatory verification must be digitally signed");
|
||||
var hsm_sign = new Option<bool>("--hsm-sign", "");
|
||||
var sha256 = new Option<bool>("--sha256", () => true, "Calculate file hash value");
|
||||
var sha384 = new Option<bool>("--sha384", () => true, "Calculate file hash value");
|
||||
var stm_upload = new Option<bool>("--stm-upload", "Steam upload zip file");
|
||||
var debug = CommandCompat.GetOption<bool>("--debug", "Defines the build configuration");
|
||||
var rids = CommandCompat.GetOption<string[]>("--rids", "RID is short for runtime identifier");
|
||||
var force_sign = CommandCompat.GetOption<bool>("--force-sign", GetDefForceSign, "Mandatory verification must be digitally signed");
|
||||
var hsm_sign = CommandCompat.GetOption<bool>("--hsm-sign", "");
|
||||
var sha256 = CommandCompat.GetOption<bool>("--sha256", () => true, "Calculate file hash value");
|
||||
var sha384 = CommandCompat.GetOption<bool>("--sha384", () => true, "Calculate file hash value");
|
||||
var stm_upload = CommandCompat.GetOption<bool>("--stm-upload", "Steam upload zip file");
|
||||
var command = new Command(commandName, "DotNet publish app")
|
||||
{
|
||||
debug, rids, force_sign, sha256, sha384, stm_upload, hsm_sign,
|
||||
|
||||
@@ -11,8 +11,8 @@ interface IGenerateBridgeContentXml : ICommand
|
||||
|
||||
static Command ICommand.GetCommand()
|
||||
{
|
||||
var debug = new Option<bool>("--debug", "Defines the build configuration");
|
||||
var rids = new Option<string[]>("--rids", "RID is short for runtime identifier");
|
||||
var debug = CommandCompat.GetOption<bool>("--debug", "Defines the build configuration");
|
||||
var rids = CommandCompat.GetOption<string[]>("--rids", "RID is short for runtime identifier");
|
||||
var command = new Command(commandName, "Bridge csproj xml generate")
|
||||
{
|
||||
debug, rids,
|
||||
|
||||
@@ -17,15 +17,15 @@ interface IGenerateBsPatch : ICommand
|
||||
|
||||
static Command ICommand.GetCommand()
|
||||
{
|
||||
var type = new Option<int>("--type", "type 0:Create 1:Apply 2:UploadFile 3:传入版本号生成补丁");
|
||||
var type = CommandCompat.GetOption<int>("--type", "type 0:Create 1:Apply 2:UploadFile 3:传入版本号生成补丁");
|
||||
//旧文件
|
||||
var oldFile = new Option<string>("--old", "old file");
|
||||
var oldFile = CommandCompat.GetOption<string>("--old", "old file");
|
||||
//新文件
|
||||
var newFile = new Option<string>("--new", "new file");
|
||||
var newFile = CommandCompat.GetOption<string>("--new", "new file");
|
||||
//保存路径
|
||||
var patchFile = new Option<string>("--path", "new file");
|
||||
var patchFile = CommandCompat.GetOption<string>("--path", "new file");
|
||||
//程序版本号
|
||||
var clientPlatform = new Option<ClientPlatform>("--platform", "ClientPlatform");
|
||||
var clientPlatform = CommandCompat.GetOption<ClientPlatform>("--platform", "ClientPlatform");
|
||||
|
||||
var command = new Command(commandName, "Bridge csproj xml generate")
|
||||
{
|
||||
|
||||
@@ -11,12 +11,12 @@ interface IGenerateCaCertCommand : ICommand
|
||||
|
||||
static Command ICommand.GetCommand()
|
||||
{
|
||||
var type = new Option<int>("--type",
|
||||
var type = CommandCompat.GetOption<int>("--type",
|
||||
"Generate certificate type(1 code, 2 store-code)");
|
||||
var path = new Option<string>("--path",
|
||||
var path = CommandCompat.GetOption<string>("--path",
|
||||
"Directory where certificate files need to be saved");
|
||||
var cn = new Option<string>("--cn", "X500DistinguishedNameValue");
|
||||
var password = new Option<string>("--pwd");
|
||||
var cn = CommandCompat.GetOption<string>("--cn", "X500DistinguishedNameValue");
|
||||
var password = CommandCompat.GetOption<string>("--pwd");
|
||||
var command = new Command(commandName, "Generate certificate")
|
||||
{
|
||||
type, path, cn, password,
|
||||
|
||||
@@ -6,7 +6,7 @@ interface IHashCalcCommand : ICommand
|
||||
|
||||
static Command ICommand.GetCommand()
|
||||
{
|
||||
var debug = new Option<bool>("--debug", "Defines the build configuration");
|
||||
var debug = CommandCompat.GetOption<bool>("--debug", "Defines the build configuration");
|
||||
var command = new Command(commandName, "Calc hash hex string")
|
||||
{
|
||||
debug,
|
||||
|
||||
@@ -14,11 +14,11 @@ interface IInstallPackageCommand : ICommand
|
||||
|
||||
static Command ICommand.GetCommand()
|
||||
{
|
||||
var rpm = new Option<bool>("--rpm", "Create CentOS/RedHat Linux installer");
|
||||
var deb = new Option<bool>("--deb", "Create Ubuntu/Debian Linux installer");
|
||||
var pkg = new Option<bool>("--pkg", "Create macOS installer");
|
||||
var msi = new Option<bool>("--msi", "Create Windows Installer (msi) package");
|
||||
var rids = new Option<string[]>("--rids", "RID is short for runtime identifier");
|
||||
var rpm = CommandCompat.GetOption<bool>("--rpm", "Create CentOS/RedHat Linux installer");
|
||||
var deb = CommandCompat.GetOption<bool>("--deb", "Create Ubuntu/Debian Linux installer");
|
||||
var pkg = CommandCompat.GetOption<bool>("--pkg", "Create macOS installer");
|
||||
var msi = CommandCompat.GetOption<bool>("--msi", "Create Windows Installer (msi) package");
|
||||
var rids = CommandCompat.GetOption<string[]>("--rids", "RID is short for runtime identifier");
|
||||
var command = new Command(commandName, "Create install package")
|
||||
{
|
||||
rpm, deb, pkg, msi, rids,
|
||||
|
||||
@@ -17,7 +17,7 @@ interface ILaunchAppTestCommand : ICommand
|
||||
return command;
|
||||
}
|
||||
|
||||
internal static void Handler(InvocationContext context)
|
||||
internal static int Handler()
|
||||
{
|
||||
var path = DebugRuntimeConfigPath;
|
||||
|
||||
@@ -26,7 +26,7 @@ interface ILaunchAppTestCommand : ICommand
|
||||
// 测试主程序启动是否正常
|
||||
path = path[..^runtimeconfigjsonfilename.Length] + exefileName;
|
||||
if (!File.Exists(path))
|
||||
return;
|
||||
return 0;
|
||||
var process = Process.Start(path);
|
||||
try
|
||||
{
|
||||
@@ -36,8 +36,7 @@ interface ILaunchAppTestCommand : ICommand
|
||||
if (process.HasExited)
|
||||
{
|
||||
Console.WriteLine($"Test process startup failed({i}).");
|
||||
context.ExitCode = 500;
|
||||
return;
|
||||
return 500;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -50,6 +49,7 @@ interface ILaunchAppTestCommand : ICommand
|
||||
process.KillEntireProcessTree();
|
||||
}
|
||||
Console.WriteLine($"{commandName} OK");
|
||||
return 0;
|
||||
}
|
||||
|
||||
#pragma warning disable CS0612 // 类型或成员已过时
|
||||
|
||||
@@ -9,9 +9,9 @@ partial interface IMacOSBuildingUniversalBinaryCommand : ICommand
|
||||
static Command ICommand.GetCommand()
|
||||
{
|
||||
// aspnetcore-runtime-7.0.8-osx-arm64
|
||||
var arm64 = new Option<string>("--arm64", "Apple silicon binary directory");
|
||||
var arm64 = CommandCompat.GetOption<string>("--arm64", "Apple silicon binary directory");
|
||||
// aspnetcore-runtime-7.0.8-osx-x64
|
||||
var x64 = new Option<string>("--x64", "Intel-based binary directory");
|
||||
var x64 = CommandCompat.GetOption<string>("--x64", "Intel-based binary directory");
|
||||
var command = new Command(commandName, "Create macOS apps and other executables that run natively on both Apple silicon and Intel-based Mac computers.")
|
||||
{
|
||||
arm64, x64,
|
||||
|
||||
@@ -9,11 +9,11 @@ interface INSISBuildCommand : ICommand
|
||||
|
||||
static Command ICommand.GetCommand()
|
||||
{
|
||||
var debug = new Option<bool>("--debug", "Defines the build configuration");
|
||||
var rids = new Option<string[]>("--rids", "RID is short for runtime identifier");
|
||||
var timestamp = new Option<string>("--t", "Release timestamp");
|
||||
var force_sign = new Option<bool>("--force-sign", GetDefForceSign, "Mandatory verification must be digitally signed");
|
||||
var hsm_sign = new Option<bool>("--hsm-sign", "");
|
||||
var debug = CommandCompat.GetOption<bool>("--debug", "Defines the build configuration");
|
||||
var rids = CommandCompat.GetOption<string[]>("--rids", "RID is short for runtime identifier");
|
||||
var timestamp = CommandCompat.GetOption<string>("--t", "Release timestamp");
|
||||
var force_sign = CommandCompat.GetOption<bool>("--force-sign", GetDefForceSign, "Mandatory verification must be digitally signed");
|
||||
var hsm_sign = CommandCompat.GetOption<bool>("--hsm-sign", "");
|
||||
var command = new Command(commandName, "NSIS build generate")
|
||||
{
|
||||
debug, rids, timestamp, force_sign, hsm_sign,
|
||||
@@ -29,6 +29,31 @@ interface INSISBuildCommand : ICommand
|
||||
hsm_sign = false; // hsm 目前无法映射到 CI VM 中
|
||||
}
|
||||
|
||||
var projRootPath = ProjectPath_AvaloniaApp;
|
||||
if (string.Equals("latest", timestamp, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
// 从发布文件夹中根据文件夹名称倒序查找最新的时间戳
|
||||
var sPath = Path.Combine(projRootPath, "bin", PublishCommandArg.GetConfiguration(debug), "Publish");
|
||||
var query = from p in Directory.EnumerateDirectories(sPath)
|
||||
let s = Path.GetFileName(p).Split('_')
|
||||
where s.Length > 2
|
||||
let t = s.LastOrDefault()
|
||||
let d = s[^2]
|
||||
where !string.IsNullOrWhiteSpace(t) && !string.IsNullOrWhiteSpace(d)
|
||||
let tN = ulong.TryParse(t, out var tUL) ? tUL : (ulong?)null
|
||||
let dN = ulong.TryParse(d, out var dUL) ? dUL : (ulong?)null
|
||||
where tN.HasValue && dN.HasValue
|
||||
select new
|
||||
{
|
||||
tN,
|
||||
dN,
|
||||
p,
|
||||
};
|
||||
var latest = query.OrderByDescending(x => x.tN).ThenByDescending(x => x.dN).FirstOrDefault();
|
||||
ArgumentNullException.ThrowIfNull(latest);
|
||||
timestamp = $"{latest.dN}_{latest.tN}";
|
||||
}
|
||||
|
||||
releaseTimestamp = timestamp;
|
||||
|
||||
var rootDirPath = Path.Combine(ProjectUtils.ProjPath, "..", "NSIS-Build");
|
||||
@@ -51,7 +76,6 @@ interface INSISBuildCommand : ICommand
|
||||
var info = DeconstructRuntimeIdentifier(rid);
|
||||
if (info == default) continue;
|
||||
|
||||
var projRootPath = ProjectPath_AvaloniaApp;
|
||||
var arg = SetPublishCommandArgumentList(debug, info.Platform, info.DeviceIdiom, info.Architecture);
|
||||
var publishDir = Path.Combine(projRootPath, arg.PublishDir);
|
||||
Console.WriteLine(publishDir);
|
||||
|
||||
@@ -9,10 +9,10 @@ interface IScanPublicDirectoryCommand : ICommand
|
||||
|
||||
static Command ICommand.GetCommand()
|
||||
{
|
||||
var sha256 = new Option<bool>("--sha256", () => true, "Calculate hash sha256");
|
||||
var sha384 = new Option<bool>("--sha384", () => true, "Calculate hash sha384");
|
||||
var signature = new Option<bool>("--signature", () => true, "Digital signature");
|
||||
var rids = new Option<string[]>("--rids", "RID is short for runtime identifier");
|
||||
var sha256 = CommandCompat.GetOption<bool>("--sha256", () => true, "Calculate hash sha256");
|
||||
var sha384 = CommandCompat.GetOption<bool>("--sha384", () => true, "Calculate hash sha384");
|
||||
var signature = CommandCompat.GetOption<bool>("--signature", () => true, "Digital signature");
|
||||
var rids = CommandCompat.GetOption<string[]>("--rids", "RID is short for runtime identifier");
|
||||
var command = new Command(commandName, "Scan publish directory")
|
||||
{
|
||||
sha256, sha384, signature, rids,
|
||||
|
||||
@@ -6,9 +6,14 @@ static class MSIXHelper
|
||||
{
|
||||
enum WinVersion : ushort
|
||||
{
|
||||
_14393 = 14393,
|
||||
_15063 = 15063,
|
||||
_16299 = 16299,
|
||||
_17134 = 17134,
|
||||
W10_20H1 = 19041,
|
||||
W11_21H2 = 22000,
|
||||
W11_22H2 = 22621,
|
||||
_26100 = 26100,
|
||||
}
|
||||
|
||||
public static class MakePri
|
||||
@@ -331,7 +336,7 @@ $"""
|
||||
|
||||
public const string pfxFilePath_MSStore_CodeSigning = @"C:\MSStore_CodeSigning.pfx";
|
||||
public const string pfxFilePath_BeyondDimension_CodeSigning = @"C:\BeyondDimension_CodeSigning.pfx";
|
||||
public const string pfxFilePath_HSM_CodeSigning = "DBE4005A4E9371BB8621CD481CD124F8865621C9";
|
||||
public const string pfxFilePath_HSM_CodeSigning = "e1e00c478e41300480a63cd62d5f771d24cf903b";
|
||||
|
||||
public static void Start(
|
||||
bool force_sign,
|
||||
|
||||
@@ -9,4 +9,4 @@ var commands = interfaceType.Assembly.GetTypes().
|
||||
Select(x => addMethod!.MakeGenericMethod(x)).
|
||||
ToArray();
|
||||
Array.ForEach(commands, m => m.Invoke(null, new object?[] { rootCommand, }));
|
||||
return await rootCommand.InvokeAsync(args);
|
||||
return await rootCommand.Parse(args).InvokeAsync();
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"profiles": {
|
||||
"BD.WTTS.Client.Tools.Publish": {
|
||||
"Publish(win-x64 hsm-sign)": {
|
||||
"commandName": "Project",
|
||||
"commandLineArgs": "run --rids win-x64 --hsm-sign --stm-upload",
|
||||
"commandLineArgs_release": "run --rids win-x64 --hsm-sign --stm-upload",
|
||||
@@ -9,6 +9,18 @@
|
||||
"commandLineArgs_GenerateBridgeContentXml": "csproj --rids win-x64",
|
||||
"commandLineArgs_TestUploadFile": "bs --type 2 --old \"C:\\Users\\Mossimo\\Desktop\\Steam++\\ms-test.steampp.net\""
|
||||
},
|
||||
"Publish(win-x64)": {
|
||||
"commandName": "Project",
|
||||
"commandLineArgs": "run --rids win-x64 --stm-upload"
|
||||
},
|
||||
"Publish Setup(win-x64 hsm-sign)": {
|
||||
"commandName": "Project",
|
||||
"commandLineArgs": "nsis --rids win-x64 --hsm-sign --t latest"
|
||||
},
|
||||
"Publish Setup(win-x64)": {
|
||||
"commandName": "Project",
|
||||
"commandLineArgs": "nsis --rids win-x64 --t latest"
|
||||
},
|
||||
"BD.WTTS.Client.Tools.Publish(TestUploadRc1)": {
|
||||
"commandName": "Project",
|
||||
"commandLineArgs": "bs --type 2 --old \"D:\\BuildTest\\rc1\""
|
||||
@@ -93,4 +105,4 @@
|
||||
"commandLineArgs": "bs --type 5 --old \"D:\\BuildTest\\rc4\" --new \"D:\\BuildTest\\pacth\\rc4-rc5\" --path \"D:\\BuildTest\\3.0.407.0\\3.0.507.0.dat\""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,7 +68,7 @@ partial interface IApplication
|
||||
//builder.SetMinimumLevel(minLevel);
|
||||
//SetNLoggerMinLevel(minLevel);
|
||||
|
||||
builder.AddNLog(NLogManager.Configuration); // 添加 NLog 日志
|
||||
builder.AddNLog(NLogManager.Configuration!); // 添加 NLog 日志
|
||||
#if ((WINDOWS || MACCATALYST || MACOS || LINUX) && !(IOS || ANDROID)) && DEBUG
|
||||
builder.AddConsole(); // 添加控制台日志
|
||||
#endif
|
||||
|
||||
@@ -86,8 +86,21 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\ref\Common\src\BD.Common.Area\BD.Common.Area.csproj" />
|
||||
<ProjectReference Include="..\..\ref\Common\src\BD.Common.Essentials.Preferences.SQLite\BD.Common.Essentials.Preferences.SQLite.csproj" />
|
||||
<ProjectReference Include="..\..\ref\Common\src\BD.Common.Essentials.Primitives\BD.Common.Essentials.Primitives.csproj" />
|
||||
<ProjectReference Include="..\..\ref\Common\src\BD.Common.Essentials.Utils\BD.Common.Essentials.Utils.csproj" />
|
||||
<ProjectReference Include="..\..\ref\Common\src\BD.Common.Essentials\BD.Common.Essentials.csproj" />
|
||||
<ProjectReference Include="..\..\ref\Common\src\BD.Common.Mvvm.ReactiveUI\BD.Common.Mvvm.ReactiveUI.csproj" />
|
||||
<ProjectReference Include="..\..\ref\Common\src\BD.Common.Mvvm\BD.Common.Mvvm.csproj" />
|
||||
<ProjectReference Include="..\..\ref\Common\src\BD.Common.Pinyin\BD.Common.Pinyin.csproj" />
|
||||
<ProjectReference Include="..\..\ref\Common\src\BD.Common.Primitives\BD.Common.Primitives.csproj" />
|
||||
<ProjectReference Include="..\..\ref\Common\src\BD.Common.Repositories.SQLitePCL\BD.Common.Repositories.SQLitePCL.csproj" />
|
||||
<ProjectReference Include="..\..\ref\Common\src\BD.Common.Security\BD.Common.Security.csproj" />
|
||||
<ProjectReference Include="..\..\ref\Common\src\BD.Common.Settings\BD.Common.Settings.csproj" />
|
||||
<ProjectReference Include="..\..\ref\Common\src\BD.Common\BD.Common.csproj" />
|
||||
<!-- PackageReference -->
|
||||
<PackageReference Include="BD.Common" />
|
||||
<!--<PackageReference Include="BD.Common" />
|
||||
<PackageReference Include="BD.Common.Area" />
|
||||
<PackageReference Include="BD.Common.Security" />
|
||||
<PackageReference Include="BD.Common.Mvvm" />
|
||||
@@ -100,7 +113,7 @@
|
||||
<PackageReference Include="BD.Common.Essentials.Primitives" />
|
||||
<PackageReference Include="BD.Common.Essentials.Utils" />
|
||||
<PackageReference Include="BD.Common.Essentials.Preferences.SQLite" />
|
||||
<PackageReference Include="BD.Common.Pinyin" />
|
||||
<PackageReference Include="BD.Common.Pinyin" />-->
|
||||
<!--<PackageReference Include="BD.SteamClient" />-->
|
||||
<PackageReference Include="AutoMapper" />
|
||||
<!--<PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" />-->
|
||||
@@ -157,7 +170,8 @@
|
||||
<PackageReference Include="7-Zip.NativeAssets.Win32" />
|
||||
<PackageReference Include="System.Management" />
|
||||
<!--<PackageReference Include="Aigio.WinDivertSharp.NativeAssets.Win32" />-->
|
||||
<PackageReference Include="BD.Common.Pinyin.TinyPinyin" />
|
||||
<!--<PackageReference Include="BD.Common.Pinyin.TinyPinyin" />-->
|
||||
<ProjectReference Include="..\..\ref\Common\src\BD.Common.Pinyin.TinyPinyin\BD.Common.Pinyin.TinyPinyin.csproj" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.EventLog" />
|
||||
<PackageReference Include="Microsoft.Win32.SystemEvents" />
|
||||
<PackageReference Include="Vanara.PInvoke.PowrProf" />
|
||||
@@ -174,9 +188,9 @@
|
||||
<HintPath>..\..\ref\Interop.IWshRuntimeLibrary.dll</HintPath>
|
||||
</Reference>
|
||||
<ProjectReference Include="..\..\ref\Facepunch.Steamworks\Facepunch.Steamworks\Facepunch.Steamworks.Win64.csproj" />
|
||||
<PackageReference Include="Aigio.Any.AppCenter" />
|
||||
<!--<PackageReference Include="Aigio.Any.AppCenter" />
|
||||
<PackageReference Include="Aigio.Any.AppCenter.Analytics" />
|
||||
<PackageReference Include="Aigio.Any.AppCenter.Crashes" />
|
||||
<PackageReference Include="Aigio.Any.AppCenter.Crashes" />-->
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows' AND Exists('$(MSBuildProjectDirectory)\..\..\..\XunYouSDK\src\Sample.ConsoleApp\XunYouSDK\XunYouSDK.AppId.cs') ">
|
||||
@@ -189,7 +203,7 @@
|
||||
<!-- Desktop Only -->
|
||||
<PackageReference Include="System.Composition" />
|
||||
<PackageReference Include="System.CommandLine" />
|
||||
<PackageReference Include="System.CommandLine.NamingConventionBinder" />
|
||||
<!--<PackageReference Include="System.CommandLine.NamingConventionBinder" />-->
|
||||
<PackageReference Include="SteamKit2" />
|
||||
<Compile Condition="'$(Configuration)'=='Debug'" Include="..\Utils.cs" />
|
||||
<!--<PackageReference Include="Microsoft.Extensions.DependencyModel" />-->
|
||||
@@ -206,21 +220,20 @@
|
||||
|
||||
<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == ''">
|
||||
<!-- Linux Only -->
|
||||
<PackageReference Include="BD.Common.Pinyin.TinyPinyin" />
|
||||
<!--<PackageReference Include="BD.Common.Pinyin.TinyPinyin" />-->
|
||||
<ProjectReference Include="..\..\ref\Common\src\BD.Common.Pinyin.TinyPinyin\BD.Common.Pinyin.TinyPinyin.csproj" />
|
||||
<ProjectReference Include="..\..\ref\Facepunch.Steamworks\Facepunch.Steamworks\Facepunch.Steamworks.Posix.csproj" />
|
||||
<PackageReference Include="Aigio.Any.AppCenter" />
|
||||
<!--<PackageReference Include="Aigio.Any.AppCenter" />
|
||||
<PackageReference Include="Aigio.Any.AppCenter.Analytics" />
|
||||
<PackageReference Include="Aigio.Any.AppCenter.Crashes" />
|
||||
<PackageReference Include="Aigio.Any.AppCenter.Crashes" />-->
|
||||
<PackageReference Include="HarfBuzzSharp.NativeAssets.Linux" />
|
||||
<PackageReference Include="SkiaSharp.NativeAssets.Linux" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
|
||||
<!-- Android Only -->
|
||||
<PackageReference Include="BD.Common.Pinyin.TinyPinyin" />
|
||||
<PackageReference Include="Microsoft.AppCenter" />
|
||||
<PackageReference Include="Microsoft.AppCenter.Analytics" />
|
||||
<PackageReference Include="Microsoft.AppCenter.Crashes" />
|
||||
<!--<PackageReference Include="BD.Common.Pinyin.TinyPinyin" />-->
|
||||
<ProjectReference Include="..\..\ref\Common\src\BD.Common.Pinyin.TinyPinyin\BD.Common.Pinyin.TinyPinyin.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios' OR $([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
|
||||
@@ -230,9 +243,6 @@
|
||||
|
||||
<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'">
|
||||
<!-- iOS Only -->
|
||||
<PackageReference Include="Microsoft.AppCenter" />
|
||||
<PackageReference Include="Microsoft.AppCenter.Analytics" />
|
||||
<PackageReference Include="Microsoft.AppCenter.Crashes" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios' OR $([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'macos' OR $([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'maccatalyst' ">
|
||||
@@ -243,9 +253,9 @@
|
||||
<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'macos' OR $([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'maccatalyst' ">
|
||||
<!-- macOS/MacCatalyst Only -->
|
||||
<ProjectReference Include="..\..\ref\Facepunch.Steamworks\Facepunch.Steamworks\Facepunch.Steamworks.Posix.csproj" />
|
||||
<PackageReference Include="Aigio.Any.AppCenter" />
|
||||
<!--<PackageReference Include="Aigio.Any.AppCenter" />
|
||||
<PackageReference Include="Aigio.Any.AppCenter.Analytics" />
|
||||
<PackageReference Include="Aigio.Any.AppCenter.Crashes" />
|
||||
<PackageReference Include="Aigio.Any.AppCenter.Crashes" /-->
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
@@ -279,6 +289,8 @@
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="..\OSShuttingDownHelper\OSShuttingDownHelper.projitems" Label="Shared" />
|
||||
|
||||
<Import Project="..\TFM_NETX_WITH_ALL.props" />
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
#if USE_MS_APPCENTER_ANALYTICS
|
||||
using Microsoft.AppCenter.Analytics;
|
||||
#else
|
||||
using BD.AppCenter.Analytics;
|
||||
#endif
|
||||
|
||||
namespace BD.WTTS.Helpers;
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ public sealed partial class AppSettings : IMicroServiceClient.ISettings
|
||||
[MP2Ignore]
|
||||
[N_JsonIgnore]
|
||||
[S_JsonIgnore]
|
||||
[Obsolete("Delete", true)]
|
||||
[Obsolete("Delete")]
|
||||
public Guid AppVersion { get; set; }
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -78,7 +78,7 @@ public partial interface IPlugin
|
||||
/// <param name="processId"></param>
|
||||
/// <param name="encodedArgs"></param>
|
||||
/// <returns></returns>
|
||||
Task<int> RunSubProcessMainAsync(string moduleName, string pipeName, string processId, string encodedArgs);
|
||||
Task<int> RunSubProcessMainAsync(string moduleName, string pipeName, string processId, string? encodedArgs);
|
||||
|
||||
/// <summary>
|
||||
/// 当子进程 IPC 管道连接中
|
||||
|
||||
@@ -93,7 +93,7 @@ public abstract partial class PluginBase : IPlugin
|
||||
string moduleName,
|
||||
string pipeName,
|
||||
string processId,
|
||||
string encodedArgs)
|
||||
string? encodedArgs)
|
||||
{
|
||||
var subProcessBootConfiguration = GetSubProcessBootConfiguration(encodedArgs ?? string.Empty);
|
||||
if (subProcessBootConfiguration == default)
|
||||
|
||||
@@ -194,7 +194,7 @@ public static class PluginsCore
|
||||
{
|
||||
}
|
||||
|
||||
public Task<int> RunSubProcessMainAsync(string moduleName, string pipeName, string processId, string encodedArgs)
|
||||
public Task<int> RunSubProcessMainAsync(string moduleName, string pipeName, string processId, string? encodedArgs)
|
||||
{
|
||||
return Task.FromResult(0);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ using dotnetCampus.Ipc.CompilerServices.GeneratedProxies;
|
||||
using dotnetCampus.Ipc.Context;
|
||||
using dotnetCampus.Ipc.Pipes;
|
||||
using dotnetCampus.Ipc.Utils.Logging;
|
||||
using Windows.Win32;
|
||||
using IPCLogLevel = dotnetCampus.Ipc.Utils.Logging.LogLevel;
|
||||
using MSEXLogLevel = Microsoft.Extensions.Logging.LogLevel;
|
||||
|
||||
@@ -149,6 +150,11 @@ public sealed partial class IPCMainProcessServiceImpl : IPCMainProcessService
|
||||
true;
|
||||
#endif
|
||||
|
||||
if (OSShuttingDownHelper.IsSystemShuttingDown())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
#if LINUX
|
||||
// 构建要执行的 shell 命令
|
||||
var shellStr =
|
||||
@@ -262,6 +268,10 @@ public sealed partial class IPCMainProcessServiceImpl : IPCMainProcessService
|
||||
.RetryAsync(3)
|
||||
.ExecuteAsync(async () =>
|
||||
{
|
||||
if (OSShuttingDownHelper.IsSystemShuttingDown())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
var process = await WindowsPlatformServiceImpl.StartAsAdministrator(processPath, arguments);
|
||||
return process;
|
||||
});
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user