//**************************************************************************************************** // //**************************************************************************************************** public bool Show(string rootPath, INTENT paramIntent, FSFilter paramFilter, OnButon onButon) { if (gameObject.activeSelf == false) { m_rootPath = rootPath; m_onButon = onButon; intent = paramIntent; filter = (paramFilter != null) ? paramFilter.byval : new FSFilter(FSFilter.LOD.FILE, FSFilter.LOD.FILE, "*"); m_curFilter = filter.pattern; InitInputFields(); UpdateTitle(); m_fade.Begin(FADE_TYPE.FADE_IN, FADE_IN_DURATION, OnFadeFinished); Update(); gameObject.SetActive(true); EnableButons(false); return(true); } return(false); }
//**************************************************************************************************** // //**************************************************************************************************** public FSFilter(FSFilter o) { m_selectionLevel = o.m_selectionLevel; m_displayLevel = o.m_displayLevel; m_pattern = o.m_pattern; }
//**************************************************************************************************** // //**************************************************************************************************** private void AddEntry(FileSystemEntry parent, FileSystemInfo info, FSFilter paramFilter) { DirectoryInfo directory = info is DirectoryInfo ? info as DirectoryInfo : null; FileSystemEntry entry = new FileSystemEntry(parent, paramFilter); entry.dir = (directory != null); entry.path = info.FullName; entry.name = info.Name; }
//**************************************************************************************************** // //**************************************************************************************************** public FileSystemEntry(UIListItemData parent, FSFilter paramFilter = null) : base(parent, null) { userDatas = this; dir = false; listDirs = false; listFiles = false; name = string.Empty; path = string.Empty; displayFilter = paramFilter; }
//**************************************************************************************************** // //**************************************************************************************************** public void ExportCSV() { if (POPUPFileBrowser.Instance != null) { FSFilter filter = new FSFilter(FSFilter.LOD.FILE, "*.*"); POPUPFileBrowser.Instance.Show(Application.dataPath, POPUPFileBrowser.INTENT.SAVE, filter, (POPUPFileBrowser popup, POPUPFileBrowser.BUTON but) => { if (but == POPUPFileBrowser.BUTON.OK) { CSV.File csv = new CSV.File(); csv.Export(popup.path); } }); } }
//**************************************************************************************************** // //**************************************************************************************************** private void AddFiles() { if (FSFilter.HideFiles(displayFilter)) { return; } if (listFiles == false) { listFiles = true; DirectoryInfo dirInfo = new DirectoryInfo(path); FileInfo[] fileInfos = (displayFilter != null) ? dirInfo.GetFiles(displayFilter.pattern, SearchOption.TopDirectoryOnly) : dirInfo.GetFiles(); for (int file = 0; file < fileInfos.Length; ++file) { AddEntry(this, fileInfos[file], displayFilter); } } }
//**************************************************************************************************** // //**************************************************************************************************** public void ImportCSV() { if ((DBObjects.instance != null) && (DBObjects.instance.busy)) { return; } if (POPUPFileBrowser.Instance != null) { FSFilter filter = new FSFilter(FSFilter.LOD.FILE, "*.*"); POPUPFileBrowser.Instance.Show(Application.dataPath, POPUPFileBrowser.INTENT.LOAD, filter, (POPUPFileBrowser popup, POPUPFileBrowser.BUTON but) => { if (but == POPUPFileBrowser.BUTON.OK) { CSV.File csv = new CSV.File(); csv.Import(popup.path); // to do: fix Lambert_( 93 ? ) - WGS84 latitude conversion } }); } }
//**************************************************************************************************** // //**************************************************************************************************** private void UpdateTitle() { title = FSFilter.AllowFileSelection(filter) ? "FILES" : "DIRECTORIES"; }
static public bool ShowFiles(FSFilter filter) { return((filter == null) || (filter.showFiles)); }
static public bool HideFiles(FSFilter filter) { return((filter != null) && (filter.hideFiles)); }
static public bool AllowFileSelection(FSFilter filter) { return((filter == null) || (filter.allowFileSelection)); }
static public bool AllowDirSelection(FSFilter filter) { return((filter != null) && (filter.allowDirSelection)); }