public void SetUIParams(UINode node) { var toggle = node.GetComponent <Toggle>(); if (node.layerInfo.resourceDic != null) { mechine.ChargeInfo(toggle, node.layerInfo.resourceDic); } var update_targetGraphicRect = false; var update_graphicRect = false; ///加载子项资源 if (node.layerInfo.subResourceDic != null) { using (var enumerator = node.layerInfo.subResourceDic.GetEnumerator()) { while (enumerator.MoveNext()) { var current = enumerator.Current; if (current.Key == titleKey) { var title = LayerImportUtil.MakeTitleComponenet("Title", toggle.transform); title.rectTransform.SetRectFromResource(node.layerInfo.rect, current.Value); mechine.ChargeInfo(title, current.Value); } else if (current.Key == targetGraphicKey) { toggle.targetGraphic.rectTransform.SetRectFromResource(node.layerInfo.rect, current.Value); update_targetGraphicRect = true; mechine.ChargeInfo(toggle.targetGraphic, current.Value); } else if (current.Key == graphicKey) { toggle.graphic.rectTransform.SetRectFromResource(node.layerInfo.rect, current.Value); update_graphicRect = true; mechine.ChargeInfo(toggle.graphic, current.Value); } } } } if (!update_targetGraphicRect) { toggle.targetGraphic.rectTransform.SetRectFromResource(node.layerInfo.rect); } if (!update_graphicRect) { toggle.graphic.rectTransform.SetRectFromResource(node.layerInfo.rect); } }
/// <summary> /// 加载Image/Text/Label /// </summary> /// <param name="parent"></param> /// <param name="layerInfo"></param> public static void LoadCommonResources(AssemblerStateMechine mechine, UINode node, Rect baseRect) { Transform parent = node.transform; LayerInfo layerInfo = node.layerInfo; if (layerInfo.sub_images != null) { for (int i = 0; i < layerInfo.sub_images.Count; i++) { var current = layerInfo.sub_images[i]; var image = new GameObject("Image", typeof(RectTransform), typeof(Image)).GetComponent <Image>(); image.transform.SetParent(parent, false); mechine.ChargeInfo(image, current); image.rectTransform.SetRectFromResource(layerInfo.rect, baseRect, current); } } if (layerInfo.sub_texts != null) { for (int i = 0; i < layerInfo.sub_texts.Count; i++) { var current = layerInfo.sub_texts[i]; var title = LayerImportUtil.MakeTitleComponenet("Title", parent); title.resizeTextForBestFit = true;//缩放时会看不到? mechine.ChargeInfo(title, current); title.rectTransform.SetRectFromResource(layerInfo.rect, baseRect, current); } } if (layerInfo.sub_rawImages != null) { for (int i = 0; i < layerInfo.sub_rawImages.Count; i++) { var current = layerInfo.sub_rawImages[i]; var rawImage = new GameObject("RawImage", typeof(RectTransform), typeof(RawImage)).GetComponent <RawImage>(); rawImage.transform.SetParent(parent, false); mechine.ChargeInfo(rawImage, current); rawImage.rectTransform.SetRectFromResource(layerInfo.rect, baseRect, current); } } }