void DrawComponentField() { GUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Component", GUILayout.Width(100)); string[] pops = new string[mAllCmpTypes.Count + 1]; pops[0] = "All"; for (int i = 1; i < pops.Length; i++) { pops[i] = mAllCmpTypes[i - 1].Name; } cmpIndex = Mathf.Min(cmpIndex, pops.Length - 1); GUILayout.Label(pops[cmpIndex], "ShurikenModuleTitle"); GUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.BeginVertical(); EditorGUILayout.BeginHorizontal(); showCmps = QuickGUI.SearchTextBar(showCmps); EditorGUILayout.EndHorizontal(); cmpPos = GUILayout.BeginScrollView(cmpPos, "box"); bool first = true; for (int i = 0; i < pops.Length; i++) { bool old = cmpIndex == i; if (!old && !pops[i].ToLower().Contains(showCmps.ToLower())) { continue; } if (!first) { GUILayout.Space(3); QuickGUI.HLine(Color.gray); } bool last = GUILayout.Toggle(old, pops[i], "PlayerSettingsLevel"); if (last) { cmpIndex = i; } if (last ^ old) { showCmps = ""; } first = false; } GUILayout.EndScrollView(); EditorGUILayout.EndVertical(); EditorGUILayout.EndHorizontal(); }
bool DrawResultItem(int index, int counter) { if (index >= showResults.Count) { return(false); } SearchResult sr = showResults[index]; if (!sr.gameObj) { return(false); } if (counter > 0) { GUILayout.Space(5); QuickGUI.HLine(Color.gray); } GameObject go = sr.gameObj; bool oldFout = foutIndex == index;// EditorPrefs.GetBool("go" + index); GUILayout.BeginHorizontal(); GUILayout.BeginVertical(); string goName = go.name; GUILayout.BeginHorizontal(); bool act = GUILayout.Toggle(go.activeSelf, "", GUILayout.Width(15)); if (act ^ go.activeSelf) { go.SetActive(act); } bool fout = GUILayout.Toggle(oldFout, goName, "PlayerSettingsLevel"); bool ding = GUILayout.Toggle(go == mDingObject, "\u2764", "SearchModeFilter", GUILayout.MaxWidth(20)); if (ding) { mDingObject = go; mDing = true; } GUILayout.EndHorizontal(); if (fout ^ oldFout) { //EditorGUIUtility.PingObject(go); if (fout) { PopupResult(index); } } if (fout) { GUILayout.BeginHorizontal(); GUILayout.Space(3); DrawResultItem(sr, !oldFout); GUILayout.Space(3); GUILayout.EndHorizontal(); } GUILayout.EndVertical(); GUILayout.EndHorizontal(); return(true); }