//gui function to be called during OnGUI public bool draw() { if (getFiles) { getFileList(currentDirectory); getFiles = false; } if (guiSkin) { oldSkin = GUI.skin; GUI.skin = guiSkin; } GUILayout.BeginArea(guiSize); GUILayout.BeginVertical("box"); switch (layout) { case 0: GUILayout.BeginHorizontal("box"); GUILayout.FlexibleSpace(); GUILayout.Label(currentDirectory.FullName); GUILayout.FlexibleSpace(); if (showSearch) { drawSearchField(); GUILayout.Space(10); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal("box"); GUILayout.BeginVertical(GUILayout.MaxWidth(300)); folderScroll = GUILayout.BeginScrollView(folderScroll); if (showDrives) { foreach (DirectoryInformation di in drives) { if (di.button()) { getFileList(di.di); } } } else { if ((backStyle != null)?parentDir.button(backStyle):parentDir.button()) { getFileList(parentDir.di); } } foreach (DirectoryInformation di in directories) { if (di.button()) { getFileList(di.di); } } GUILayout.EndScrollView(); GUILayout.EndVertical(); GUILayout.BeginVertical("box"); if (isSearching) { drawSearchMessage(); } else { fileScroll = GUILayout.BeginScrollView(fileScroll); for (int fi = 0; fi < files.Length; fi++) { if (selectedFile == fi) { defaultColor = GUI.color; GUI.color = selectedColor; } if (files[fi].button()) { outputFile = files[fi].fi; selectedFile = fi; } if (selectedFile == fi) { GUI.color = defaultColor; } } GUILayout.EndScrollView(); } GUILayout.BeginHorizontal("box"); GUILayout.FlexibleSpace(); if ((cancelStyle == null)?GUILayout.Button("Cancel"):GUILayout.Button("Cancel", cancelStyle)) { outputFile = null; isSelect = false; return(true); } GUILayout.FlexibleSpace(); if ((selectStyle == null) ? GUILayout.Button("Select") : GUILayout.Button("Select", selectStyle)) { isSelect = true; return(true); } GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.EndVertical(); GUILayout.EndHorizontal(); break; case 1: //mobile preferred layout default: if (showSearch) { GUILayout.BeginHorizontal("box"); GUILayout.FlexibleSpace(); drawSearchField(); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); } fileScroll = GUILayout.BeginScrollView(fileScroll); if (isSearching) { drawSearchMessage(); } else { if (showDrives) { GUILayout.BeginHorizontal(); foreach (DirectoryInformation di in drives) { if (di.button()) { getFileList(di.di); } } GUILayout.EndHorizontal(); } else { if ((backStyle != null)?parentDir.button(backStyle):parentDir.button()) { getFileList(parentDir.di); } } foreach (DirectoryInformation di in directories) { if (di.button()) { getFileList(di.di); } } for (int fi = 0; fi < files.Length; fi++) { if (selectedFile == fi) { defaultColor = GUI.color; GUI.color = selectedColor; } if (files[fi].button()) { outputFile = files[fi].fi; selectedFile = fi; } if (selectedFile == fi) { GUI.color = defaultColor; } } } GUILayout.EndScrollView(); if ((selectStyle == null)?GUILayout.Button("Select"):GUILayout.Button("Select", selectStyle)) { return(true); } if ((cancelStyle == null)?GUILayout.Button("Cancel"):GUILayout.Button("Cancel", cancelStyle)) { outputFile = null; return(true); } break; } GUILayout.EndVertical(); GUILayout.EndArea(); if (guiSkin) { GUI.skin = oldSkin; } return(false); }
//gui function to be called during OnGUI public bool draw() { if (getFiles) { getFileList(currentDirectory); getFiles = false; } if (guiSkin) { oldSkin = GUI.skin; GUI.skin = guiSkin; } GUILayout.BeginArea(guiSize); GUILayout.BeginVertical("box"); if (showSearch) { GUILayout.BeginHorizontal("box"); GUILayout.FlexibleSpace(); drawSearchField(); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); } fileScroll = GUILayout.BeginScrollView(fileScroll); if (showDrives) { GUILayout.BeginHorizontal(); foreach (DirectoryInformation di in drives) { if (di.button()) { getFileList(di.di); } } GUILayout.EndHorizontal(); } else { if ((backStyle != null) ? parentDir.button(backStyle) : parentDir.button()) { getFileList(parentDir.di); } } foreach (DirectoryInformation di in directories) { if (di.button()) { getFileList(di.di); } } for (int fi = 0; fi < files.Length; fi++) { if (selectedFile == fi) { defaultColor = GUI.color; GUI.color = selectedColor; } if (files [fi].button()) { outputFile = files [fi].fi; selectedFile = fi; return(true); } if (selectedFile == fi) { GUI.color = defaultColor; } } GUILayout.EndScrollView(); GUILayout.EndVertical(); GUILayout.EndArea(); if (guiSkin) { GUI.skin = oldSkin; } return(false); }
//gui function to be called during OnGUI public int draw() { if (getFiles) { getFileList(currentDirectory); getFiles = false; } if (guiSkin) { oldSkin = GUI.skin; GUI.skin = guiSkin; } GUILayout.BeginArea(guiSize); GUILayout.BeginVertical("box"); switch (layout) { case 0: GUILayout.BeginHorizontal("box"); GUILayout.FlexibleSpace(); path = currentDirectory.FullName; GUILayout.Label(currentDirectory.FullName); GUILayout.FlexibleSpace(); if (showSearch) { drawSearchField(); GUILayout.Space(10); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal("box"); GUILayout.BeginVertical(GUILayout.MaxWidth(300)); folderScroll = GUILayout.BeginScrollView(folderScroll); if (showDrives) { foreach (DirectoryInformation di in drives) { if (di.button()) { getFileList(di.di); } } } else { if ((backStyle != null)?parentDir.button(backStyle):parentDir.button()) { getFileList(parentDir.di); } } foreach (DirectoryInformation di in directories) { if (di.button()) { getFileList(di.di); } } GUILayout.EndScrollView(); GUILayout.EndVertical(); GUILayout.BeginVertical("box"); if (isSearching) { drawSearchMessage(); } else { fileScroll = GUILayout.BeginScrollView(fileScroll); for (int fi = 0; fi < files.Length; fi++) { if (selectedFile == fi) { defaultColor = GUI.color; if (thisOne == fi) { GUI.color = selectedColor; } } #if UNITY_EDITOR if (files[fi].button()) { outputFile = files[fi].fi.ToString(); selectedFile = fi; if (!one_click) // first click no previous clicks { thisOne = -1; one_click = true; timer_for_double_click = Time.time; // save the current time // do one click things; which = fi; } else { one_click = false; // found a double click, now reset if (which == fi && (Time.time - timer_for_double_click) < delay) { thisOne = fi; which = -1; return(1); } else if (which != fi) { thisOne = -1; which = fi; one_click = true; timer_for_double_click = Time.time; } } } #else if (files[fi].button()) { #if UNITY_STANDALONE_OSX outputFile = path + "/" + files[fi].fi.ToString(); #else outputFile = path + "\\" + files[fi].fi.ToString(); #endif selectedFile = fi; if (!one_click) // first click no previous clicks { thisOne = -1; one_click = true; timer_for_double_click = Time.time; // save the current time // do one click things; which = fi; } else { one_click = false; // found a double click, now reset if (which == fi && (Time.time - timer_for_double_click) < delay) { thisOne = fi; which = -1; return(1); } else if (which != fi) { thisOne = -1; which = fi; one_click = true; timer_for_double_click = Time.time; } } } #endif if (selectedFile == fi) { GUI.color = defaultColor; } } GUILayout.EndScrollView(); } GUILayout.BeginHorizontal("box"); GUILayout.FlexibleSpace(); if ((cancelStyle == null)?GUILayout.Button("Odustani"):GUILayout.Button("Odustani", cancelStyle)) { SceneManager.LoadScene("LoadObject"); return(0); } GUILayout.FlexibleSpace(); if ((selectStyle == null) ? GUILayout.Button("Završi odabir") : GUILayout.Button("Završi odabir", selectStyle)) { return(2); } GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.EndVertical(); GUILayout.EndHorizontal(); break; case 1: //mobile preferred layout default: if (showSearch) { GUILayout.BeginHorizontal("box"); GUILayout.FlexibleSpace(); drawSearchField(); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); } fileScroll = GUILayout.BeginScrollView(fileScroll); if (isSearching) { drawSearchMessage(); } else { if (showDrives) { GUILayout.BeginHorizontal(); foreach (DirectoryInformation di in drives) { if (di.button()) { getFileList(di.di); } } GUILayout.EndHorizontal(); } else { if ((backStyle != null)?parentDir.button(backStyle):parentDir.button()) { getFileList(parentDir.di); } } foreach (DirectoryInformation di in directories) { if (di.button()) { getFileList(di.di); } } for (int fi = 0; fi < files.Length; fi++) { if (selectedFile == fi) { defaultColor = GUI.color; GUI.color = selectedColor; } #if UNITY_EDITOR if (files[fi].button()) { outputFile = files[fi].fi.ToString(); selectedFile = fi; } #else #if UNITY_STANDALONE_OSX if (files[fi].button()) { outputFile = path + "/" + files[fi].fi.ToString(); selectedFile = fi; } #else if (files[fi].button()) { outputFile = path + "\\" + files[fi].fi.ToString(); selectedFile = fi; } #endif #endif if (selectedFile == fi) { GUI.color = defaultColor; } } } GUILayout.EndScrollView(); //if((selectStyle == null)?GUILayout.Button("Odaberi"):GUILayout.Button("Odaberi",selectStyle)){ return 1; } if ((cancelStyle == null)?GUILayout.Button("Odustani"):GUILayout.Button("Odustani", cancelStyle)) { SceneManager.LoadScene("LoadObject"); return(0); } if ((selectStyle == null) ? GUILayout.Button("Završi odabir") : GUILayout.Button("Završi odabir", selectStyle)) { return(2); } break; } GUILayout.EndVertical(); GUILayout.EndArea(); if (guiSkin) { GUI.skin = oldSkin; } return(0); }