본문 바로가기

프로그램/유니티 스크립트 소스

[유니티 스크립트 소스] 유니티에서 윈도우 파일 브라우즈 열어서 파일 패스 얻기

728x90
반응형

1. Api Compatibility Level > .NET 4.x

Plyaer Setting s > Other Settings > Configuration > Api Compatibility Level > .NET 4.x로 설정합니다.

 

2. dll 추가

 

Plugins 폴더를 생성 후 System.Windows.Forms.dll과 Ookii.Dialogs.dll 파일을 추가합니다.

 

Plugins.zip
1.02MB

 

3. 버튼 생성

 

버튼을 생성합니다.

 

 

4. 소스 

 

using UnityEngine;
using System.Windows.Forms;
using Ookii.Dialogs;

public class StandaloneFileBrowser : MonoBehaviour
{
    private VistaOpenFileDialog m_OpenFileDialog
        = new VistaOpenFileDialog();

    [SerializeField]
    private string[] m_FilePaths; // 파일 패스

    public void OnButtonOpenFile() // 버튼에 추가할 메서드
    {
        SetOpenFileDialog();
        m_FilePaths = FileOpen(m_OpenFileDialog);
    }

    string[] FileOpen(VistaOpenFileDialog openFileDialog)
    {
        var result = openFileDialog.ShowDialog();
        var filenames = result == DialogResult.OK ? 
            openFileDialog.FileNames : 
            new string[0];
        openFileDialog.Dispose();
        return filenames;
    }

    void SetOpenFileDialog()
    {
        m_OpenFileDialog.Title = "파일 열기";
        m_OpenFileDialog.Filter
            = "오디오 파일 |*.mp3; *.wav" +
            "|비디오 파일 |*.mp4; *.avi" +
            "|모든 파일|*.*";
        m_OpenFileDialog.FilterIndex = 1;
        m_OpenFileDialog.Multiselect = true;
    }
}

 

728x90
반응형