Exemplo n.º 1
0
    public void BuildMaze(int index)
    {
        if (MazeWidth < 5 || MazeHeight < 5) {
            MazeWidth = 5;
            MazeHeight = 5;
        }
        if (seed == null) {
            seed = "Du hast vergessen einen Seed einzugeben";
        }
        if (index == 0) {
            dfsScript = gameObject.AddComponent<MazeGeneratorDFS>() as MazeGeneratorDFS;
            dfsScript.setVariables (XTile, ITile, LTile, DeadendTile, EndTile, StartTile, TTile, wallTile, MazeWidth, MazeHeight, seed, 1, waitTime,useRandomSeed);
            dfsScript.BuildMaze();
            /*
            if(Application.isPlaying)
            {
                Destroy(dfsScript);
            } else {
                DestroyImmediate(dfsScript);
            }
            */

        } else if (index == 1) {
            primScript = gameObject.AddComponent<PrimsAlgorithm>() as PrimsAlgorithm;
            primScript.setVariables (XTile, ITile, LTile, DeadendTile, EndTile, StartTile, TTile, wallTile, MazeWidth,
                                     MazeHeight, seed, timeToWait, useRandomSeed);

            if(Application.isPlaying)
            {
                if(waitTime)
                {
                    primScript.mainProgramWithWaitingTime();
                }else {
                    primScript.mainProgramWithoutWaitingTime();
                }
            } else {
                primScript.mainProgramWithoutWaitingTime();
            }
        } else if(index == 2) {
            kruskalScript = gameObject.AddComponent<MazeScript>() as MazeScript;
            kruskalScript.setVariables(XTile,ITile,LTile,DeadendTile,EndTile,StartTile,TTile,wallTile,MazeWidth,MazeHeight,seed,timeToWait,useRandomSeed);
            if(!Application.isPlaying)
            {
                kruskalScript.test(false);
            }
            else
                kruskalScript.test(waitTime);
        }
    }