public Board(IGuidFactory guidFactory, World world, Coordinate <int> coordinate, Size <int> size) { guidFactory.ThrowIfNull(nameof(guidFactory)); _world = world.EnsureNotNull(nameof(world)); Id = guidFactory.Random(); Coordinate = coordinate; Size = size; _boardLayers = new BoardLayerCollection <BoardLayer>(() => new BoardLayer(size)); }
public static Board FromJson(World world, JToken jsonObject) { world.ThrowIfNull(nameof(world)); return(new Board { Id = (Guid)jsonObject["id"], _boardLayers = BoardLayerCollection <BoardLayer> .FromJson(BoardLayer.FromJson, jsonObject["layers"]), _world = world, Coordinate = Coordinate <int> .FromJson(jsonObject["coordinate"]), Size = Size <int> .FromJson(jsonObject["size"]) }); }