コード例 #1
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            Maze maze = MazeMeshGenerator.GenerateRectMesh(5, 5, 50, 50);

            foreach (var item in maze.Cells)
            {
                Ellipse ell = new Ellipse()
                {
                    Width = 10, Height = 10, Fill = new SolidColorBrush(Colors.Black)
                };
                //Canvas.SetLeft(ell, item.Position.X-5);
                //Canvas.SetTop(ell, item.Position.Y-5);
                //Canvas.Children.Add(ell);
                ell.Margin              = new Thickness(item.Position.X, item.Position.Y, 0, 0);
                ell.VerticalAlignment   = VerticalAlignment.Top;
                ell.HorizontalAlignment = HorizontalAlignment.Left;
                Grd.Children.Add(ell);
                //Grid.SetRow(ell, 0);
            }

            foreach (var item in maze.Passages)
            {
                Line ln = new Line();
                ln.X1 = (item.Cell1 as Cell).Position.X;
                ln.Y1 = (item.Cell1 as Cell).Position.Y;

                ln.X2              = (item.Cell2 as Cell).Position.X;
                ln.Y2              = (item.Cell2 as Cell).Position.Y;
                ln.Stroke          = new SolidColorBrush(item.IsOpen ? Colors.Blue : Colors.Navy);
                ln.StrokeThickness = 3;
                Grd.Children.Add(ln);
                //Canvas.Children.Add(ln);
            }
        }
コード例 #2
0
 private void Awake()
 {
     data = new int[, ] {
         { 1, 1, 1 }, { 1, 0, 1 }, { 1, 1, 1 }
     };
     dG = new MazeDataGenerator();
     mG = new MazeMeshGenerator();
 }
コード例 #3
0
ファイル: MazeConstructor.cs プロジェクト: Deiugarte/Fatman
 //3
 void Awake()
 {
     // default to walls surrounding a single empty cell
     data = new int[, ] {
         { 1, 1, 1 }, { 1, 0, 1 }, { 1, 1, 1 }
     };
     dataGenerator = new MazeDataGenerator();
     meshGenerator = new MazeMeshGenerator();
 }
コード例 #4
0
 void Awake()
 {
     meshGenerator = new MazeMeshGenerator();
     dataGenerator = new MazeDataGenerator();
     data          = new int[, ]
     {
         { 1, 1, 1 },
         { 1, 0, 1 },
         { 1, 1, 1 }
     };
 }
コード例 #5
0
 void Awake()
 {
     data = new int[, ] {
         { 1, 1, 1 },
         { 1, 0, 1 },
         { 1, 1, 1 }
     };
     dataGenerator      = new MazeDataGenerator();
     meshGenerator      = new MazeMeshGenerator();
     generatedMaze      = null;
     generatedObstacles = new List <NavMeshObstacle>();
 }
コード例 #6
0
    void Awake()
    {
        data = new int[, ]
        {
            { 1, 1, 1 },
            { 1, 0, 1 },
            { 1, 1, 1 }
        };

        dataGenerator = new MazeDataGenerator();
        meshGenerator = new MazeMeshGenerator(wallTorch);
    }
コード例 #7
0
    private void Awake()
    {
        dataGenerator = new MazeDataGenerator();
        meshGenerator = new MazeMeshGenerator();

        // Примитивный лабиринт с пустым центром
        data = new int[, ]
        {
            { 1, 1, 1 },
            { 1, 0, 1 },
            { 1, 1, 1 }
        };
    }
コード例 #8
0
 private void Awake()
 {
     dataGenerator = new MazeDataGenerator();
     meshGenerator = new MazeMeshGenerator();
     // default walls surrounding a single empty cell
     // empty cell is area the player can move around in, dont generate a mesh here
     data = new int[, ]
     {
         { 1, 1, 1 },
         { 1, 0, 1 },
         { 1, 1, 1 }
     };
 }
コード例 #9
0
    void Awake()
    {
        meshGenerator = new MazeMeshGenerator();

        mazeGenerator = new MazeDataGenerator();

        data = new PathNode[, ]
        {
            { new PathNode(), new PathNode(), new PathNode() },
            { new PathNode(), new PathNode(), new PathNode() },
            { new PathNode(), new PathNode(), new PathNode() }
        };
    }
コード例 #10
0
    void Awake()
    {
        dataGenerator = new MazeDataGenerator(); //used for layout
        meshGenerator = new MazeMeshGenerator(); //used for textures

        //default to walls surrounding a empty cell resulting in a single room
        data = new int[, ]
        {
            { 1, 1, 1 },
            { 1, 0, 1 },
            { 1, 1, 1 }
        };
    }
コード例 #11
0
    private MazeMeshGenerator meshGenerator; //Частное поле для хранения генератора меша.

    //Функция инициализирует data с массивом 3 x 3 из единиц, окружающих ноль. 1 означает стену, а 0 — пустое пространство, то есть сетка по умолчанию выглядит как окружённая стеной комната.
    void Awake()
    {
        dataGenerator = new MazeDataGenerator(); //Создаем экземпляр генератора данных, сохраняя генератор в новую переменную

        meshGenerator = new MazeMeshGenerator(); //Создаем экземпляр генератора меша, сохранив генератор в новом поле

        // default to walls surrounding a single empty cell
        data = new int[, ]
        {
            { 1, 1, 1 },
            { 1, 0, 1 },
            { 1, 1, 1 }
        };
    }
コード例 #12
0
    void Awake()
    {
        // default to walls surrounding a single empty cell
        meshGenerator = new MazeMeshGenerator();
        dataGenerator = new MazeDataGenerator();
        tempGo        = new GameObject();
        data          = new int[, ]

        {
            { 1, 1, 1 },
            { 1, 0, 1 },
            { 1, 1, 1 }
        };
    }
コード例 #13
0
ファイル: MazeMeshOutputer.cs プロジェクト: daidaima/study
    void Start()
    {
        var mazeData     = _mazeScaner.GetOriginMaze();
        var generateData = new MazeData(mazeData);

        generateData.Entrance = generateData.FirstRoad - new Vector2(2, 0);
        generateData.Exit     = generateData.LastRoad + new Vector2(2, 0);
        generateData.GenerateOneWall();
        _mazePrimitiveGenerater.Data = generateData.Data;

        _mazeTextureOutputer.data = generateData.Data;
        _mazeTextureOutputer.OutputToTexture();

        _mazePrimitiveGenerater.Generate();

        var mazeMeshGenerator = new MazeMeshGenerator(_mazePrimitiveGenerater.MazeConnects, _mazePrimitiveGenerater.MazeCorsses);

        mazeMeshGenerator.Generate();

        _roadMeshFilter.mesh = mazeMeshGenerator.RoadMesh;
        _wallMeshFilter.mesh = mazeMeshGenerator.WallMesh;
    }
コード例 #14
0
 /*
  * Method to initialize maze data and mesh generator
  */
 private void Awake()
 {
     dataGenerator = new MazeDataGenerator();
     meshGenerator = new MazeMeshGenerator();
 }