forked from Misaki/GhostEngine
Added: - New `ProgressService` class for managing progress indicators. - New `AssetDatabase`, `AssetOpenHandlerAttribute`, and `AsyncAssetOpenHandlerAttribute` classes for asset handling. - `Ghost.UnitTest` project for unit testing with associated files and configurations. Changed: - `ActivationHandler` class to ensure correct handling of `LaunchActivatedEventArgs`. - `App.xaml.cs` to register `INotificationService` and `IProgressService`, replacing `StackedNotificationService`. - `OnLaunched` method in `App.xaml.cs` to correctly call `ActivationHandler.Handle(args)` and start the host. - `INavigationAware` interface from internal to public for broader access. - `EditorState.cs` to activate `EditorApplication` with the current service provider. - Property names in `AssetItem` and `ExplorerItem` structs to `Name` and `FullName`. - `NotificationService` class to implement `INotificationService` and refactor notification handling. - `AssetPathToGlyphConverter` to handle file extensions consistently. - Bindings in `ProjectPage.xaml` and `ProjectPage.xaml.cs` to use `FullName` instead of `Path`. - `EngineEditorWindow` and `LandingWindow` classes to utilize new notification and progress services. - `Logger` class to include a new method for logging errors with exceptions. Updated: - Manifest files and project files to reflect new structure and dependencies. - Solution file `GhostEngine.sln` to include the new unit test project. - Added several new test classes and methods in `UnitTests.cs`.
81 lines
3.5 KiB
XML
81 lines
3.5 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
<PropertyGroup>
|
|
<OutputType>WinExe</OutputType>
|
|
<TargetFramework>net9.0-windows10.0.22621.0</TargetFramework>
|
|
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
|
|
<RootNamespace>Ghost.UnitTest</RootNamespace>
|
|
<ApplicationManifest>app.manifest</ApplicationManifest>
|
|
<Platforms>x86;x64;ARM64</Platforms>
|
|
<RuntimeIdentifiers>win-x86;win-x64;win-arm64</RuntimeIdentifiers>
|
|
<PublishProfile>win-$(Platform).pubxml</PublishProfile>
|
|
<UseWinUI>true</UseWinUI>
|
|
<EnableMsixTooling>true</EnableMsixTooling>
|
|
<Nullable>enable</Nullable>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<Page Remove="UnitTestApp.xaml" />
|
|
<ApplicationDefinition Include="UnitTestApp.xaml" />
|
|
<ProjectCapability Include="TestContainer" />
|
|
</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\Square44x44Logo.scale-200.png" />
|
|
<Content Include="Assets\Square44x44Logo.targetsize-24_altform-unplated.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="Microsoft.TestPlatform.TestHost" Version="17.14.1" />
|
|
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.26100.4188" />
|
|
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.7.250513003" />
|
|
<PackageReference Include="MSTest.TestAdapter" Version="3.9.1" />
|
|
<PackageReference Include="MSTest.TestFramework" Version="3.9.1" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\Ghost.Editor\Ghost.Editor.csproj" />
|
|
<ProjectReference Include="..\Ghost.Engine\Ghost.Engine.csproj" />
|
|
<ProjectReference Include="..\Ghost.Entities\Ghost.Entities.csproj" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<Reference Include="Misaki.HighPerformance.Unsafe">
|
|
<HintPath>..\..\Class\Misaki.HighPerformance\Misaki.HighPerformance.Unsafe\bin\Release\net9.0\Misaki.HighPerformance.Unsafe.dll</HintPath>
|
|
</Reference>
|
|
</ItemGroup>
|
|
|
|
<!--
|
|
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>False</PublishTrimmed>
|
|
<SupportedOSPlatformVersion>10.0.20348.0</SupportedOSPlatformVersion>
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
</PropertyGroup>
|
|
</Project>
|