private IEnumerator GetVoiceDirectory(string cur_path, string nxt_path, int cur) { string _path = cur_path + nxt_path; DirectoryInfo dir = new DirectoryInfo(_path); int cur_idx = cur; foreach (DirectoryInfo d in dir.GetDirectories()) { string tmp = d.LastWriteTime.ToString(); string[] lastWrite = tmp.Split(' '); VRDBController.VoiceDirectory_add(d.Name, lastWrite[0], ++idx, cur_idx); StartCoroutine(GetVoiceDirectory(_path, d.Name + "/", idx)); } yield return(null); }
public IEnumerator CreateDirectory(string cur_path, string dir_name) { int cur_idx = -1; for (int i = 0; i < idxInfo.Count; ++i) { if (cur_idx < idxInfo[i]) { cur_idx = idxInfo[i]; } } idxInfo.Add(++cur_idx); if (!directoryString.ContainsKey(dir_name)) { directoryString.Add(dir_name, cur_idx); } if (!directoryInteger.ContainsKey(cur_idx)) { directoryInteger.Add(cur_idx, dir_name); } if (!directoryPoint.ContainsKey(cur_idx)) { directoryPoint.Add(cur_idx, _now); } DirectoryInfo dir = new DirectoryInfo(@"" + Static.STATIC.dir_path + "/Resources/Voice" + cur_path + "/" + dir_name); string dir_time = dir.LastWriteTime.ToString(); string[] lastWrite = dir_time.Split(' '); if (!directoryTime.ContainsKey(cur_idx)) { Dictionary <string, string> ss = new Dictionary <string, string>(); directoryTime.Add(cur_idx, ss); } if (!directoryTime[cur_idx].ContainsKey(dir_name)) { directoryTime[cur_idx].Add(dir_name, lastWrite[0]); } directoryName.Add(dir_name); if (!directoryPath.ContainsKey(cur_idx)) { directoryPath.Add(cur_idx, "." + cur_path + "/" + dir_name); } directoryPathIdx[_now].Add(cur_idx); // DB VRDBController.ConIn(Static.STATIC.dir_path + "/DataBase/VoiceDirectory"); VRDBController.VoiceDirectory_add(dir_name, lastWrite[0], cur_idx, _now); Debug.Log("Name: " + dir_name + ", Time:" + lastWrite[0] + ", idx:" + cur_idx + ", prev_idx:" + _now); // 컨텐츠 생성 Transform _parent = _viewPort; Transform tmp_content = Instantiate(_content); if (!contentInfo.ContainsKey(cur_idx)) { tmp_content.SetParent(_viewPort); tmp_content.name = dir_name; tmp_content.localScale = new Vector3(1, 1, 1); tmp_content.GetComponent <RectTransform>().localPosition = new Vector3(0, 0, 0); tmp_content.GetComponent <RectTransform>().offsetMax = new Vector2(0, 0); tmp_content.GetChild(0).GetComponent <VoiceDirectoryButton>()._key = cur_idx; tmp_content.GetChild(0).GetComponent <VoiceDirectoryButton>()._prev_key = _now; tmp_content.gameObject.SetActive(false); contentInfo.Add(cur_idx, tmp_content); } // 버튼 생성 _parent = contentInfo[_now]; GameObject tmp_btn = Instantiate(_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 = directoryTime[cur_idx][dir_name]; tmp_btn.transform.GetComponent <VoiceDirectoryButton>()._key = cur_idx; tmp_btn.transform.GetComponent <VoiceDirectoryButton>()._prev_key = _now; 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 (!_currentSearch._fileTable.ContainsKey(_now)) { Dictionary <string, GameObject> sg = new Dictionary <string, GameObject>(); _currentSearch._fileTable.Add(_now, sg); } if (!_currentSearch._fileTable[_now].ContainsKey(_lower)) { tmp_btn = Instantiate(_directorySampleBtn) as GameObject; tmp_btn.name = _lower; tmp_btn.transform.SetParent(_current_content); tmp_btn.transform.GetChild(0).GetComponent <Text>().text = dir_name; tmp_btn.transform.GetChild(2).GetComponent <Text>().text = directoryTime[cur_idx][dir_name]; tmp_btn.transform.GetComponent <VoiceDirectoryButton>()._key = cur_idx; tmp_btn.transform.GetComponent <VoiceDirectoryButton>()._prev_key = _now; tmp_btn.transform.GetComponent <VoiceDirectoryButton>()._change_btn = false; tmp_btn.SetActive(false); tmp_btn.transform.localScale = new Vector3(0.9f, 0.9f, 1); _currentSearch._fileTable[_now].Add(_lower, tmp_btn); } if (!_allSearch._fileTable.ContainsKey(_lower)) { _allSearch._fileTable[_lower] = new List <GameObject>(); } tmp_btn = Instantiate(_directorySampleBtn) as GameObject; tmp_btn.name = _lower; tmp_btn.transform.SetParent(_all_content); tmp_btn.transform.GetChild(0).GetComponent <Text>().text = dir_name; tmp_btn.transform.GetChild(2).GetComponent <Text>().text = directoryTime[cur_idx][dir_name]; tmp_btn.transform.GetComponent <VoiceDirectoryButton>()._key = cur_idx; tmp_btn.transform.GetComponent <VoiceDirectoryButton>()._prev_key = _now; tmp_btn.transform.GetComponent <VoiceDirectoryButton>()._change_btn = false; tmp_btn.SetActive(false); tmp_btn.transform.localScale = new Vector3(0.9f, 0.9f, 1); _allSearch._fileTable[_lower].Add(tmp_btn); _allSearch.root.insert(_lower + '\0', 0); yield return(null); }
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); }