public override void Generate(District district, TileBuilder[,] tiles, Random rand) { for (int x = 0; x < SizeX; ++x) { for (int y = 0; y < SizeY; ++y) { if (rand.NextDouble() <= CrateFrequency) { var crateClass = rand.NextDouble() < 2.0 / 3.0 ? "small crate" : "large crate"; var crate = Entity.Create(district.World, crateClass); crate.Position2D = new Vector2(district.X + X + x + 0.5f, district.Y + Y + y + 0.5f); district.PlaceEntity(crate); } } } }