void OnGUI() { var count = PluginEntry.CountSharedObjects(); EditorGUILayout.Space(); EditorGUI.indentLevel++; if (count == 0) { EditorGUILayout.LabelField("No sender detected."); } else { EditorGUILayout.LabelField(count + " sender(s) detected."); } for (var i = 0; i < count; i++) { var name = PluginEntry.GetSharedObjectNameString(i); if (name != null) { EditorGUILayout.LabelField("- " + name); } } EditorGUI.indentLevel--; }
// Scan available Spout sources and store their names into the given // collection object. public static void GetSourceNames(ICollection <string> store) { store.Clear(); var count = PluginEntry.ScanSharedObjects(); for (var i = 0; i < count; i++) { store.Add(PluginEntry.GetSharedObjectNameString(i)); } }
// Scan available Spout sources and return their names via a newly // allocated string array. public static string[] GetSourceNames() { var count = PluginEntry.ScanSharedObjects(); var names = new string [count]; for (var i = 0; i < count; i++) { names[i] = PluginEntry.GetSharedObjectNameString(i); } return(names); }
// Create and show the source name dropdown. void ShowSourceNameDropdown(Rect rect) { var menu = new GenericMenu(); var count = PluginEntry.ScanSharedObjects(); for (var i = 0; i < count; i++) { var name = PluginEntry.GetSharedObjectNameString(i); menu.AddItem(new GUIContent(name), false, OnSelectSource, name); } menu.DropDown(rect); }