spikes/KniWeb (outside LittleSim.sln): a kni-blazor-gl template project (KNI 4.2.9001, net8.0) referencing MrGameEng.Core directly. A mini-host in the GameHost mold drives EngineContext/GameClock/Scene phases over KNI's Game; the scene moves 300 Friflo entities in the update phase and draws them with SpriteBatch (WebGL). Verified in a real browser: sprites render and animate, browser console is clean. Decision (docs/web-client.md): path A — KNI — is the primary route for the web client; the core runs in Blazor WASM unchanged thanks to the Core/Host split. Known follow-ups: per-platform compilation of the graphics libraries against nkast.* packages, shader compatibility for Renderer2D, HTTP-served content instead of the filesystem. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
62 lines
2.7 KiB
XML
62 lines
2.7 KiB
XML
<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">
|
|
|
|
<PropertyGroup>
|
|
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
|
|
<TargetFramework>net8.0</TargetFramework>
|
|
<Nullable>disable</Nullable>
|
|
<ImplicitUsings>disable</ImplicitUsings>
|
|
<RootNamespace>KniWebSpike</RootNamespace>
|
|
<AssemblyName>KniWebSpike</AssemblyName>
|
|
<DefineConstants>$(DefineConstants);BLAZORGL</DefineConstants>
|
|
<KniPlatform>BlazorGL</KniPlatform>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup>
|
|
<BlazorEnableTimeZoneSupport>false</BlazorEnableTimeZoneSupport>
|
|
<!--<InvariantGlobalization>true</InvariantGlobalization>-->
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<Compile Include="Pages\Index.razor.cs" />
|
|
<Compile Include="Program.cs" />
|
|
<Compile Include="KniWebSpikeGame.cs" />
|
|
<Compile Include="SpikeScene.cs" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<!-- Суть спайка: платформо-независимое ядро движка + Friflo внутри Blazor WASM. -->
|
|
<ProjectReference Include="..\..\engine\src\MrGameEng.Core\MrGameEng.Core.csproj" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<PackageReference Include="nkast.Xna.Framework" Version="4.2.9001" />
|
|
<PackageReference Include="nkast.Xna.Framework.Content" Version="4.2.9001" />
|
|
<PackageReference Include="nkast.Xna.Framework.Graphics" Version="4.2.9001" />
|
|
<PackageReference Include="nkast.Xna.Framework.Audio" Version="4.2.9001" />
|
|
<PackageReference Include="nkast.Xna.Framework.Media" Version="4.2.9001" />
|
|
<PackageReference Include="nkast.Xna.Framework.Input" Version="4.2.9001" />
|
|
<PackageReference Include="nkast.Xna.Framework.Game" Version="4.2.9001" />
|
|
<PackageReference Include="nkast.Xna.Framework.Devices" Version="4.2.9001" />
|
|
<PackageReference Include="nkast.Xna.Framework.Storage" Version="4.2.9001" />
|
|
<PackageReference Include="nkast.Xna.Framework.XR" Version="4.2.9001" />
|
|
<PackageReference Include="nkast.Kni.Platform.Blazor.GL" Version="4.2.9001.2" />
|
|
<PackageReference Include="nkast.Xna.Framework.Content.Pipeline.Builder" Version="4.2.9001" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Condition=" '$(TargetFramework)' == 'net8.0' ">
|
|
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="8.0.17" />
|
|
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="8.0.17" PrivateAssets="all" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<KniContentReference Include="Content\KniWebSpikeContent.mgcb" />
|
|
</ItemGroup>
|
|
|
|
</Project>
|