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);
            }
        }
Example #2
0
        /// <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);
                }
            }
        }