Exemple #1
0
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();

        EditorGUILayout.Separator();

        DungeonBuilder dungeon = (DungeonBuilder)target;

        room.position = EditorGUILayout.Vector3Field("Room position", room.position);
        room.size     = EditorGUILayout.Vector2Field("Room size", room.size);

        if (GUILayout.Button("Create room"))
        {
            dungeon.CreateRoomGameObject(room);
        }

        var seed      = dungeon.seed;
        var radius    = dungeon.radius;
        var roomCount = dungeon.roomCount;

        if (GUILayout.Button("Create rooms"))
        {
            clearRooms(dungeon);
            dungeon.BuildDungeon(radius, seed, roomCount);
        }

        if (GUILayout.Button("Clear rooms"))
        {
            clearRooms(dungeon);
        }
    }
Exemple #2
0
    private void GenerateDungeon()
    {
        dungeonBuilder.BuildDungeon((Fields)Random.Range(0, Enum.GetNames(typeof(Fields)).Length));
        while (!InspectDungeon())
        {
            dungeonBuilder.DeleteDungeon();
            dungeonBuilder.BuildDungeon((Fields)Random.Range(0, Enum.GetNames(typeof(Fields)).Length));
        }
        dungeonBuilder.CombineDungeon();

        playerController.SpawnPlayer(Vector3.zero);

        dungeonFiller.FillDungeon();

        GetComponent <FieldFactory>().DeleteAllFields();
    }
Exemple #3
0
    void Start()
    {
        DungeonBuilder dungeon = GetComponent<DungeonBuilder>();

        string S_R = Scenes.getParam("seed");
        if (!S_R.Equals(""))
        {
            Debug.Log(S_R);
            Seed = int.Parse(S_R.Split(null)[0]);
            Rooms = int.Parse(S_R.Split(null)[1]);
        }

        if (Seed == 0) Seed = Random.Range(1111, 999999);
        if (Rooms == 0) Rooms = Random.Range(10, 40);

        dungeon.BuildDungeon(0, Seed, Rooms);

        GameController.Instance.Seed = Seed;
        GameController.Instance.Rooms = Rooms;
    }