Exemplo n.º 1
0
    public void GenerateMap()
    {
        float[,] noiseMap = Noise.GenerateNoiseMap(mapWidth, mapHeight, seed, noiseScale, octaves, persistance, lacunarity, offset);

        Color[] colorMap = new Color[mapHeight * mapWidth];
        for (int y = 0; y < mapHeight; y++)
        {
            for (int x = 0; x < mapWidth; x++)
            {
                float currentH = noiseMap[x, y];
                for (int i = 0; i < regions.Length; i++)
                {
                    if (currentH <= regions[i].height)
                    {
                        colorMap[y * mapWidth + x] = regions[i].color; // Convert the noiseMap 2D array to a 1D color array;
                        break;
                    }
                }
            }
        }

        MapDisplay display = FindObjectOfType <MapDisplay> ();

        if (drawMode == DrawMode.NoiseMap)
        {
            display.DrawnTexture(TexGenerator.TexFromHeightMap(noiseMap));
        }
        else if (drawMode == DrawMode.ColorMap)
        {
            display.DrawnTexture(TexGenerator.TexFromColorMap(colorMap, mapWidth, mapHeight));
        }
    }
Exemplo n.º 2
0
        private void ExerciseButton_Click(object sender, RoutedEventArgs e)
        {
            var selectedItems = ExerciseListBox.SelectedItems;
            var numberItems   = selectedItems.Count;

            if (numberItems != 1 && numberItems != 4 && numberItems != 6 && numberItems != 9)
            {
                MessageBox.Show("You must export 1, 4, 6 or 9 images");
                return;
            }

            var annotiationWindow = new AnnotationWindow(numberItems);
            var dialogResult      = annotiationWindow.ShowDialog();

            if (!dialogResult.HasValue || !dialogResult.Value)
            {
                MessageBox.Show("Could not parse the annotations");
                return;
            }

            var header   = annotiationWindow.Header;
            var task     = annotiationWindow.Task;
            var captions = annotiationWindow.Captions;

            var exportedImages = new List <Bitmap>();

            foreach (string selectedItem in selectedItems)
            {
                var selectedFend    = File.ReadAllText(selectedItem);
                var gameController  = new GameController(selectedFend);
                var boardController = gameController.BoardController;
                exportedImages.Add(boardController.GetImage());
            }

            var filenames = new List <string>();

            foreach (var exportedImage in exportedImages)
            {
                var filename = StorageManager.GetNewPngPath();
                exportedImage.Save(filename);
                filenames.Add(filename);
            }

            int texfileNumber;

            var texPath = StorageManager.GetNewTexPath(out texfileNumber);

            TexGenerator.GenerateTexFile(texPath, header, task, filenames.ToArray(), captions);

            var args = @"-output-directory " + StorageManager.Outputdir + " ";

            var p = Process.Start("pdflatex.exe", args + texPath);

            p.WaitForExit();

            var p2 = Process.Start(StorageManager.Outputdir + texfileNumber + ".pdf");

            p2.WaitForExit();
        }
Exemplo n.º 3
0
    public void GenerateMap()
    {
        float[,] noiseMap = Noise.GenerateNoiseMap(mapWidth, mapHeight, seed, noiseScale, octaves, persistance, lacunarity, offSet);

        MapDisplay display = FindObjectOfType <MapDisplay>();


        Color[] colorMap = new Color[mapWidth * mapHeight];
        for (int y = 0; y < mapHeight; y++)
        {
            for (int x = 0; x < mapWidth; x++)
            {
                float currentHeight = noiseMap[x, y];
                for (int i = 0; i < regions.Length; i++)
                {
                    if (currentHeight <= regions[i].height)
                    {
                        colorMap[y * mapWidth + x] = regions[i].color;

                        break;
                    }
                }
            }
        }

        if (drawMode == DrawMode.NoiseMap)
        {
            display.DrawTexture(TexGenerator.TextureFromHeightMap(noiseMap));
        }
        else if (drawMode == DrawMode.ColorMap)
        {
            display.DrawTexture(TexGenerator.TextureFromColorMap(colorMap, mapWidth, mapHeight));
        }
        else if (drawMode == DrawMode.Mesh)
        {
            display.DrawMesh(MeshGenerator.GenerateTerrainMesh(noiseMap, meshHeightMultiplier, meshHeightCurve), TexGenerator.TextureFromColorMap(colorMap, mapWidth, mapHeight));
        }
    }
Exemplo n.º 4
0
 public void Generate()
 {
     FileParser.ParseFiles(directory);
     DataAnalyzer.AnalyzeData(directory);
     TexGenerator.Generate(directory);
 }