public override void OnInspectorGUI() { _defaultColor = GUI.color; GUILayout.Space(10); OSCEditorLayout.DrawLogo(); GUILayout.Space(10); GUILayout.BeginVertical("box"); var openButton = GUILayout.Button(_openButton, GUILayout.Height(40)); if (openButton) { OSCWindowMapping.OpenBundle((OSCMapBundle)target); } GUILayout.EndVertical(); GUILayout.BeginVertical(); if (_bundle.Messages.Count > 0) { foreach (var message in _bundle.Messages) { GUILayout.BeginVertical("box"); GUILayout.BeginVertical("box"); EditorGUILayout.LabelField("Address: " + message.Address, EditorStyles.boldLabel); GUILayout.EndVertical(); foreach (var value in message.Values) { DrawValue(value); } GUILayout.EndVertical(); } } else { EditorGUILayout.BeginHorizontal("box"); GUILayout.Label(_emptyBundleContent, OSCEditorStyles.CenterLabel, GUILayout.Height(40)); EditorGUILayout.EndHorizontal(); } GUILayout.EndVertical(); }
public override void OnInspectorGUI() { serializedObject.Update(); // LOGO GUILayout.Space(10); OSCEditorLayout.DrawLogo(); GUILayout.Space(5); EditorGUILayout.LabelField("Active: " + _transmitter.IsAvailable, EditorStyles.boldLabel); // SETTINGS BLOCK GUILayout.BeginVertical("box"); EditorGUILayout.LabelField("Transmitter Settings:", EditorStyles.boldLabel); // SETTINGS BOX GUILayout.BeginVertical("box"); EditorGUI.BeginChangeCheck(); IPAddress tempAddress; var remoteFieldColor = IPAddress.TryParse(_remoteHostProperty.stringValue, out tempAddress) ? Color.white : Color.red; // REMOTE HOST GUI.color = remoteFieldColor; EditorGUILayout.PropertyField(_remoteHostProperty, _hostContent); GUI.color = Color.white; // REMOTE PORT EditorGUILayout.PropertyField(_remotePortProperty, _portContent); // MAP BUNDLE EditorGUILayout.PropertyField(_mapBundleProperty, _mapBundleContent); // USE BUNDLE GUI.color = _useBundleProperty.boolValue ? Color.green : Color.red; if (GUILayout.Button("Use Bundle")) { _useBundleProperty.boolValue = !_useBundleProperty.boolValue; } GUI.color = Color.white; // SETTINGS BOX END EditorGUILayout.EndVertical(); // PARAMETETS BLOCK EditorGUILayout.BeginHorizontal("box"); GUI.color = _autoConnectProperty.boolValue ? Color.green : Color.red; if (GUILayout.Button("Auto Connect")) { _autoConnectProperty.boolValue = !_autoConnectProperty.boolValue; } GUI.color = Color.white; GUI.color = _closeOnPauseProperty.boolValue? Color.green : Color.red; if (GUILayout.Button("Close On Pause")) { _closeOnPauseProperty.boolValue = !_closeOnPauseProperty.boolValue; } GUI.color = Color.white; // PARAMETERS BLOCK END EditorGUILayout.EndHorizontal(); // ADVANCED SETTIGS BOX EditorGUILayout.LabelField(_advancedContent, EditorStyles.boldLabel); GUILayout.BeginVertical("box"); //EditorGUI.BeginChangeCheck(); if (EditorUserBuildSettings.selectedBuildTargetGroup == BuildTargetGroup.WSA) { GUI.color = Color.yellow; EditorGUILayout.HelpBox("Currently \"Advanced settings\" are not available for UWP (WSA).", MessageType.Info); GUI.color = Color.white; } // LOCAL PORT MODE EditorGUILayout.PropertyField(_localPortMode, _localPortModeContent); // LOCAL PORT if (_transmitter.LocalPortMode == OSCLocalPortMode.FromRemotePort) { // LOCAL FROM REMOTE PORT GUILayout.BeginHorizontal(); EditorGUILayout.LabelField(_localPortContent, GUILayout.Width(EditorGUIUtility.labelWidth - 4)); EditorGUILayout.SelectableLabel(_transmitter.RemotePort.ToString(), GUILayout.Height(EditorGUIUtility.singleLineHeight)); GUILayout.EndHorizontal(); } else if (_transmitter.LocalPortMode == OSCLocalPortMode.FromReceiver) { // LOCAL RECEIVER EditorGUILayout.PropertyField(_localReceiver, _localReceiverContent); var localPort = _transmitter.RemotePort.ToString(); var receiver = _localReceiver.objectReferenceValue as OSCReceiver; if (receiver != null) { localPort = receiver.LocalPort.ToString(); } GUILayout.BeginHorizontal(); EditorGUILayout.LabelField(_localPortContent, GUILayout.Width(EditorGUIUtility.labelWidth - 4)); EditorGUILayout.SelectableLabel(localPort, GUILayout.Height(EditorGUIUtility.singleLineHeight)); GUILayout.EndHorizontal(); } else if (_transmitter.LocalPortMode == OSCLocalPortMode.Custom) { // LOCAL PORT EditorGUILayout.PropertyField(_localPort, _localPortContent); } EditorGUILayout.EndVertical(); // CONTROLS EditorGUILayout.LabelField(Application.isPlaying ? _inGameContent : _inEditorContent, EditorStyles.boldLabel); if (Application.isPlaying) { DrawControllsInGame(); } else { DrawControllsInEditor(); } // CONTROLS END EditorGUILayout.EndVertical(); // EDITOR BUTTONS GUI.color = Color.white; if (EditorGUI.EndChangeCheck()) { serializedObject.ApplyModifiedProperties(); } }
public override void OnInspectorGUI() { _defaultColor = GUI.color; serializedObject.Update(); // LOGO GUILayout.Space(10); OSCEditorLayout.DrawLogo(); GUILayout.Space(5); // STATUS EditorGUILayout.LabelField("Active: " + _receiver.IsAvaible, EditorStyles.boldLabel); // SETTINGS BLOCK GUILayout.BeginVertical("box"); EditorGUILayout.LabelField("Receiver Settings:", EditorStyles.boldLabel); // SETTINGS BOX GUILayout.BeginVertical("box"); EditorGUI.BeginChangeCheck(); //LOCAL HOST GUILayout.BeginHorizontal(); EditorGUILayout.LabelField(_hostContent, GUILayout.Width(EditorGUIUtility.labelWidth - 4)); EditorGUILayout.SelectableLabel(_localHost, GUILayout.Height(EditorGUIUtility.singleLineHeight)); GUILayout.EndHorizontal(); // LOCAL PORT EditorGUILayout.PropertyField(_localPortProperty, _portContent); // MAP BUNDLE EditorGUILayout.PropertyField(_mapBundleProperty, _mapBundleContent); // SETTINGS BOX END EditorGUILayout.EndVertical(); // PARAMETERS BLOCK EditorGUILayout.BeginHorizontal("box"); GUI.color = _autoConnectProperty.boolValue ? Color.green : Color.red; if (GUILayout.Button("Auto Connect")) { _autoConnectProperty.boolValue = !_autoConnectProperty.boolValue; } GUI.color = _defaultColor; GUI.color = _closeOnPauseProperty.boolValue? Color.green : Color.red; if (GUILayout.Button("Close On Pause")) { _closeOnPauseProperty.boolValue = !_closeOnPauseProperty.boolValue; } GUI.color = _defaultColor; // SETTINGS BLOCK END EditorGUILayout.EndHorizontal(); // CONTROLS EditorGUILayout.LabelField(Application.isPlaying ? _inGameContent : _inEditorContent, EditorStyles.boldLabel); if (Application.isPlaying) { DrawControllsInGame(); } else { DrawControllsInEditor(); } // CONTROLS END EditorGUILayout.EndVertical(); // EDITOR BUTTONS GUI.color = Color.white; serializedObject.ApplyModifiedProperties(); }
public override void OnInspectorGUI() { _defaultColor = GUI.color; serializedObject.Update(); // LOGO GUILayout.Space(10); OSCEditorLayout.DrawLogo(); GUILayout.Space(5); EditorGUILayout.LabelField("Active: " + _transmitter.IsAvaible, EditorStyles.boldLabel); // SETTINGS BLOCK GUILayout.BeginVertical("box"); EditorGUILayout.LabelField("Transmitter Settings:", EditorStyles.boldLabel); // SETTINGS BOX GUILayout.BeginVertical("box"); EditorGUI.BeginChangeCheck(); IPAddress tempAddress; var remoteFieldColor = IPAddress.TryParse(_remoteHostProperty.stringValue, out tempAddress) ? _defaultColor : Color.red; // REMOTE HOST GUI.color = remoteFieldColor; EditorGUILayout.PropertyField(_remoteHostProperty, _hostContent); GUI.color = _defaultColor; // REMOTE PORT EditorGUILayout.PropertyField(_remotePortProperty, _portContent); // MAP BUNDLE EditorGUILayout.PropertyField(_mapBundleProperty, _mapBundleContent); // USE BUNDLE GUI.color = _useBundleProperty.boolValue ? Color.green : Color.red; if (GUILayout.Button("Use Bundle")) { _useBundleProperty.boolValue = !_useBundleProperty.boolValue; } GUI.color = _defaultColor; // SETTINGS BOX END EditorGUILayout.EndVertical(); // AUTO CONNECT EditorGUILayout.BeginHorizontal("box"); GUI.color = _autoConnectProperty.boolValue ? Color.green : Color.red; if (GUILayout.Button("Auto Connect")) { _autoConnectProperty.boolValue = !_autoConnectProperty.boolValue; } GUI.color = _defaultColor; // SETTINGS BLOCK END EditorGUILayout.EndHorizontal(); // CONTROLS EditorGUILayout.LabelField(Application.isPlaying ? _inGameContent : _inEditorContent, EditorStyles.boldLabel); if (Application.isPlaying) { DrawControllsInGame(); } else { DrawControllsInEditor(); } // CONTROLS END EditorGUILayout.EndVertical(); // EDITOR BUTTONS GUI.color = Color.white; serializedObject.ApplyModifiedProperties(); }
public override void OnInspectorGUI() { serializedObject.Update(); // LOGO GUILayout.Space(10); OSCEditorLayout.DrawLogo(); GUILayout.Space(5); // STATUS EditorGUILayout.LabelField("Active: " + _receiver.IsAvailable, EditorStyles.boldLabel); // SETTINGS BLOCK GUILayout.BeginVertical("box"); EditorGUILayout.LabelField("Receiver Settings:", EditorStyles.boldLabel); // SETTINGS BOX GUILayout.BeginVertical("box"); EditorGUI.BeginChangeCheck(); //LOCAL HOST if (_receiver.LocalHostMode == OSCLocalHostMode.Any) { GUILayout.BeginHorizontal(); EditorGUILayout.LabelField(_hostContent, GUILayout.Width(EditorGUIUtility.labelWidth - 4)); EditorGUILayout.SelectableLabel(_localHostCache, GUILayout.Height(EditorGUIUtility.singleLineHeight)); GUILayout.EndHorizontal(); } else { EditorGUILayout.PropertyField(_localHostProperty, _hostContent); } // LOCAL PORT EditorGUILayout.PropertyField(_localPortProperty, _portContent); // MAP BUNDLE EditorGUILayout.PropertyField(_mapBundleProperty, _mapBundleContent); // SETTINGS BOX END EditorGUILayout.EndVertical(); // PARAMETERS BLOCK EditorGUILayout.BeginHorizontal("box"); GUI.color = _autoConnectProperty.boolValue ? Color.green : Color.red; if (GUILayout.Button("Auto Connect")) { _autoConnectProperty.boolValue = !_autoConnectProperty.boolValue; } GUI.color = Color.white; GUI.color = _closeOnPauseProperty.boolValue? Color.green : Color.red; if (GUILayout.Button("Close On Pause")) { _closeOnPauseProperty.boolValue = !_closeOnPauseProperty.boolValue; } GUI.color = Color.white; // SETTINGS BLOCK END EditorGUILayout.EndHorizontal(); // ADVANCED BLOCK EditorGUILayout.LabelField(_advancedContent, EditorStyles.boldLabel); EditorGUILayout.BeginHorizontal("box"); if (EditorUserBuildSettings.selectedBuildTargetGroup == BuildTargetGroup.WSA) { GUI.color = Color.yellow; EditorGUILayout.HelpBox(_advancedHelp, MessageType.Info); GUI.color = Color.white; } EditorGUILayout.PropertyField(_localHostModeProperty, _hostModeContent); // ADVANCED BLOCK END EditorGUILayout.EndHorizontal(); // CONTROLS EditorGUILayout.LabelField(Application.isPlaying ? _inGameContent : _inEditorContent, EditorStyles.boldLabel); if (Application.isPlaying) { DrawControlsInGame(); } else { DrawControlsInEditor(); } // CONTROLS END EditorGUILayout.EndVertical(); // EDITOR BUTTONS GUI.color = Color.white; if (EditorGUI.EndChangeCheck()) { serializedObject.ApplyModifiedProperties(); } }