void FreeRefresh()
    {
        for (int group_id = 0; group_id <= Database.enemy_groups.max_id; group_id++)
        {
            EnemyGroup enemy_group_to_emulate = Database.enemy_groups.GetEnemyGroupFromID(group_id);
            if (enemy_group_to_emulate == null)
            {
                continue;
            }

            PieceSelectionButton new_button = Instantiate(selection_prefab, button_holder);
            new_button.title = enemy_group_to_emulate.name;
            new_button.ShowCount(false);
            new_button.button.onClick.AddListener(() => build_manager.place_enemies.SetSelectedGroup(enemy_group_to_emulate));
        }
    }
    void FreeRefresh()
    {
        for (int base_piece_id = 0; base_piece_id <= Database.base_pieces.max_id; base_piece_id++)
        {
            if (base_piece_id == Database.base_pieces.entrance_id || base_piece_id == Database.base_pieces.exit_id)
            {
                continue;
            }

            BasePiece piece_to_emulate = Database.base_pieces.GetBasePieceFromID(base_piece_id);
            if (piece_to_emulate == null)
            {
                continue;
            }

            PieceSelectionButton new_button = Instantiate(selection_prefab, button_holder);
            new_button.title = piece_to_emulate.piece_name;
            new_button.ShowCount(false);
            new_button.button.onClick.AddListener(() => build_manager.place_blocks.SetSelectedPiece(piece_to_emulate));
        }
    }