IEnumerator SaveAndDownload(string url, string localPath, string fileName) { WWW www = new WWW(url); Debug.Log(url); yield return(www); byte[] bytes = www.bytes; Debug.Log("<color=red>" + bytes.Length + "</color>"); if (!Directory.Exists(localPath)) { Directory.CreateDirectory(localPath); #if UNITY_EDITOR /* 동적으로 폴더에 있는 데이터 임포트! -> 유니티 상에서 바로 사용 할 수 있도록 * 에디터 모드에만 적용되는 소스를 전처리기 적용 우회시켜 빌드 모드에서도 적용할 수 있도록 설정! */ ImportAsset.NewImportAsset_Dic("Assets/AssetBundles"); #endif } Debug.Log(localPath + " + " + fileName); File.WriteAllBytes(localPath + fileName, bytes); #if UNITY_EDITOR /* 동적으로 폴더에 있는 데이터 임포트! -> 유니티 상에서 바로 사용 할 수 있도록 * 에디터 모드에만 적용되는 소스를 전처리기 적용 우회시켜 빌드 모드에서도 적용할 수 있도록 설정! */ ImportAsset.NewImportAsset_File("Assets/AssetBundles/" + fileName); #endif }
public void OnClickCreateDirectory() { Debug.Log("여긴 되나?"); string _dir_name = _createField.text; if (_dir_name == "") { _createButton.gameObject.SetActive(true); _createField.gameObject.SetActive(false); _createField.text = ""; return; } _dir_name = _createField.text; StartDBController _sd = _startDBController; if (_sd.directoryString.ContainsKey(_dir_name)) { Debug.Log("여기서 막히나?"); // 이미 이 이름의 디렉토리가 있어서 빠꾸쳐야함 return; } /* * Directory 버튼 생성 부분인데 이거 솔직히 idx를 내가 직접 insert 해준다해도 prev_idx하고 다 찾아야하는데 난 자신없어서 냄겨둡니다. */ //int _idx = _sd.directoryString[_createField.text]; //int _prev_idx = _sd.directoryPoint[_idx]; //Transform _parent = _sd.contentInfo[_prev_idx]; //GameObject _tmp_btn = Instantiate(_startDBController._directorySampleBtn) as GameObject; //_tmp_btn.name = _dir_name; //_tmp_btn.transform.SetParent(_parent); //_tmp_btn.transform.GetChild(0).GetComponent<Text>().text = _dir_name; //_tmp_btn.transform.GetChild(2).GetComponent<Text>().text = _sd.directoryTime[_idx][_dir_name]; //_tmp_btn.transform.GetComponent<VoiceDirectoryButton>()._key = _idx; //_tmp_btn.transform.GetComponent<VoiceDirectoryButton>()._prev_key = _prev_idx; //_tmp_btn.transform.GetComponent<VoiceDirectoryButton>()._change_btn = false; //_tmp_btn.SetActive(true); //_tmp_btn.transform.localScale = new Vector3(0.9f, 0.9f, 1); //string _lower = _dir_name.ToLower(); //if (!_sd._currentSearch._fileTable.ContainsKey(_prev_idx)) //{ // Dictionary<string, GameObject> sg = new Dictionary<string, GameObject>(); // _sd._currentSearch._fileTable.Add(_prev_idx, sg); //} //if (!_sd._currentSearch._fileTable[_prev_idx].ContainsKey(_lower)) //{ // _tmp_btn = Instantiate(_sd._directorySampleBtn) as GameObject; // _tmp_btn.name = _lower; // _tmp_btn.transform.SetParent(_sd._current_content); // _tmp_btn.transform.GetChild(0).GetComponent<Text>().text = _dir_name; // _tmp_btn.transform.GetChild(2).GetComponent<Text>().text = _sd.directoryTime[_idx][_dir_name]; // _tmp_btn.transform.GetComponent<VoiceDirectoryButton>()._key = _idx; // _tmp_btn.transform.GetComponent<VoiceDirectoryButton>()._prev_key = _prev_idx; // _tmp_btn.transform.GetComponent<VoiceDirectoryButton>()._change_btn = false; // _tmp_btn.SetActive(false); // _tmp_btn.transform.localScale = new Vector3(0.9f, 0.9f, 1); // _sd._currentSearch._fileTable[_prev_idx].Add(_lower, _tmp_btn); //} //if (!_sd._allSearch._fileTable.ContainsKey(_lower)) //{ // _sd._allSearch._fileTable[_lower] = new List<GameObject>(); //} //_tmp_btn = Instantiate(_sd._directorySampleBtn) as GameObject; //_tmp_btn.name = _lower; //_tmp_btn.transform.SetParent(_sd._all_content); //_tmp_btn.transform.GetChild(0).GetComponent<Text>().text = _dir_name; //_tmp_btn.transform.GetChild(2).GetComponent<Text>().text = _sd.directoryTime[_idx][_dir_name]; //_tmp_btn.transform.GetComponent<VoiceDirectoryButton>()._key = _idx; //_tmp_btn.transform.GetComponent<VoiceDirectoryButton>()._prev_key = _prev_idx; //_tmp_btn.transform.GetComponent<VoiceDirectoryButton>()._change_btn = false; //_tmp_btn.SetActive(false); //_tmp_btn.transform.localScale = new Vector3(0.9f, 0.9f, 1); //_sd._allSearch._fileTable[_lower].Add(_tmp_btn); string _voiceDirectoryCreatePath; if (_sd._now > 0) { _voiceDirectoryCreatePath = _sd.directoryPath[_sd._now].Substring(1, _sd.directoryPath[_sd._now].Length - 1); } else { _voiceDirectoryCreatePath = ""; } string _folderPath = @"" + Static.STATIC.dir_path + "/Resources/Voice" + _voiceDirectoryCreatePath + "/" + _dir_name; Directory.CreateDirectory(_folderPath); Debug.Log(_folderPath); #if UNITY_EDITOR ImportAsset.NewImportAsset_File("Assets/Resources/Voice" + _voiceDirectoryCreatePath + "/" + _dir_name); #endif //버튼, 컨텐츠 생성 StartCoroutine(_sd.CreateDirectory(_voiceDirectoryCreatePath, _dir_name)); _createButton.gameObject.SetActive(true); _createField.gameObject.SetActive(false); _createField.text = ""; }
public IEnumerator ClickedItem_Start() { _clickedItemPanel.SetActive(false); _basePanel.SetActive(false); _clickedItem = null; string _path = dir_path + "/Database/"; DirectoryInfo dir = new DirectoryInfo(_path); bool _directory = false, _file = false; foreach (FileInfo file in dir.GetFiles()) { if (file.Extension.ToLower().Equals(".sqlite")) { string[] fileName = file.Name.Split('.'); if (fileName[0].Equals("VoiceDirectory")) { _directory = true; } else if (fileName[0].Equals("VoiceFile")) { _file = true; } if (_directory && _file) { break; } } } _path = dir_path + "Resources/Voice/"; dir = new DirectoryInfo(_path); if (!_directory) { VRDBController.VoiceDirectory_Init(); string tmp = dir.LastWriteTime.ToString(); string[] lastWrite = tmp.Split(' '); VRDBController.VoiceDirectory_add(dir.Name, lastWrite[0], 0, 0); yield return(StartCoroutine(GetVoiceDirectory(dir_path + "/Resources/Voice/", "", 0))); #if UNITY_EDITOR ImportAsset.NewImportAsset_File("Assets/DataBase/VoiceDirectory.sqlite"); #endif } else { VRDBController.ConIn(dir_path + "/DataBase/VoiceDirectory"); } VRDBController.VoiceDirectory_Start(); if (!_file) { VRDBController.VoiceFile_Init(); yield return(StartCoroutine(GetVoiceFile(dir_path + "/Resources/Voice/", "Voice/", ""))); #if UNITY_EDITOR ImportAsset.NewImportAsset_File("Assets/DataBase/VoiceFile.sqlite"); #endif } else { VRDBController.ConIn(dir_path + "/DataBase/VoiceFile"); } VRDBController.VoiceFile_Start(); VRDBController.VoiceAudio_Start(); yield return(null); }