コード例 #1
0
    private void Generate()
    {
        Assert.IsNotNull(_cellToTileTranslator);
        Assert.IsNotNull(_floorTilemap);
        Assert.IsNotNull(_templates);
        Assert.IsNotNull(_floorTile);

        Map = new Map.Builder()
              .WithSize(_mapSize.x, _mapSize.y)
              .WithRoomSize(_roomSize.x, _roomSize.y)
              .Build();

        var generator = new MapGenerator(Map)
        {
            BranchProbability = _branchProbability,
            MinDensity        = _minDensity
        };

        foreach (var templateRoom in _templates.CreateRooms())
        {
            generator.AddRoomTemplate(templateRoom);
        }

        generator.Generate();
        Map = Map.GetCroppedClone()
              .GetCloneWithExtraBorderRooms(_borderInRooms)
              .CreateRemainingRoomsAndFillWithWalls();

        Redraw();
    }
コード例 #2
0
        public void AddRoomTemplate_WhenCorrect_TemplateGetsAdded()
        {
            var room = Room.OfSize(_map.Width, _map.Height);

            _mapGenerator.AddRoomTemplate(room);

            Assert.That(_mapGenerator.RoomTemplates, Is.EqualTo(new[] { room }));
        }