mirror of
https://github.com/RHeavenStudio/HeavenStudio.git
synced 2025-06-13 12:17:39 +02:00
Basic saving and loading system
This commit is contained in:
119
Assets/Plugins/StandaloneFileBrowser/Sample/BasicSample.cs
Normal file
119
Assets/Plugins/StandaloneFileBrowser/Sample/BasicSample.cs
Normal file
@ -0,0 +1,119 @@
|
||||
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;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user