void Start() { //add home directory Data.init(); _dirPath = new List <RCDirectory>(); _dirPath.Add(Data.dirs.Find(x => x.rcname == "home")); _curDir = _dirPath[0]; Data.setAnimalsOnGround(); }
void path() { GUILayout.BeginHorizontal(); for (int i = 0; i < _dirPath.Count; i++) { if (GUILayout.Button(_dirPath[i].rcname, GUILayout.MaxWidth(_buttonWidth))) { for (int j = _dirPath.Count - 1; _dirPath[i].rcname != _dirPath[j].rcname; j--) { _dirPath.RemoveAt(_dirPath.Count - 1); } _curDir = _dirPath[_dirPath.Count - 1]; } } GUILayout.EndHorizontal(); }
void objects() { _scrollPos = GUILayout.BeginScrollView(_scrollPos); GUILayout.BeginHorizontal(); //display directories// for (int i = 0; i < _curDir.dirs.Count; i++) { if (GUILayout.Button(_curDir.dirs[i].rcname, GUILayout.MaxWidth(_buttonWidth))) { _dirPath.Add(_curDir.dirs[i]); _curDir = _curDir.dirs[i]; } } //display files// for (int i = 0; i < _curDir.files.Count; i++) { if (_curDir.files[i].icon != null) { if (GUILayout.Button(_curDir.files[i].icon, GUILayout.MaxWidth(_buttonWidth), GUILayout.MaxHeight(60))) { for (int j = 0; j < Data.files.Count; j++) { if (_curDir.files[i].rcname == Data.files[j].rcname) { raycastPosition(j); } } } } else { if (GUILayout.Button(_curDir.files[i].rcname, GUILayout.MaxWidth(_buttonWidth), GUILayout.MaxHeight(60))) { for (int j = 0; j < Data.files.Count; j++) { if (_curDir.files[i].rcname == Data.files[j].rcname) { raycastPosition(j); } } } } } GUILayout.EndHorizontal(); GUILayout.EndScrollView(); }
public static void loadDir() { //loading texxt asset from resources.// string file = (UnityEngine.Resources.Load("directory") as TextAsset).text; //string file = FileManager.loadFile(filePath); file = file.Replace("\r", ""); string[] dir_l = file.Split('\n'); Debug.Log("loading directories..."); //create new directory with specified names.// for (int i = 0; i < dir_l.Length; i++) { string[] tmp = dir_l[i].Split(':'); RCDirectory tmp_d = new RCDirectory(); tmp_d.dirs = new List <RCDirectory>(); tmp_d.files = new List <RCFile>(); tmp_d.rcname = tmp[0]; dirs.Add(tmp_d); } //update all directory links inside a directory.// for (int i = 0; i < dirs.Count; i++) { string loc = dir_l[i].Split(':')[1]; if (loc == "") { continue; } string[] tmp = loc.Split(','); RCDirectory tmp_d; //Debug.Log(dir_l[i].Split(':')[0]); for (int k = 0; k < tmp.Length; k++) { for (int j = 0; j < dirs.Count; j++) { if (dirs[j].rcname == tmp[k] && i != j) { dirs[i].dirs.Add(dirs[j]); // Debug.Log(dirs[j].rcname); } } } } //update all file links inside directory.// for (int i = 0; i < dirs.Count; i++) { string loc = dir_l[i].Split(':')[2]; if (loc == "") { continue; } string[] tmp = loc.Split(','); for (int k = 0; k < tmp.Length; k++) { for (int j = 0; j < files.Count; j++) { if (files[j].rcname == tmp[k]) { dirs[i].files.Add(files[j]); // Debug.Log(files[j].rcname); } } } } }