97 lines
3.6 KiB
C#
97 lines
3.6 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
namespace Kirurobo
|
|
{
|
|
/// <summary>
|
|
/// 基础文件面板示例
|
|
/// </summary>
|
|
public class FileDialogSample : MonoBehaviour
|
|
{
|
|
public Button openFileButton;
|
|
public Button openMultipleFilesButton;
|
|
public Button saveFileButton;
|
|
public Text messageText;
|
|
|
|
// 首次更新前调用 Start
|
|
void Start()
|
|
{
|
|
openFileButton.onClick.AddListener(OpenSingleFile);
|
|
openMultipleFilesButton.onClick.AddListener(OpenMultipleFiles);
|
|
saveFileButton.onClick.AddListener(OpenSaveFile);
|
|
messageText.text = "点击按钮!";
|
|
}
|
|
|
|
// 每帧调用 Update
|
|
void Update()
|
|
{
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// 打开单个文件的对话框。
|
|
/// </summary>
|
|
private void OpenSingleFile() {
|
|
FilePanel.Settings settings = new FilePanel.Settings();
|
|
settings.filters = new FilePanel.Filter[]
|
|
{
|
|
new FilePanel.Filter("所有文件", "*"),
|
|
new FilePanel.Filter("图片文件 (*.png;*.jpg;*.jpeg;*.tiff;*.gif;*.tga)", "png", "jpg", "jpeg", "tiff", "gif", "tga"),
|
|
new FilePanel.Filter("文档 (*.txt;*.rtf;*.doc;*.docx)", "txt", "rtf", "doc", "docx"),
|
|
};
|
|
settings.title = "打开文件!";
|
|
settings.initialDirectory = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyPictures);
|
|
|
|
messageText.text = "";
|
|
FilePanel.OpenFilePanel(settings, (files) =>
|
|
{
|
|
messageText.text = "打开文件\n" + string.Join("\n", files);
|
|
});
|
|
}
|
|
|
|
/// <summary>
|
|
/// 打开多个文件的对话框。
|
|
/// </summary>
|
|
private void OpenMultipleFiles() {
|
|
FilePanel.Settings settings = new FilePanel.Settings();
|
|
settings.filters = new FilePanel.Filter[]
|
|
{
|
|
new FilePanel.Filter("图片文件 (*.png;*.jpg;*.jpeg;*.tiff;*.gif;*.tga)", "png", "jpg", "jpeg", "tiff", "gif", "tga"),
|
|
new FilePanel.Filter("文档 (*.txt;*.rtf;*.doc;*.docx)", "txt", "rtf", "doc", "docx"),
|
|
new FilePanel.Filter("所有文件", "*"),
|
|
};
|
|
settings.flags = FilePanel.Flag.AllowMultipleSelection;
|
|
settings.title = "打开多个文件!";
|
|
settings.initialDirectory = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
|
|
|
|
messageText.text = "";
|
|
FilePanel.OpenFilePanel(settings, (files) =>
|
|
{
|
|
messageText.text = "打开多个文件\n" + string.Join("\n", files);
|
|
});
|
|
}
|
|
|
|
/// <summary>
|
|
/// 打开保存文件对话框。
|
|
/// </summary>
|
|
private void OpenSaveFile() {
|
|
FilePanel.Settings settings = new FilePanel.Settings();
|
|
settings.filters = new FilePanel.Filter[]
|
|
{
|
|
new FilePanel.Filter("文本文件 (*.txt;*.log)", "txt", "log"),
|
|
new FilePanel.Filter("图片文件 (*.png;*.jpg;*.jpeg;*.tiff;*.gif;*.tga)", "png", "jpg", "jpeg", "tiff", "gif", "tga"),
|
|
new FilePanel.Filter("所有文件", "*"),
|
|
};
|
|
settings.title = "实际上不会执行保存操作";
|
|
settings.initialFile = "Test.txt";
|
|
|
|
messageText.text = "";
|
|
FilePanel.SaveFilePanel(settings, (files) =>
|
|
{
|
|
messageText.text = "选中的文件\n" + string.Join("\n", files);
|
|
});
|
|
}
|
|
}
|
|
} |