public virtual void Initialize() { if (panelLayer == null) { panelLayer = GetComponentInChildren <PanelLayer>(); if (panelLayer == null) { Debug.LogError("UI Frame lacks Panel Layer!"); } else { panelLayer.Initialize(); } } if (windowLayer == null) { windowLayer = GetComponentInChildren <WindowLayer>(); if (windowLayer == null) { Debug.LogError("UI Frame lacks Window Layer!"); } else { windowLayer.Initialize(); windowLayer.RequestScreenBlock += OnRequestScreenBlock; windowLayer.RequestScreenUnblock += OnRequestScreenUnblock; } } graphicRaycaster = MainCanvas.GetComponent <GraphicRaycaster>(); }
public static UIFrame CreateDefaultUIFrame() { GameObject uiFrame = new GameObject("UI Frame"); UIFrame result = uiFrame.AddComponent <UIFrame>(); Camera camera = CreateCamera(); camera.transform.SetParent(uiFrame.transform); EventSystem eventSystem = CreateEventSystem(); eventSystem.transform.SetParent(uiFrame.transform); Canvas mainCanvas = CreateCanvas(camera); mainCanvas.transform.SetParent(uiFrame.transform); WindowLayer windowLayer = CreateWindowLayer(); windowLayer.transform.SetParent(mainCanvas.transform, false); PanelLayer panelLayer = CreatePanelLayer(); panelLayer.transform.SetParent(mainCanvas.transform, false); WindowParaLayer priorityWindowLayer = CreatePriorityWindowLayer(); priorityWindowLayer.transform.SetParent(mainCanvas.transform, false); windowLayer.SetPriorityWindow(priorityWindowLayer); GameObject prioritaryPanelLayer = CreateUIObject("Prioritary Panel Layer"); prioritaryPanelLayer.transform.SetParent(mainCanvas.transform, false); GameObject tutorialPanelLayer = CreateUIObject("Tutorial Panel Layer"); tutorialPanelLayer.transform.SetParent(mainCanvas.transform, false); GameObject blockerPanelLayer = CreateUIObject("Blocker Panel Layer"); blockerPanelLayer.transform.SetParent(mainCanvas.transform, false); panelLayer.PriorityLayers = new PanelPriorityLayerList(new List <PanelPriorityLayerListEntry>() { new PanelPriorityLayerListEntry(PanelPriority.Prioritary, prioritaryPanelLayer.transform), new PanelPriorityLayerListEntry(PanelPriority.Tutorial, tutorialPanelLayer.transform), new PanelPriorityLayerListEntry(PanelPriority.Blocker, blockerPanelLayer.transform) }); return(result); }