private void PopulateSpecialRoom(Scene scene, Zone zone, Vector3 roomCenter, PopulateSchemeFlags flags, ref PopulateRoomResults results) { int rng = rand.Next(8); if (flags.ClearPerimeter) { if (rng == 7) { SceneStructures.Arena(WallTexture)(scene, zone, roomCenter); } } if (flags.ClearFloor) { if (rng < 7 || !flags.ClearPerimeter) { results.GenerateFloor = false; SceneStructures.Pit(FloorTexture, WallTexture)(scene, zone, roomCenter); SceneStructures.PitFloor(Assets.iceTexture)(scene, zone, roomCenter); if (rng < 3 && flags.ClearCenter) { SceneStructures.PitPillar(WallTexture)(scene, zone, roomCenter); } } } if (rand.Next(2) == 0) { SceneStructures.IceCutCorners(Assets.iceTexture)(scene, zone, roomCenter); } }
private void PopulateSpecialRoom(Scene scene, Zone zone, Vector3 roomCenter, PopulateSchemeFlags flags, ref PopulateRoomResults results) { int rng = rand.Next(6); if (flags.ClearPerimeter) { if (rng == 0 || rng == 1) { SceneStructures.Arena(WallTexture)(scene, zone, roomCenter); } } if (flags.ClearFloor) { if (rng == 2 || rng == 3) { results.GenerateFloor = false; SceneStructures.Pit(FloorTexture, WallTexture)(scene, zone, roomCenter); if (rng == 3 && flags.ClearCenter) { SceneStructures.PitPillar(WallTexture)(scene, zone, roomCenter); } } } }