Beispiel #1
0
        void OnGUI()
        {
            if (this._recompile == null)
            {
                // if yes assume recompile then create a reference to a recompile class
                this._recompile = new RecompileClass();
                //little hack for the editor,otherwise on start we have no OSC Connections in the Editor GUI. ([InitializeOnLoad] didn't work)
                //Init();
                _GetOSCConnectionInstances();
            }


            EditorGUI.BeginChangeCheck();

            _editorWidth = position.width;
            if (_config.isOSCTracing)
            {
                _editorWidth = _editorWidth - TRACEWIDTH;
            }

            if (_config.mySkin != null)
            {
                GUI.skin = _config.mySkin;
            }

            //Rect for Learning Border
            Rect r_learn = new Rect(0f, 0f, position.width, position.height);

            EditorGUILayout.BeginHorizontal();

            #region GUI_LEFT
            EditorGUILayout.BeginVertical(GUILayout.ExpandHeight(true));

            if (_config == null)
            {
                Rect area = GUILayoutUtility.GetRect(500.0f, 80.0f);
                EditorGUI.HelpBox(area, "No configuration could be loaded! The Editor could not work in this state.", MessageType.Error);
                EditorGUILayout.EndVertical();
                EditorGUILayout.EndHorizontal();
                return;
            }

            GUILayout.Space(4);

            #region header
            #region logo
            GUILayout.BeginHorizontal();
            GUILayout.Space(4);
            UniOSCUtils.DrawTexture(_config.tex_logo);
            GUILayout.FlexibleSpace();
            GUILayout.EndHorizontal();
            #endregion logo


            GUILayout.BeginHorizontal();

            GUI.backgroundColor  = _config.isOSCTracing ? Color.green : Color.white;
            _config.isOSCTracing = GUILayout.Toggle(_config.isOSCTracing, new GUIContent("Trace OSC"), GUI.skin.button, GUILayout.Height(30f), GUILayout.Width(100f));          //OSCConnectionEditor.tex2
            GUI.backgroundColor  = Color.white;


            if (GUILayout.Button(new GUIContent("Create OSC Connection", ""), GUILayout.Width(160f), GUILayout.Height(30f)))
            {
                _CreateOSCConnection(); Init();
            }
            ;
            if (GUILayout.Button("Create OSC Mapping File", GUILayout.Height(30f), GUILayout.Width(160f)))
            {
                _CreateOSCMappingFile();
            }
            if (GUILayout.Button("Create OSC Session File", GUILayout.Height(30f), GUILayout.Width(160f)))
            {
                _CreateOSCSessionFile();
            }


            GUI.backgroundColor   = _config.isOSCLearning ? Color.green : Color.white;
            _config.isOSCLearning = GUILayout.Toggle(_config.isOSCLearning, new GUIContent("Learn OSC"), GUI.skin.button, GUILayout.Height(30f), GUILayout.Width(100f));          //OSCConnectionEditor.tex2
            GUI.backgroundColor   = Color.white;

            if (_isOSCLearning != _config.isOSCLearning)
            {
                //Toggle was clicked
                _isOSCLearning = _config.isOSCLearning;

                OSCLearning(_config.isOSCLearning);
                //EditorUtility.SetDirty(_config);
            }

            //_config.isEditorEnabled = UniOSCConnection.isEditorEnabled;
            GUI.backgroundColor              = _config.isEditorEnabled ? Color.green : Color.white;
            _config.isEditorEnabled          = GUILayout.Toggle(_config.isEditorEnabled, new GUIContent("Editor Mode"), GUI.skin.button, GUILayout.Height(30f), GUILayout.Width(100f));
            GUI.backgroundColor              = Color.white;
            UniOSCConnection.isEditorEnabled = _config.isEditorEnabled;

            GUILayout.EndHorizontal();
            #endregion header


            GUILayout.Space(5);
            _DrawLineH(_editorWidth - 20f);
            GUILayout.Space(5);


            #region Connection
            GUILayout.BeginHorizontal();
            GUIStyle gsCon = new GUIStyle(GUI.skin.label);
            gsCon.fontSize = 18;
            GUILayout.Label("OSC Connection", gsCon);
            GUILayout.FlexibleSpace();
            GUILayout.EndHorizontal();
            GUILayout.Space(3);
            OnGUI_OSCConnection();
            #endregion Connection

            #region space

            GUI.contentColor    = Color.white;
            GUI.backgroundColor = Color.white;

            GUILayout.Space(5);
            _DrawLineH(_editorWidth - 20f);
            GUILayout.Space(5);
            #endregion space

            #region toolbar
            _config.toolbarInt = GUILayout.Toolbar(_config.toolbarInt, toolbarStrings, GUILayout.Width(200 * toolbarStrings.Count()), GUILayout.Height(30f));
            #endregion toolbar

            GUILayout.Space(5);
//			_DrawLineH(_editorWidth-20f);
            GUILayout.Space(5);

            #region Mapping

            switch (_config.toolbarInt)
            {
            case 0:
                OnGUI_OSCMapping();
                break;

            case 1:
                OnGUI_OSCSessionFiles();
                break;

            default:
                OnGUI_DefaultContent();
                break;
            }

            #endregion Mapping

            #region footer
            GUI.contentColor = Color.white;

            if (_osConnectionIDList.Count > 0)
            {
                _DrawLineH(_editorWidth - 20f);
                GUILayout.Space(10f);
            }

            if (GUILayout.Button(new GUIContent("Refresh Editor", "Refresh the Editor. Reloads the available data"), GUILayout.Width(150), GUILayout.Height(30f)))
            {
                Init();
            }
            ;
            GUILayout.Space(5f);
            #endregion footer

            EditorGUILayout.EndVertical();
            #endregion GUI_LEFT


            #region GUI_RIGHT
            if (_config.isOSCTracing)
            {
                Rect r_tracing = GUILayoutUtility.GetRect(1.0f, position.height - 0f);
                GUI.Box(r_tracing, "", GUI.skin.box);              //,GUI.skin.box  GUI.skin.customStyles[1]
                OnGUI_Trace();
            }
            #endregion GUI_RIGHT
            EditorGUILayout.EndHorizontal();

            //draw Learning Border
            if (_config.isOSCLearning)
            {
                GUI.backgroundColor = Color.red;
                GUI.Box(r_learn, "", _config.learnStyle);
                GUI.backgroundColor = Color.white;
            }

            if (EditorGUI.EndChangeCheck())
            {
                EditorUtility.SetDirty(_config);
            }
        }
Beispiel #2
0
        void OnGUI()
        {
            if (!Application.isPlaying)
            {
                if (!ShowInEditMode)
                {
                    return;
                }
            }

            GUIScaler.Begin();
            GUILayout.BeginVertical(GUILayout.Width(Screen.width / GUIScaler.GuiScale.x), GUILayout.Height(Screen.height / (GUIScaler.GuiScale.y)));       //
            GUILayout.Space(10f);

            #region IPAddress
            GUILayout.BeginHorizontal();
            GUILayout.Space(10f);
            UniOSCUtils.DrawTexture(tex_logo);
            GUILayout.FlexibleSpace();
            GUILayout.Label(_IPAddress, GUILayout.Height(30f));
            GUILayout.FlexibleSpace();
            _showGUI = GUILayout.Toggle(_showGUI, new GUIContent(_showGUI? "Hide GUI":"Show GUI"), GUI.skin.button, GUILayout.Height(30), GUILayout.Width(130));
            GUILayout.Space(10f);
            GUILayout.EndHorizontal();
            #endregion IPAddress

            if (!_showGUI)
            {
                GUILayout.EndVertical();
                GUIScaler.End();
                return;
            }

            GUILayout.Space(10f);

            GUILayout.BeginHorizontal();

            GUILayout.FlexibleSpace();

            #region OSCConnections
            GUILayout.BeginVertical();

            foreach (var con in UniOSCConnection.Instances)
            {
                if (con.gameObject.activeInHierarchy && con.enabled)
                {
                    con.RenderGUI();
                    GUILayout.Space(5f);
                }                //if
            }                    //for

            GUILayout.EndVertical();
            #endregion OSCConnections

            GUILayout.FlexibleSpace();

            #region trace
            if (gs_textArea == null)
            {
                gs_textArea                  = new GUIStyle(GUI.skin.textArea);
                gs_textArea.fontSize         = 10;
                gs_textArea.normal.textColor = Color.yellow;
            }

            GUILayout.BeginVertical(GUILayout.Width(200f));

            traceScrollpos = GUILayout.BeginScrollView(traceScrollpos, GUILayout.Height(((Screen.height / GUIScaler.GuiScale.y) * 0.75f) - 40f), GUILayout.ExpandHeight(false));
            GUILayout.TextArea(_oscTraceStr, gs_textArea, GUILayout.ExpandHeight(true));
            GUILayout.EndScrollView();

            if (GUILayout.Button("Clear Trace", GUILayout.Height(30)))
            {
                _oscTraceStr  = "";
                _osctraceStrb = new StringBuilder();
            }

            GUILayout.EndVertical();
            #endregion trace
            GUILayout.Space(10f);
            GUILayout.EndHorizontal();

            GUILayout.EndVertical();

            GUIScaler.End();
        }