Esempio n. 1
0
    private void OnGUI()
    {
        this.minSize = new Vector2(500, 500);
        scrollBar    = EditorGUILayout.BeginScrollView(scrollBar);

        GUILayout.Label("Dungeon Generator", EditorStyles.boldLabel);



        EditorGUI.BeginChangeCheck();

        GUILayout.Label("Measure", EditorStyles.miniBoldLabel);
        width  = EditorGUILayout.IntSlider("Width", width, 10, 100);
        height = EditorGUILayout.IntSlider("Height", height, 10, 100);

        GUILayout.Label("Room Size", EditorStyles.miniBoldLabel);
        roomMinSize = EditorGUILayout.IntSlider("Min", roomMinSize, 1, roomMaxSize - 1);
        roomMaxSize = EditorGUILayout.IntSlider("Max", roomMaxSize, 2, maxMeasureRoom);


        GUILayout.Label("Number of Rooms", EditorStyles.miniBoldLabel);
        minNumRoom = EditorGUILayout.IntSlider("Min", minNumRoom, 0, maxNumRoom - 1);
        maxNumRoom = EditorGUILayout.IntSlider("Max", maxNumRoom, 1, maxNumRoomsPossible);

        if (EditorGUI.EndChangeCheck())
        {
            maxNumRoomsPossible = GetMaxNumRoomsPosible();
            maxMeasureRoom      = GetMinMeasureRoom();
        }

        if (GUILayout.Button("Preview"))
        {
            dungeonGenerator.SetHeight(height);
            dungeonGenerator.SetWidth(width);
            dungeonGenerator.SetMinRoom(minNumRoom);
            dungeonGenerator.SetMaxRoom(maxNumRoom);
            dungeonGenerator.SetRoomMaxSize(roomMaxSize);
            dungeonGenerator.SetRoomMinSize(roomMinSize);

            dungeon = DrawDungeon();

            canGenerate = true;
        }



        scrollBarDisplay = EditorGUILayout.BeginScrollView(scrollBarDisplay);
        GUI.enabled      = false;
        dungeon          = EditorGUILayout.TextArea(dungeon);

        EditorGUILayout.EndScrollView();

        GUI.enabled = canGenerate;
        if (GUILayout.Button("Generate"))
        {
            CreateDungeon();
            canSave = true;
        }
        GUI.enabled = true;

        nameDungeon = GUILayout.TextField(nameDungeon, EditorStyles.textField);

        GUI.enabled = canSave;
        if (GUILayout.Button("Save"))
        {
            Save();
        }
        EditorGUILayout.EndScrollView();
    }