// 이 함수 한번 다시 바꿔야할것 같소이다. // 지금 파일 형태 불러올려고 대충 짜놈 // 현재 파일 폴더 뷰도 안되어있고, 스크롤도 안되어있고, 안되어있는게 너무많다 // 한번 정리해야할것 같음 private IEnumerator LoadAllFile(string directoryPath) { // Load시 기존의 FileEntity 전부 제거해야함~ foreach (var go in _directoryBtnList) { Destroy(go); } _directoryBtnList.Clear(); var topDirectoryInfo = new DirectoryInfo(directoryPath); // 현재 png의 탑디렉토리만 불러오는데 // 이것이 아마 들어있는 폴더들도 불러와야할듯? // 아니면 폴더를 따로 구하는 방법을 좀 찾아야함 DirectoryInfo[] topDirectories = topDirectoryInfo.GetDirectories("*", SearchOption.TopDirectoryOnly); FileInfo[] fileInfos = topDirectoryInfo.GetFiles("*" + _imageExtensionName, SearchOption.TopDirectoryOnly); // 블럭 사이즈의 하드코딩 없애고 최대한 TileManager의 값들을 가져오는 형태로 사용했으면함 Vector2 fileEntityPosition = new Vector2(0, 0); if (_topDirectoryPath != directoryPath) { fileEntityPosition.y -= _iconfileSize * (_iconExpandPer + 1); } foreach (var directoryInfo in topDirectories) { WWW www = new WWW("file://" + directoryInfo.FullName); yield return(www); FileEntity fileEntity = CreateFileEntity(directoryInfo); fileEntity.ClickFileEventHanlder += () => { StartCoroutine("LoadAllFile", directoryInfo.FullName); }; fileEntity.Initialize(directoryInfo.Name, ImagesParent.transform, fileEntityPosition, null); fileEntityPosition.y -= _iconfileSize * (_iconExpandPer + 1); _directoryBtnList.Add(fileEntity.gameObject); } foreach (var fileInfo in fileInfos) { WWW www = new WWW("file://" + fileInfo.FullName); yield return(www); var sprite = Sprite.Create(www.texture, Rect.MinMaxRect(0, 0, www.texture.width, www.texture.height), new Vector2(0.5f, 0.5f)); SpriteManager.Instance.AddSprite(fileInfo.FullName, sprite); FileEntity fileEntity = CreateFileEntity(fileInfo); fileEntity.ClickFileEventHanlder += () => { _tileManager.ChangeSellectTile(sprite); }; fileEntity.Initialize(fileInfo.Name, ImagesParent.transform, fileEntityPosition, www.texture); fileEntityPosition.y -= www.texture.height * (_iconExpandPer + 1); _directoryBtnList.Add(fileEntity.gameObject); } _currDirectoryPath = directoryPath; }