public void UseBlurChanged(AbstractUI ui, bool enable) { if (m_isBlurActive && ui.get_gameObject().get_activeInHierarchy() && m_uiToNode.ContainsKey(ui)) { m_updateOrder = true; } }
public void NotifyUIDepthChanged(AbstractUI ui, StateContext state, int index = -1) { if (m_uiToNode.TryGetValue(ui, out Node value)) { value.uis.Remove(ui); m_uiToNode.Remove(ui); } else { ui.canvas.set_worldCamera(m_cameraPrefab); } Node orCreateNode = GetOrCreateNode(state); if (index == -1) { orCreateNode.uis.Add(ui); } else { orCreateNode.uis.Insert(index, ui); } m_uiToNode.Add(ui, orCreateNode); if (ui.get_gameObject().get_activeInHierarchy()) { m_updateOrder = true; } }
private void SetUINodeOrder(Node node, ref UICamera uiCamera, ref int sortingOrder) { //IL_0073: Unknown result type (might be due to invalid IL or missing references) List <Node> children = node.children; int count = children.Count; for (int i = 0; i < count; i++) { Node node2 = children[i]; if (node2.renderBeforeParent) { SetUINodeOrder(node2, ref uiCamera, ref sortingOrder); } } List <AbstractUI> uis = node.uis; int count2 = uis.Count; for (int j = 0; j < count2; j++) { AbstractUI abstractUI = uis[j]; if (!abstractUI.get_gameObject().get_activeInHierarchy()) { continue; } if ((int)abstractUI.canvas.get_renderMode() == 0) { abstractUI.canvas.set_sortingOrder(sortingOrder); sortingOrder++; continue; } if (m_isBlurActive && abstractUI.useBlur) { UICamera child = uiCamera; uiCamera = m_cameraPool.Get(); uiCamera.ActiveBlurFor(abstractUI); uiCamera.child = child; } if (uiCamera == null) { uiCamera = m_cameraPool.Get(); } uiCamera.uis.Add(abstractUI); abstractUI.canvas.set_worldCamera(uiCamera.camera); } for (int k = 0; k < count; k++) { Node node3 = children[k]; if (!node3.renderBeforeParent) { SetUINodeOrder(node3, ref uiCamera, ref sortingOrder); } } }