예제 #1
0
    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);
        }
    }
예제 #2
0
 public static void OpenFile(string openPath, string tittle, EFileFilter filter, Action <string[]> callBack)
 {
     OpenFile(openPath, tittle, filter, 0, callBack);
 }
예제 #3
0
 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));
 }