using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Kirurobo { /// /// 基础文件面板示例 /// 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() { } /// /// 打开单个文件的对话框。 /// 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); }); } /// /// 打开多个文件的对话框。 /// 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); }); } /// /// 打开保存文件对话框。 /// 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); }); } } }