Engine bump brings MrGameEng.Net (WebSocket transport, RFC 6455 server, delta component replication) — this commit is its showcase. LittleSim.Server --listen runs the world online: 24 pawns wander, tire and rest on the engine's fixed-tick HeadlessHost (the same Wander/ Needs/Decision systems the windowed world uses), a WebSocketServer accepts clients and a ReplicationServer ships Transform2D + PawnNeeds deltas at 10 snapshots/s per the shared NetSchema. --probe is the CLI check: it connects, listens for a second and prints replicated pawns with positions sampled twice to show the world is alive. The game gains MultiplayerScene (dotnet run --project src/LittleSim -- --connect [ws://host:port]): simulation stays on the server, the client applies snapshots into its scene store, decorates spawned entities with sprites and reuses PawnAppearanceSystem so replicated fatigue darkens pawns locally. HUD strings go through ru/en localization; the `net` console command reports connection state and entity count. Esc returns to the main menu. Verified end to end: probe sees 24 pawns moving between samples; the windowed client connects and runs against a live local server. 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>
|