示例#1
0
 public void OnEnable()
 {
     EditorApplication.playmodeStateChanged += PlaymodeStateChanged;
     Instance = this;
     UniOSCConnectionEditor.LoadTextures();            //Textures are otherwise not loaded when Inspector for OSCCOnnection is not once visible
     Init();
 }
示例#2
0
        void OnGUI_OSCConnection()
        {
            EditorGUILayout.BeginHorizontal();
            //Hardcoding layout for wrapping
            int maxCols = 3;
            int minCols = 1;

            maxCols = (int)Math.Max(minCols, Math.Floor((_editorWidth - 20f) / (400f * 1.0f)));          //Floor Ceiling
            if (_osConnectionIDList.Count <= 0)
            {
                EditorGUILayout.BeginVertical();
                GUILayout.Space(10f);
                EditorGUILayout.BeginHorizontal();
                GUILayout.FlexibleSpace();
                Rect area = GUILayoutUtility.GetRect(500.0f, 80.0f);
                EditorGUI.HelpBox(area, "There is no OSCConnection discovered. Please create an OSCConnection or enable a GameObject with an OSCConnection component in your project.\nIf you can't see any OSCConnection even if you have enabled one please hit the 'Refresh Editor' button.", MessageType.Info);
                GUILayout.FlexibleSpace();
                EditorGUILayout.EndHorizontal();
                GUILayout.Space(10f);
                EditorGUILayout.EndVertical();
            }
            else
            {
                for (var i = 0; i < _osConnectionIDList.Count; i++)
                {
                    // Begin new row?
                    if (i % maxCols == 0 && i > 0)
                    {
                        GUILayout.EndHorizontal();
                        GUILayout.Space(10);
                        GUILayout.BeginHorizontal();
                    }
                    //without storing ID we loose the connection to the instances on Play/Stop
                    UniOSCConnection con = EditorUtility.InstanceIDToObject(_osConnectionIDList[i]) as UniOSCConnection;
                    if (con != null)
                    {
                        EditorGUILayout.BeginVertical(GUI.skin.box, GUILayout.Width(400f));
                        EditorGUILayout.BeginHorizontal();
                        GUILayout.FlexibleSpace();
                        GUILayout.Label(con.name);
                        GUILayout.FlexibleSpace();
                        EditorGUILayout.EndHorizontal();
                        EditorGUILayout.BeginHorizontal();
                        UniOSCConnectionEditor.ShowOSCReciverStatus(con);
                        EditorGUILayout.EndHorizontal();
                        EditorGUILayout.EndVertical();
                    }
                }                          //for

                GUILayout.FlexibleSpace(); //push Layout
            }                              //if

            EditorGUILayout.EndHorizontal();
        }