private void StreightAndCurvedWallsTest() { var nextWall = WallData.CreateStreight(new Vector2(0f, 0f), new Vector2(0f, 2f), 0.2f, 2f); var prevWall = WallData.CreateStreight(new Vector2(3f, 2f), new Vector2(3f, 0f), 0.1f, 2f); var curvedWall1 = WallData.CreateCurved( new Vector2(3f, 0f), new Vector2(1.5f, -1.5f), new Vector2(0f, 0f), 0.15f, 2f, new[] { new OpeningData(OpeningType.Outer, CreateBezierHoleShape(), 0.05f), new OpeningData(OpeningType.Inner, CreateRectHoleShape()) }); var curvedWall2 = curvedWall1.Reverse(); /* var curvedWall2 = WallData.CreateCurved ( * new Vector2 (3f, 0f), * new Vector2 (1.5f, -1.5f), * new Vector2 (0f, 0f), * 0.15f, * 2f, * new[] * { * new OpeningData (OpeningType.Through, CreateBezierHoleShape (), 0.05f), * new OpeningData (OpeningType.Through, CreateRectHoleShape ()) * });*/ var matrix = Matrix3x2.CreateTranslation(0f, 3f); var streightWall = WallData.CreateStreight( new Vector2(3f, 0f), new Vector2(0f, 0f), 0.3f, 2f, new[] { new OpeningData(OpeningType.Through, CreateBezierHoleShape()), new OpeningData(OpeningType.Through, CreateRectHoleShape()) }); RoomMeshesGenerator.CreateWallMeshes(curvedWall1, null, null); // SingleWallTest (streightWall.Transform (matrix), nextWall.Transform (matrix), prevWall.Transform (matrix)); RoomMeshesGenerator.CreateWallMeshes(streightWall.Transform(matrix), nextWall.Transform(matrix), null); matrix = Matrix3x2.CreateTranslation(0f, -3f); RoomMeshesGenerator.CreateWallMeshes( curvedWall2.Transform(matrix), prevWall.Reverse().Transform(matrix), nextWall.Reverse().Transform(matrix)); }
private void RoomsFinderTest() { var walls = new Walls(); walls.AddWallData(WallData.CreateStreight(1f, 2f, 0f, 3f, 0.1f, 2f)); walls.AddWallData(WallData.CreateStreight(0f, 2f, 0f, 3f, 0.1f, 2f)); walls.AddWallData(WallData.CreateStreight(1f, 1f, 0.5f, 0.5f, 0.1f, 2f)); walls.AddWallData(WallData.CreateStreight(0f, 0f, 0f, 2f, 0.1f, 2f)); walls.AddWallData(WallData.CreateStreight(0f, 2f, 1f, 2f, 0.1f, 2f)); walls.AddWallData(WallData.CreateStreight(1f, 2f, 1f, 3f, 0.1f, 2f)); walls.AddWallData(WallData.CreateStreight(1f, 3f, 4f, 3f, 0.1f, 2f)); walls.AddWallData(WallData.CreateStreight(4f, 3f, 2f, 2f, 0.1f, 2f)); walls.AddWallData(WallData.CreateStreight(2f, 2f, 1f, 2f, 0.1f, 2f)); walls.AddWallData(WallData.CreateStreight(2f, 2f, 2f, 0f, 0.1f, 2f)); walls.AddWallData(WallData.CreateStreight(2f, 0f, 0f, 0f, 0.1f, 2f)); walls.AddWallData(WallData.CreateStreight(1f, 2f, 1f, 1f, 0.1f, 2f)); walls.AddWallData(WallData.CreateStreight(2f, 0f, 1.5f, 0.5f, 0.1f, 2f)); walls.AddWallData(WallData.CreateStreight(1.5f, 0.5f, 1.5f, 1f, 0.1f, 2f)); walls.AddWallData(WallData.CreateStreight(1.5f, 1f, 1f, 1f, 0.1f, 2f)); walls.AddWallData(WallData.CreateStreight(10f, 10f, 10f, 15f, 0.1f, 2f)); walls.AddWallData(WallData.CreateStreight(10f, 15f, 15f, 15f, 0.1f, 2f)); walls.AddWallData(WallData.CreateStreight(15f, 15f, 15f, 10f, 0.1f, 2f)); walls.AddWallData(WallData.CreateStreight(15f, 10f, 10f, 10f, 0.1f, 2f)); walls.AddWallData(WallData.CreateStreight(11f, 11f, 11f, 13f, 0.1f, 2f)); walls.AddWallData(WallData.CreateStreight(11f, 13f, 13f, 13f, 0.1f, 2f)); walls.AddWallData(WallData.CreateStreight(13f, 13f, 13f, 11f, 0.1f, 2f)); walls.AddWallData(WallData.CreateStreight(13f, 11f, 11f, 11f, 0.1f, 2f)); /* walls.AddWallData (WallData.CreateStreight (0f, 0f, 0f, 2f, 0.1f, 2f)); * walls.AddWallData (WallData.CreateStreight (0f, 2f, 2f, 2f, 0.1f, 2f)); * walls.AddWallData (WallData.CreateStreight (2f, 2f, 2f, 0f, 0.1f, 2f)); * walls.AddWallData (WallData.CreateStreight (0f, 0f, 2f, 0f, 0.1f, 2f));*/ /* walls.AddWallData (WallData.CreateStreight (2f, 2f, 3f, 2f, 0.1f, 2f)); * walls.AddWallData (WallData.CreateStreight (3f, 2f, 3f, 0f, 0.1f, 2f)); * walls.AddWallData (WallData.CreateStreight (3f, 0f, 2f, 0f, 0.1f, 2f));*/ RoomMeshesGenerator.CreateRoomMeshes(walls); }