Пример #1
0
        protected virtual void  OnGUIDisconnected()
        {
            GUILayout.FlexibleSpace();

            if (GUILayout.Button(LC.G("NGRemote_NotConnected") + Environment.NewLine + LC.G("NGRemote_NotConnectedTooltip"), GeneralStyles.BigCenterText, GUILayoutOptionPool.ExpandHeightTrue))
            {
                XGUIHighlightManager.Highlight(NGRemoteHierarchyWindow.NormalTitle + ".Connect");
                NGRemoteHierarchyWindow.Open();
            }

            EditorGUIUtility.AddCursorRect(GUILayoutUtility.GetLastRect(), MouseCursor.Link);

            GUILayout.FlexibleSpace();
        }
Пример #2
0
        protected void  OnGUI()
        {
            FreeLicenseOverlay.First(this, NGTools.NGRemoteScene.NGAssemblyInfo.Name + " Pro", NGRemoteWindow.Title + " is exclusive to NG Tools Pro or NG Remote Scene Pro.\n\nFree version is restrained to read-only.");

            if (this.Hierarchy == null)
            {
                NGRemoteHierarchyWindow[] hierarchies = Resources.FindObjectsOfTypeAll <NGRemoteHierarchyWindow>();

                if (hierarchies.Length == 0)
                {
                    if (GUILayout.Button(LC.G("NGRemote_NoHierarchyAvailable"), GeneralStyles.BigCenterText, GUILayoutOptionPool.ExpandHeightTrue) == true)
                    {
                        NGRemoteHierarchyWindow.Open();
                    }
                }
                else if (hierarchies.Length == 1)
                {
                    // Prevents GUI layout warning.
                    EditorApplication.delayCall += () =>
                    {
                        this.SetHierarchy(hierarchies[0]);
                        this.Repaint();
                    };
                }
                else
                {
                    EditorGUILayout.LabelField(LC.G("NGRemote_RequireHierarchy"));

                    string[] hierarchyNames = new string[hierarchies.Length];

                    for (int i = 0; i < hierarchies.Length; i++)
                    {
                        hierarchyNames[i] = hierarchies[i].titleContent.text + ' ' + hierarchies[i].address + ':' + hierarchies[i].port;
                    }

                    EditorGUILayout.BeginHorizontal();
                    {
                        this.hierarchyIndex = EditorGUILayout.Popup(this.hierarchyIndex, hierarchyNames);

                        if (GUILayout.Button(LC.G("Set")) == true)
                        {
                            this.SetHierarchy(hierarchies[this.hierarchyIndex]);
                        }
                    }
                    EditorGUILayout.EndHorizontal();
                }
            }
            else
            {
                this.OnGUIHeader();

                if (this.Hierarchy.IsClientConnected() == false)
                {
                    this.OnGUIDisconnected();
                }
                else
                {
                    this.OnGUIConnected();
                }
            }

            FreeLicenseOverlay.Last(NGTools.NGRemoteScene.NGAssemblyInfo.Name + " Pro");
        }