Files
Project-M/Assets/_Project/Scripts/Simulation/Building/BuildPlaceRequest.cs
T
kronic f3f65bccbf M7 Automation: deterministic Harvester to Conveyor to Fabricator chains
Server-only production chains (never predicted): components + server systems + pure byte-only math (ProductionMath/ConveyorMath/MachineSlotMath), authoring + 3 machine prefabs wired into the Gameplay subscene, StructureCatalog rows, BuildPlace Direction/RuntimePlacedTag, Tuning, and 35 EditMode tests (catch-up gating, conveyor shuffle-invariance, SaveData v2 round-trip).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-06 15:05:15 -07:00

20 lines
797 B
C#

using Unity.NetCode;
namespace ProjectM.Simulation
{
/// <summary>
/// Client -&gt; server request to build a structure of <see cref="StructureType"/> at grid cell
/// (<see cref="CellX"/>, <see cref="CellZ"/>). A one-off action, so an RPC (mirrors StorageOpRequest /
/// RegionTransitRequest). StructureType is a byte; the cell is two int scalars (NOT an int2) to stay
/// within the project's scalar-only RPC payload precedent (avoids first-of-its-kind composite-math-in-RPC
/// codegen risk on Netcode 1.13.2). The server re-validates legality + cost authoritatively.
/// </summary>
public struct BuildPlaceRequest : IRpcCommand
{
public byte StructureType;
public int CellX;
public int CellZ;
public byte Direction;
}
}