//重写了 protected override void BuildChildren(GameObject go) { bool has_shrink = HasParam(PARAM_SHRINK); for (int i = 0; i < go.transform.childCount; i++) { GameObject child = go.transform.GetChild(i).gameObject; if (child.name.Contains(ITEM) == true) { //是列表项 _itemBuilder = ComponentBuilderFactory.GetBuilder(child.name); _itemBuilder.Build(child); if (has_shrink) { child.AddComponent <KButtonShrinkable>(); child.GetComponent <RectTransform>().pivot = new Vector2(0.5f, 0.5f); } continue; } if (child.name.Contains(TEMPLATE) == true) { //模板不build continue; } //其他情况,尝试build ComponentBuilder builder = ComponentBuilderFactory.GetBuilder(child.name); if (builder != null) { builder.Build(child); } } }
//-------∽-★-∽------∽-★-∽--------∽-★-∽Builder∽-★-∽--------∽-★-∽------∽-★-∽--------// static void AddPanelBuilder(GameObject panel) { GameObject go = panel.transform.GetChild(0).gameObject; //从子对象开始build ComponentBuilder builder = ComponentBuilderFactory.GetBuilder(go.name); builder.Build(go); }
protected virtual void BuildChildren(GameObject go) { for (int i = 0; i < go.transform.childCount; i++) { GameObject child = go.transform.GetChild(i).gameObject; ComponentBuilder builder = ComponentBuilderFactory.GetBuilder(child.name); if (builder != null) { builder.Build(child); } } }