Exemplo n.º 1
0
        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);
 }