static IEnumerator StartOpenFile(string openPath, string tittle, EFileFilter filter, int filterIndex, Action <string[]> callBack) { MyEventCenter.SendEvent(E_GameEvent.OpenFileContrl); yield return(new WaitForSeconds(0.05f)); Time.timeScale = 0; using (OpenFileDialog dialog = new OpenFileDialog()) { dialog.InitialDirectory = openPath; dialog.Title = tittle; dialog.FilterIndex = filterIndex; dialog.Multiselect = true; switch (filter) { case EFileFilter.All: dialog.Filter = MyFilterUtil.AllFileStr; break; case EFileFilter.TuAndAll: dialog.Filter = MyFilterUtil.TuAndAllStr; break; case EFileFilter.JpgAndTuAndAll: dialog.Filter = MyFilterUtil.JpgAndTuAndAllStr; break; case EFileFilter.PngAndTuAndAll: dialog.Filter = MyFilterUtil.PngAndTuAndAllStr; break; case EFileFilter.TextAnAll: dialog.Filter = MyFilterUtil.TextAnAllStr; break; case EFileFilter.AudioAndAll: dialog.Filter = MyFilterUtil.AudioAndAllStr; break; default: throw new Exception("未定义"); } DialogResult result = dialog.ShowDialog(); if (result == DialogResult.OK) { string[] files = dialog.FileNames; if (null != files && files.Length > 0 && null != callBack) { callBack(files); } } Time.timeScale = 1; MyEventCenter.SendEvent(E_GameEvent.CloseFileOrFolderContrl); } }
public static void OpenFile(string openPath, string tittle, EFileFilter filter, Action <string[]> callBack) { OpenFile(openPath, tittle, filter, 0, callBack); }
public static void OpenFile(string openPath, string tittle, EFileFilter filter, int filterIndex, Action <string[]> callBack)// 打开文件 { Ctrl_Coroutine.Instance.StartCoroutine(StartOpenFile(openPath, tittle, filter, filterIndex, callBack)); }