private void UpdateDrivesList() { GameObject target = drivesScrollRectContent; for (int i = 0; i < target.transform.childCount; i++) { Destroy(target.transform.GetChild(i).gameObject); } string[] info = Directory.GetLogicalDrives(); for (int i = 0; i < info.Length; i++) { GameObject obj = Instantiate(drivesScrollRectElement, Vector3.zero, Quaternion.identity) as GameObject; obj.transform.SetParent(target.transform, true); obj.transform.localPosition = Vector3.zero; obj.transform.localScale = new Vector3(1, 1, 1); obj.transform.localRotation = Quaternion.Euler(Vector3.zero); FileListElement element = obj.GetComponent <FileListElement>(); element.instance = this; element.data = info[i]; element.elementName.text = info[i]; element.isFile = false; } }
private void UpdateFilesList() { GameObject target = filesScrollRectContent; for (int i = 0; i < target.transform.childCount; i++) { Destroy(target.transform.GetChild(i).gameObject); } DirectoryInfo dir = new DirectoryInfo(workingPath); try { DirectoryInfo[] info = dir.GetDirectories(); for (int i = 0; i < info.Length; i++) { GameObject obj = Instantiate(filesScrollRectElement, Vector3.zero, Quaternion.identity) as GameObject; obj.transform.SetParent(target.transform, true); obj.transform.localPosition = Vector3.zero; obj.transform.localScale = new Vector3(1, 1, 1); obj.transform.localRotation = Quaternion.Euler(Vector3.zero); FileListElement element = obj.GetComponent <FileListElement>(); element.instance = this; element.data = info[i].FullName + "/"; element.elementName.text = info[i].Name; element.size.text = ""; element.icon.sprite = folderIcon; element.isFile = false; } if (mode != FileDialogMode.FolderSelector) { if (allowedExtensions != null) { FileInfo[] fileinfo = dir.GetFiles().Where(f => allowedExtensions.Contains(f.Extension.ToLower())).ToArray(); for (int i = 0; i < fileinfo.Length; i++) { if (maxSize > 0) { if (fileinfo[i].Length < maxSize) { GameObject obj = Instantiate(filesScrollRectElement, Vector3.zero, Quaternion.identity) as GameObject; obj.transform.SetParent(target.transform, true); obj.transform.localPosition = Vector3.zero; obj.transform.localScale = new Vector3(1, 1, 1); obj.transform.localRotation = Quaternion.Euler(Vector3.zero); FileListElement element = obj.GetComponent <FileListElement>(); element.instance = this; element.data = fileinfo[i].FullName; element.size.text = GetFileSizeText(fileinfo[i].Length); element.elementName.text = fileinfo[i].Name; element.icon.sprite = fileIcon; element.isFile = true; } } else { GameObject obj = Instantiate(filesScrollRectElement, Vector3.zero, Quaternion.identity) as GameObject; obj.transform.SetParent(target.transform, true); obj.transform.localPosition = Vector3.zero; obj.transform.localScale = new Vector3(1, 1, 1); obj.transform.localRotation = Quaternion.Euler(Vector3.zero); FileListElement element = obj.GetComponent <FileListElement>(); element.instance = this; element.data = fileinfo[i].FullName; element.size.text = GetFileSizeText(fileinfo[i].Length); element.elementName.text = fileinfo[i].Name; element.icon.sprite = fileIcon; element.isFile = true; } } } else { FileInfo[] fileinfo = dir.GetFiles(); for (int i = 0; i < fileinfo.Length; i++) { if (maxSize > 0) { if (fileinfo[i].Length < maxSize) { GameObject obj = Instantiate(filesScrollRectElement, Vector3.zero, Quaternion.identity) as GameObject; obj.transform.SetParent(target.transform, true); obj.transform.localPosition = Vector3.zero; obj.transform.localScale = new Vector3(1, 1, 1); obj.transform.localRotation = Quaternion.Euler(Vector3.zero); FileListElement element = obj.GetComponent <FileListElement>(); element.instance = this; element.data = fileinfo[i].FullName; element.size.text = GetFileSizeText(fileinfo[i].Length); element.elementName.text = fileinfo[i].Name; element.icon.sprite = fileIcon; element.isFile = true; } } else { GameObject obj = Instantiate(filesScrollRectElement, Vector3.zero, Quaternion.identity) as GameObject; obj.transform.SetParent(target.transform, true); obj.transform.localPosition = Vector3.zero; obj.transform.localScale = new Vector3(1, 1, 1); obj.transform.localRotation = Quaternion.Euler(Vector3.zero); FileListElement element = obj.GetComponent <FileListElement>(); element.instance = this; element.data = fileinfo[i].FullName; element.size.text = GetFileSizeText(fileinfo[i].Length); element.elementName.text = fileinfo[i].Name; element.icon.sprite = fileIcon; element.isFile = true; } } } } } catch (Exception) { } }