120 lines
4.3 KiB
C#
120 lines
4.3 KiB
C#
|
using System.Collections;
|
||
|
using UnityEngine;
|
||
|
using SFB;
|
||
|
|
||
|
public class BasicSample : MonoBehaviour {
|
||
|
private string _path;
|
||
|
|
||
|
void OnGUI() {
|
||
|
var guiScale = new Vector3(Screen.width / 800.0f, Screen.height / 600.0f, 1.0f);
|
||
|
GUI.matrix = Matrix4x4.TRS(Vector3.zero, Quaternion.identity, guiScale);
|
||
|
|
||
|
GUILayout.Space(20);
|
||
|
GUILayout.BeginHorizontal();
|
||
|
GUILayout.Space(20);
|
||
|
GUILayout.BeginVertical();
|
||
|
|
||
|
// Open File Samples
|
||
|
|
||
|
if (GUILayout.Button("Open File")) {
|
||
|
WriteResult(StandaloneFileBrowser.OpenFilePanel("Open File", "", "", false));
|
||
|
}
|
||
|
GUILayout.Space(5);
|
||
|
if (GUILayout.Button("Open File Async")) {
|
||
|
StandaloneFileBrowser.OpenFilePanelAsync("Open File", "", "", false, (string[] paths) => { WriteResult(paths); });
|
||
|
}
|
||
|
GUILayout.Space(5);
|
||
|
if (GUILayout.Button("Open File Multiple")) {
|
||
|
WriteResult(StandaloneFileBrowser.OpenFilePanel("Open File", "", "", true));
|
||
|
}
|
||
|
GUILayout.Space(5);
|
||
|
if (GUILayout.Button("Open File Extension")) {
|
||
|
WriteResult(StandaloneFileBrowser.OpenFilePanel("Open File", "", "txt", true));
|
||
|
}
|
||
|
GUILayout.Space(5);
|
||
|
if (GUILayout.Button("Open File Directory")) {
|
||
|
WriteResult(StandaloneFileBrowser.OpenFilePanel("Open File", Application.dataPath, "", true));
|
||
|
}
|
||
|
GUILayout.Space(5);
|
||
|
if (GUILayout.Button("Open File Filter")) {
|
||
|
var extensions = new [] {
|
||
|
new ExtensionFilter("Image Files", "png", "jpg", "jpeg" ),
|
||
|
new ExtensionFilter("Sound Files", "mp3", "wav" ),
|
||
|
new ExtensionFilter("All Files", "*" ),
|
||
|
};
|
||
|
WriteResult(StandaloneFileBrowser.OpenFilePanel("Open File", "", extensions, true));
|
||
|
}
|
||
|
|
||
|
GUILayout.Space(15);
|
||
|
|
||
|
// Open Folder Samples
|
||
|
|
||
|
if (GUILayout.Button("Open Folder")) {
|
||
|
var paths = StandaloneFileBrowser.OpenFolderPanel("Select Folder", "", true);
|
||
|
WriteResult(paths);
|
||
|
}
|
||
|
GUILayout.Space(5);
|
||
|
if (GUILayout.Button("Open Folder Async")) {
|
||
|
StandaloneFileBrowser.OpenFolderPanelAsync("Select Folder", "", true, (string[] paths) => { WriteResult(paths); });
|
||
|
}
|
||
|
GUILayout.Space(5);
|
||
|
if (GUILayout.Button("Open Folder Directory")) {
|
||
|
var paths = StandaloneFileBrowser.OpenFolderPanel("Select Folder", Application.dataPath, true);
|
||
|
WriteResult(paths);
|
||
|
}
|
||
|
|
||
|
GUILayout.Space(15);
|
||
|
|
||
|
// Save File Samples
|
||
|
|
||
|
if (GUILayout.Button("Save File")) {
|
||
|
_path = StandaloneFileBrowser.SaveFilePanel("Save File", "", "", "");
|
||
|
}
|
||
|
GUILayout.Space(5);
|
||
|
if (GUILayout.Button("Save File Async")) {
|
||
|
StandaloneFileBrowser.SaveFilePanelAsync("Save File", "", "", "", (string path) => { WriteResult(path); });
|
||
|
}
|
||
|
GUILayout.Space(5);
|
||
|
if (GUILayout.Button("Save File Default Name")) {
|
||
|
_path = StandaloneFileBrowser.SaveFilePanel("Save File", "", "MySaveFile", "");
|
||
|
}
|
||
|
GUILayout.Space(5);
|
||
|
if (GUILayout.Button("Save File Default Name Ext")) {
|
||
|
_path = StandaloneFileBrowser.SaveFilePanel("Save File", "", "MySaveFile", "dat");
|
||
|
}
|
||
|
GUILayout.Space(5);
|
||
|
if (GUILayout.Button("Save File Directory")) {
|
||
|
_path = StandaloneFileBrowser.SaveFilePanel("Save File", Application.dataPath, "", "");
|
||
|
}
|
||
|
GUILayout.Space(5);
|
||
|
if (GUILayout.Button("Save File Filter")) {
|
||
|
// Multiple save extension filters with more than one extension support.
|
||
|
var extensionList = new [] {
|
||
|
new ExtensionFilter("Binary", "bin"),
|
||
|
new ExtensionFilter("Text", "txt"),
|
||
|
};
|
||
|
_path = StandaloneFileBrowser.SaveFilePanel("Save File", "", "MySaveFile", extensionList);
|
||
|
}
|
||
|
|
||
|
GUILayout.EndVertical();
|
||
|
GUILayout.Space(20);
|
||
|
GUILayout.Label(_path);
|
||
|
GUILayout.EndHorizontal();
|
||
|
}
|
||
|
|
||
|
public void WriteResult(string[] paths) {
|
||
|
if (paths.Length == 0) {
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
_path = "";
|
||
|
foreach (var p in paths) {
|
||
|
_path += p + "\n";
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public void WriteResult(string path) {
|
||
|
_path = path;
|
||
|
}
|
||
|
}
|