private void DrawTransmitters(OSCEditorTransmitter[] transmitters) { using (new GUILayout.VerticalScope(OSCEditorStyles.Box)) { GUI.color = Color.red; using (new GUILayout.VerticalScope(OSCEditorStyles.Box)) { GUILayout.Label("Transmitters:", OSCEditorStyles.CenterBoldLabel); } GUI.color = _defaultColor; GUILayout.Space(5f); if (transmitters.Length > 0) { OSCEditorTransmitter removingTransmitter = null; foreach (var transmitter in transmitters) { bool remove; DrawBase(transmitter, out remove); GUILayout.Space(5f); if (remove) { removingTransmitter = transmitter; } } if (removingTransmitter != null) { OSCEditorManager.RemoveEditorTransmitter(removingTransmitter); } } else { using (new GUILayout.VerticalScope(OSCEditorStyles.Box)) { GUILayout.Label("- none -", OSCEditorStyles.CenterLabel); } } GUILayout.Space(5f); using (new GUILayout.VerticalScope(OSCEditorStyles.Box)) { GUI.color = Color.green; var addButton = GUILayout.Button("Add Receiver"); GUI.color = _defaultColor; if (addButton) { OSCEditorManager.CreateEditorTransmitter(); } } } }
private void DrawTransmitter(OSCEditorTransmitter transmitter) { using (new GUILayout.VerticalScope(OSCEditorStyles.Box)) { EditorGUILayout.LabelField("Transmitter Settings:", EditorStyles.boldLabel); using (new GUILayout.VerticalScope(OSCEditorStyles.Box)) { transmitter.RemoteHost = EditorGUILayout.TextField(_remoteHostContent, transmitter.RemoteHost); transmitter.RemotePort = EditorGUILayout.IntField(_remoteHostContent, transmitter.RemotePort); // TODO: MapBundle field? } // ADVANCED BLOCK EditorGUILayout.LabelField(_advancedContent, EditorStyles.boldLabel); using (new GUILayout.VerticalScope(OSCEditorStyles.Box)) { // Host transmitter.LocalHostMode = (OSCLocalHostMode)EditorGUILayout.EnumPopup(_localHostModeContent, transmitter.LocalHostMode); if (transmitter.LocalHostMode == OSCLocalHostMode.Any) { using (new GUILayout.HorizontalScope()) { EditorGUILayout.LabelField(_localHostContent, GUILayout.Width(EditorGUIUtility.labelWidth - 4)); EditorGUILayout.SelectableLabel(_localHost, GUILayout.Height(EditorGUIUtility.singleLineHeight)); } } else { transmitter.LocalHost = EditorGUILayout.TextField(_localHostContent, transmitter.LocalHost); } // Port transmitter.LocalPortMode = (OSCLocalPortMode)EditorGUILayout.EnumPopup(_localHostModeContent, transmitter.LocalPortMode); if (transmitter.LocalPortMode == OSCLocalPortMode.FromRemotePort) { // LOCAL FROM REMOTE PORT using (new GUILayout.HorizontalScope()) { EditorGUILayout.LabelField(_localPortContent, GUILayout.Width(EditorGUIUtility.labelWidth - 4)); EditorGUILayout.SelectableLabel(transmitter.RemotePort.ToString(), GUILayout.Height(EditorGUIUtility.singleLineHeight)); } } else if (transmitter.LocalPortMode == OSCLocalPortMode.FromReceiver) { GUI.color = Color.red; EditorGUILayout.HelpBox("Not available in InEditor mode.", MessageType.Warning); GUI.color = _defaultColor; } else if (transmitter.LocalPortMode == OSCLocalPortMode.Custom) { transmitter.LocalPort = EditorGUILayout.IntField(_localPortContent, transmitter.LocalPort); } } } }
public OSCEditorTransmitter EditorTransmittersPopup(OSCEditorTransmitter transmitter, GUIContent content) { return(EditorOSCPopup(extOSC.InEditor.OSCEditorUtils.GetTransmitters(), transmitter, content)); }