Example #1
0
        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));
        }
Example #2
0
        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"])
            });
        }