Added the `HierarchyEditor` and `LocalToWorldEditor` classes to implement custom component editing functionality. Added the `Vector3Field` control for 3D vector manipulation and its corresponding XAML definition. Added the `ComponentDataView` and `ComponentObject` classes to manage component data display and access. Added the `CustomEditorAttribute` to mark classes as custom editors for specific components. Changed the `IInspectable` interface to use properties for `Icon`, `HeaderContent`, and `InspectorContent`. Changed the `PropertyField` class to enhance UI control binding capabilities. Changed the `EditorWorldManager` to improve world data loading and deserialization processes. Changed the `EntityNode` and `WorldNode` classes to update entity construction and component querying. Changed the `StaticResource` class to include new binding flags for component properties. Changed the `InspectorService` to remove old contract references and adopt new interfaces. Changed the `QueryEnumerable` and related files to update generic constraints for improved type safety. Changed the `QueryItem` class to reflect new generic constraints and enhance deconstruction. Changed the `World.Query` methods to utilize the updated generic constraints. Updated the `SerializationTest` to align with new entity creation and management practices.
203 lines
8.4 KiB
XML
203 lines
8.4 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>
|
|
<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="Controls\BasicInput\PropertyField.xaml" />
|
|
<None Remove="Controls\BasicInput\Vector3Field.xaml" />
|
|
<None Remove="Controls\EditorControls.xaml" />
|
|
<None Remove="Controls\Internal\ComponentDataView.xaml" />
|
|
<None Remove="Controls\Internal\InternalControls.xaml" />
|
|
<None Remove="Controls\Internal\NavigationTabView.xaml" />
|
|
<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\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.Mvvm" Version="8.4.0" />
|
|
<PackageReference Include="CommunityToolkit.WinUI.Behaviors" Version="8.2.250402" />
|
|
<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.5" />
|
|
<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.250513003" />
|
|
<PackageReference Include="System.Private.Uri" Version="4.3.2" />
|
|
<PackageReference Include="WinUIEx" Version="2.5.1" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\Ghost.Data\Ghost.Data.csproj" />
|
|
<ProjectReference Include="..\Ghost.Engine\Ghost.Engine.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.Unsafe\bin\Release\net9.0\Misaki.HighPerformance.Unsafe.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="Controls\Internal\InternalControls.xaml">
|
|
<Generator>MSBuild:Compile</Generator>
|
|
</Page>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Page Update="View\Windows\EngineEditorWindow.xaml">
|
|
<Generator>MSBuild:Compile</Generator>
|
|
</Page>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Page Update="Controls\BasicInput\PropertyField.xaml">
|
|
<Generator>MSBuild:Compile</Generator>
|
|
</Page>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Page Update="Controls\EditorControls.xaml">
|
|
<Generator>MSBuild:Compile</Generator>
|
|
</Page>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Folder Include="Controls\Layout\" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Page Update="Controls\BasicInput\Vector3Field.xaml">
|
|
<Generator>MSBuild:Compile</Generator>
|
|
</Page>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Page Update="Controls\Internal\ComponentDataView.xaml">
|
|
<Generator>MSBuild:Compile</Generator>
|
|
</Page>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Page Update="Controls\Internal\NavigationTabView.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> |