private void CreateUI_Internal(GameObject go, UIInfoBase uiNode, Bridge bridge, Transform parent, IUIPanel parentPanel) { if (go == null) { return; } var parentDic = GetParentDic(parent); Utility.SetTranform(go.transform, uiNode.type.layer, uiNode.type.layerIndex, Trans, parent, parentDic, transRefDic); go.name = uiNode.panelName; go.SetActive(true); IUIPanel panel = GetPanelFromPool(go); InitPanelInformation(panel, uiNode); panel.Binding(go); panel.HandleData(bridge); transRefDic.Add(go.transform.GetInstanceID(), panel); createdPanels.Add(panel); if (parentPanel != null) { parentPanel.RecordChild(panel); } if (bridge != null) { bridge.OnCreatePanel(panel); } HandBridgeOptions(panel, bridge); }
/// <summary> /// 按规则设置面板及父亲面板的状态 /// </summary> /// <param name="panel"></param> /// <param name="bridge"></param> /// <param name="uiNode"></param> protected void InitPanel(IUIPanel panel, Bridge bridge, UIInfoBase uiNode) { panel.UType = uiNode.type; panel.Group = this; if (panel is BridgeUI.Binding.IBindingContext && bridge.Info.viewModel != null) { (panel as BridgeUI.Binding.IBindingContext).ViewModel = bridge.Info.viewModel as Binding.IViewModel; } panel.onDelete += OnDeletePanel; panel.HandleData(bridge); }