void Cleanup() { if (m_PanelOwner != null) { InternalBridge.DisposePanel(m_PanelOwner); DestroyImmediate(m_PanelOwner); } panel = null; m_PanelOwner = null; m_PanelScaler = null; }
private void InitializeDebuggerOverlayPanel() { if (debuggerOverlayPanel == null) { ownerObject = ScriptableObject.CreateInstance <PanelOwner>(); debuggerOverlayPanel = new Panel(ownerObject, panel.contextType, new EventDispatcher()); debuggerOverlayPanel.visualTree.layout = panel.visualTree.layout; debugContainer = new VisualElement() { style = { position = Position.Absolute, top = 0,left= 0, right = 0, bottom = 0, backgroundColor = Color.clear } }; debuggerOverlayPanel.visualTree.Add(debugContainer); } }
void Initialize(string name) { m_InitializedCounter++; if (m_InitializedCounter != 1) { return; } m_PanelOwner = ScriptableObject.CreateInstance <PanelOwner>(); panel = InternalBridge.CreatePanel(m_PanelOwner); var root = panel.visualTree; root.name = name; visualTree = new VisualElement { name = "runtime-panel-container" }; visualTree.style.overflow = Overflow.Hidden; root.Add(visualTree); if (unityStyleSheet != null) { InternalBridge.MarkAsDefaultStyleSheet(unityStyleSheet); root.styleSheets.Add(unityStyleSheet); } if (stylesheets != null) { foreach (var uss in stylesheets) { if (uss != null) { root.styleSheets.Add(uss); } } } }
private void InitializeDebuggerOverlayPanel() { if (debuggerOverlayPanel == null) { ownerObject = ScriptableObject.CreateInstance <PanelOwner>(); // All debug panels are context type Editor, even if they are Runtime (Player) panels because the // debug panel itself are in the Editor anyway. var debuggerOverlayTmpPanel = new Panel(ownerObject, ContextType.Editor, EventDispatcher.CreateDefault(), EditorPanel.InitEditorUpdater); debuggerOverlayTmpPanel.clearSettings = new PanelClearSettings(); debuggerOverlayPanel = debuggerOverlayTmpPanel; debuggerOverlayPanel.visualTree.layout = panel.visualTree.layout; debugContainer = new VisualElement() { style = { position = Position.Absolute, top = 0,left= 0, right = 0, bottom = 0, backgroundColor = Color.clear } }; debuggerOverlayPanel.visualTree.Add(debugContainer); } }
void Initialize() { if (panel != null && m_PanelOwner == null) { Debug.LogWarning("Unexpected state: panel without owner. Panel will leak."); } if (panel == null || m_PanelOwner == null) { initSampler.Begin(); if (m_PanelOwner == null) { m_PanelOwner = ScriptableObject.CreateInstance <PanelOwner>(); } panel = InternalBridge.CreatePanel(m_PanelOwner); var root = panel.visualTree; root.name = gameObject.name; visualTree = new VisualElement { name = "runtime-panel-container" }; visualTree.style.overflow = Overflow.Hidden; root.Add(visualTree); if (unityStyleSheet != null) { InternalBridge.MarkAsDefaultStyleSheet(unityStyleSheet); root.styleSheets.Add(unityStyleSheet); } if (stylesheets != null) { foreach (var uss in stylesheets) { if (uss != null) { root.styleSheets.Add(uss); } } } initSampler.End(); } if (m_PanelScaler == null) { m_PanelScaler = GetComponent <PanelScaler>(); } m_Event.type = EventType.Repaint; m_Scale = Single.NaN; m_TargetSize = new Vector2(Single.NaN, Single.NaN); if (m_TargetTexture != targetTexture) { m_TargetTexture = targetTexture; InternalBridge.SetTargetTexture(panel, m_TargetTexture); } Validate(); RecreateUIFromUxml(); }