Chessistics/chessistics-engine/Model/LevelDef.cs
Samuel Bouchet e6eaae43ab Initial commit: Chessistics prototype v0.3
Black box sim engine (commands in, events out) with 3 piece types
(Rook, Bishop, Knight), cargo transfer system with social status
priority, collision detection, and victory/defeat conditions.

57 tests covering rules, simulation, loading, and solvability.
Godot 4 presentation layer scaffolding.
2026-04-10 14:58:03 +02:00

16 lines
611 B
C#

namespace Chessistics.Engine.Model;
public class LevelDef
{
public int Id { get; init; }
public string Name { get; init; } = "";
public string Description { get; init; } = "";
public int Width { get; init; }
public int Height { get; init; }
public IReadOnlyList<ProductionDef> Productions { get; init; } = [];
public IReadOnlyList<DemandDef> Demands { get; init; } = [];
public IReadOnlyList<Coords> Walls { get; init; } = [];
public IReadOnlyList<PieceStock> Stock { get; init; } = [];
public int MaxDeadline => Demands.Count > 0 ? Demands.Max(d => d.Deadline) : 0;
}