Updated target frameworks to .NET 10.0 across multiple projects for compatibility with the latest features. Refactored namespaces and introduced new classes for shader descriptors, FMOD integration, and DirectX 12 utilities using TerraFX. Replaced `Win32` bindings with TerraFX equivalents for DirectX 12. Added a C# wrapper for FMOD Studio API, including DSP and error handling. Enhanced entity queries, component storage, and query filters for better performance and type safety. Introduced new test projects and updated the solution structure. Added `meshoptimizer` bindings and integrated `meshoptimizer_native.dll`. Improved code readability, maintainability, and performance.
167 lines
7.1 KiB
XML
167 lines
7.1 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
<PropertyGroup>
|
|
<OutputType>WinExe</OutputType>
|
|
<TargetFramework>net10.0-windows10.0.22621.0</TargetFramework>
|
|
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
|
|
<Platforms>x86;x64;ARM64</Platforms>
|
|
<RuntimeIdentifiers>win-x86;win-x64;win-arm64</RuntimeIdentifiers>
|
|
<PublishProfile>win-$(Platform).pubxml</PublishProfile>
|
|
<UseWinUI>true</UseWinUI>
|
|
<EnableMsixTooling>true</EnableMsixTooling>
|
|
<LangVersion>preview</LangVersion>
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<Content Remove="Assets\icon-256.png" />
|
|
<Content Remove="Assets\Icon.altform-lightunplated_targetsize-16.png" />
|
|
<Content Remove="Assets\Icon.altform-lightunplated_targetsize-24.png" />
|
|
<Content Remove="Assets\Icon.altform-lightunplated_targetsize-256.png" />
|
|
<Content Remove="Assets\Icon.altform-lightunplated_targetsize-32.png" />
|
|
<Content Remove="Assets\Icon.altform-lightunplated_targetsize-48.png" />
|
|
<Content Remove="Assets\Icon.altform-unplated_targetsize-16.png" />
|
|
<Content Remove="Assets\Icon.altform-unplated_targetsize-24.png" />
|
|
<Content Remove="Assets\Icon.altform-unplated_targetsize-256.png" />
|
|
<Content Remove="Assets\Icon.altform-unplated_targetsize-32.png" />
|
|
<Content Remove="Assets\Icon.altform-unplated_targetsize-48.png" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<None Remove="Assets\Icon.scale-100.png" />
|
|
<None Remove="Assets\Icon.scale-125.png" />
|
|
<None Remove="Assets\Icon.scale-150.png" />
|
|
<None Remove="Assets\Icon.scale-200.png" />
|
|
<None Remove="Assets\Icon.scale-400.png" />
|
|
<None Remove="Assets\Icon.targetsize-16.png" />
|
|
<None Remove="Assets\Icon.targetsize-16_altform-unplated.png" />
|
|
<None Remove="Assets\Icon.targetsize-24.png" />
|
|
<None Remove="Assets\Icon.targetsize-24_altform-lightunplated.png" />
|
|
<None Remove="Assets\Icon.targetsize-256.png" />
|
|
<None Remove="Assets\Icon.targetsize-256_altform-unplated.png" />
|
|
<None Remove="Assets\Icon.targetsize-32.png" />
|
|
<None Remove="Assets\Icon.targetsize-32_altform-lightunplated.png" />
|
|
<None Remove="Assets\Icon.targetsize-48.png" />
|
|
<None Remove="Assets\Icon.targetsize-48_altform-unplated.png" />
|
|
<None Remove="View\Pages\EngineEditor\ConsolePage.xaml" />
|
|
<None Remove="View\Pages\EngineEditor\HierarchyPage.xaml" />
|
|
<None Remove="View\Pages\EngineEditor\InspectorPage.xaml" />
|
|
<None Remove="View\Pages\EngineEditor\ProjectPage.xaml" />
|
|
<None Remove="View\Pages\EngineEditor\ScenePage.xaml" />
|
|
<None Remove="View\Pages\Landing\CreateProjectPage.xaml" />
|
|
<None Remove="View\Pages\Landing\OpenProjectPage.xaml" />
|
|
<None Remove="View\Windows\EngineEditorWindow.xaml" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Page Remove="App.xaml" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<Content Include="Assets\SplashScreen.scale-200.png" />
|
|
<Content Include="Assets\LockScreenLogo.scale-200.png" />
|
|
<Content Include="Assets\Square150x150Logo.scale-200.png" />
|
|
<Content Include="Assets\StoreLogo.png" />
|
|
<Content Include="Assets\Wide310x150Logo.scale-200.png" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<Manifest Include="$(ApplicationManifest)" />
|
|
</ItemGroup>
|
|
|
|
<!--
|
|
Defining the "Msix" ProjectCapability here allows the Single-project MSIX Packaging
|
|
Tools extension to be activated for this project even if the Windows App SDK Nuget
|
|
package has not yet been restored.
|
|
-->
|
|
<ItemGroup Condition="'$(DisableMsixProjectCapabilityAddedByProject)'!='true' and '$(EnableMsixTooling)'=='true'">
|
|
<ProjectCapability Include="Msix" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<PackageReference Include="CommunityToolkit.WinUI.Controls.Primitives" Version="8.2.250402" />
|
|
<PackageReference Include="CommunityToolkit.WinUI.Controls.TabbedCommandBar" Version="8.2.250402" />
|
|
<PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.6" />
|
|
<PackageReference Include="Microsoft.Windows.CsWinRT" Version="2.2.0" />
|
|
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.26100.4188" />
|
|
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.7.250606001" />
|
|
<PackageReference Include="System.Private.Uri" Version="4.3.2" />
|
|
<PackageReference Include="WinUIEx" Version="2.6.0" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\Ghost.Editor.Core\Ghost.Editor.Core.csproj" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Page Update="View\Pages\Landing\CreateProjectPage.xaml">
|
|
<Generator>MSBuild:Compile</Generator>
|
|
</Page>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Page Update="View\Window\Landing.xaml">
|
|
<Generator>MSBuild:Compile</Generator>
|
|
</Page>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Page Update="View\Pages\Landing\OpenProjectPage.xaml">
|
|
<Generator>MSBuild:Compile</Generator>
|
|
</Page>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Reference Include="Misaki.HighPerformance.Unsafe">
|
|
<HintPath>..\..\Class\Misaki.HighPerformance\Misaki.HighPerformance.LowLevel\bin\Release\net9.0\Misaki.HighPerformance.LowLevel.dll</HintPath>
|
|
</Reference>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Page Update="View\Pages\EngineEditor\InspectorPage.xaml">
|
|
<Generator>MSBuild:Compile</Generator>
|
|
</Page>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Page Update="View\Pages\EngineEditor\HierarchyPage.xaml">
|
|
<Generator>MSBuild:Compile</Generator>
|
|
</Page>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Page Update="View\Pages\EngineEditor\ProjectPage.xaml">
|
|
<Generator>MSBuild:Compile</Generator>
|
|
</Page>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Page Update="View\Pages\EngineEditor\ConsolePage.xaml">
|
|
<Generator>MSBuild:Compile</Generator>
|
|
</Page>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Page Update="Themes\Override.xaml">
|
|
<Generator>MSBuild:Compile</Generator>
|
|
</Page>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Page Update="View\Windows\EngineEditorWindow.xaml">
|
|
<Generator>MSBuild:Compile</Generator>
|
|
</Page>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Page Update="View\Pages\EngineEditor\ScenePage.xaml">
|
|
<Generator>MSBuild:Compile</Generator>
|
|
</Page>
|
|
</ItemGroup>
|
|
<PropertyGroup Label="Globals" />
|
|
|
|
<!--
|
|
Defining the "HasPackageAndPublishMenuAddedByProject" property here allows the Solution
|
|
Explorer "Package and Publish" context menu entry to be enabled for this project even if
|
|
the Windows App SDK Nuget package has not yet been restored.
|
|
-->
|
|
<PropertyGroup Condition="'$(DisableHasPackageAndPublishMenuAddedByProject)'!='true' and '$(EnableMsixTooling)'=='true'">
|
|
<HasPackageAndPublishMenu>true</HasPackageAndPublishMenu>
|
|
</PropertyGroup>
|
|
|
|
<!-- Publish Properties -->
|
|
<PropertyGroup>
|
|
<PublishReadyToRun Condition="'$(Configuration)' == 'Debug'">False</PublishReadyToRun>
|
|
<PublishReadyToRun Condition="'$(Configuration)' != 'Debug'">True</PublishReadyToRun>
|
|
<PublishTrimmed Condition="'$(Configuration)' != 'Debug'">True</PublishTrimmed>
|
|
<Nullable>enable</Nullable>
|
|
<SupportedOSPlatformVersion>10.0.20348.0</SupportedOSPlatformVersion>
|
|
<ApplicationManifest>app.manifest</ApplicationManifest>
|
|
<PublishAot>False</PublishAot>
|
|
<PublishTrimmed>False</PublishTrimmed>
|
|
<RootNamespace>Ghost.Editor</RootNamespace>
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
</PropertyGroup>
|
|
</Project> |