コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】uGUI でファイルブラウザを表示できる「Unity Simple File Browser」紹介

はじめに

「Unity Simple File Browser」を Unity プロジェクトに導入することで
uGUI でファイルブラウザを表示できるようになります

使用例

f:id:baba_s:20171223141954p:plain

使い方

f:id:baba_s:20171223142026p:plain

「SimpleFileBrowserCanvas」プレハブをシーンに配置します

スクリプトから制御する時は下記のようなコードを記述します

using UnityEngine;
using System.Collections;
using SimpleFileBrowser;

public class Example : MonoBehaviour
{
    private void Start()
    {
        // フィルタを設定します
        FileBrowser.SetFilters
        ( 
            true, 
            new FileBrowser.Filter( "Images", ".jpg", ".png" ), 
            new FileBrowser.Filter( "Text Files", ".txt", ".pdf" ) 
        );

        // ダイアログが表示されたときに選択されるデフォルトフィルタを設定します
        FileBrowser.SetDefaultFilter( ".jpg" );

        // /除外する拡張子を設定します
        FileBrowser.SetExcludedExtensions( ".lnk", ".tmp", ".zip", ".rar", ".exe" );

        // 新しいクイックリンクを追加します
        FileBrowser.AddQuickLink( null, "Users", "C:\\Users" );

        // ファイル保存ダイアログを表示します
        FileBrowser.ShowSaveDialog( null, null, false, "C:\\", "Save As", "Save" );

        // フォルダ選択ダイアログを表示します
        FileBrowser.ShowLoadDialog
        ( 
            path => Debug.Log( "Selected: " + path ), 
            () => Debug.Log( "Canceled" ), 
            true, 
            null, 
            "Select Folder", 
            "Select" 
        );

        // コルーチンサンプル
        StartCoroutine( ShowLoadDialogCoroutine() );
    }

    private IEnumerator ShowLoadDialogCoroutine()
    {
        // ファイル読み込みダイアログを表示してユーザーからの応答を待ちます
        yield return FileBrowser.WaitForLoadDialog( false, null, "Load File", "Load" );

        Debug.Log( FileBrowser.Success + " " + FileBrowser.Result );
    }
}

関連記事