private void DrawChildLayers(Data.GroupNode layer, UGUINode viewNode, ScrollRect scrollRect) { if (layer.children != null) { for (int i = 0; i < layer.children.Count; i++) { Data.GroupNode child = layer.children[i] as Data.GroupNode; UGUINode childNode = ctrl.DrawLayer(child, viewNode); if (MatchAddress(child.displayName, contentAddress)) { DrawConent(childNode, scrollRect); } else if (MatchAddress(child.displayName, vbarAddress)) { scrollRect.verticalScrollbar = childNode.InitComponent <Scrollbar>(); scrollRect.verticalScrollbarVisibility = ScrollRect.ScrollbarVisibility.AutoHide; childNode.anchoType = AnchoType.Right | AnchoType.YCenter; } else if (MatchAddress(child.displayName, hbarAddress)) { scrollRect.horizontalScrollbar = childNode.InitComponent <Scrollbar>(); scrollRect.horizontalScrollbarVisibility = ScrollRect.ScrollbarVisibility.AutoHide; childNode.anchoType = AnchoType.Down | AnchoType.XCenter; } } } }
public override void AfterGenerate(UGUINode node) { base.AfterGenerate(node); var scrollbar = node.InitComponent <Scrollbar>(); PSDImporterUtility.SetCustomAnchor(scrollbar.GetComponent <RectTransform>(), scrollbar.handleRect); }
public override void AfterGenerate(UGUINode node) { base.AfterGenerate(node); ContentSizeFitter content = node.InitComponent <ContentSizeFitter>(); content.horizontalFit = ContentSizeFitter.FitMode.PreferredSize; content.verticalFit = ContentSizeFitter.FitMode.PreferredSize; }
/// <summary> /// 空器 /// </summary> /// <param name="childNode"></param> /// <param name="scrollRect"></param> private void DrawConent(UGUINode childNode, ScrollRect scrollRect) { childNode.inversionReprocess += (x) => { var content = childNode.InitComponent <RectTransform>(); scrollRect.content = content; scrollRect.content.anchoredPosition = Vector2.zero; }; }
public override void AfterGenerate(UGUINode node) { base.AfterGenerate(node); var dropDown = node.InitComponent <Dropdown>(); RectTransform rt = dropDown.template; rt.pivot = new Vector2(0.5f, 1); rt.anchoredPosition = Vector3.zero; }
public override UGUINode DrawLayer(Data.GroupNode layer, UGUINode parent) { UGUINode node = CreateRootNode(layer.displayName, layer.rect, parent); Scrollbar scrollbar = node.InitComponent <Scrollbar>(); SetScrollBarDirection(scrollbar, layer); DrawImages(layer.images, scrollbar, node); return(node); }
public override UGUINode DrawLayer(Data.GroupNode layer, UGUINode parent) { UGUINode node = CreateRootNode(layer.displayName, layer.rect, parent); ScrollRect scrollRect = node.InitComponent <UnityEngine.UI.ScrollRect>(); SetScrollViewDirection(layer, scrollRect, layer.directionAxis); var viewNode = DrawViewNode(layer, scrollRect, node); DrawImages(layer, node, scrollRect); DrawChildLayers(layer, viewNode, scrollRect); return(node); }
/// <summary> /// 初始化组 /// </summary> /// <param name="layer"></param> /// <param name="node"></param> private void InitLayoutGroup(Data.GroupNode layer, UGUINode node) { HorizontalOrVerticalLayoutGroup group = null; switch (layer.directionAxis) { case DirectionAxis.Horizontal: group = node.InitComponent <UnityEngine.UI.HorizontalLayoutGroup>(); break; case DirectionAxis.Vertical: default: group = node.InitComponent <UnityEngine.UI.VerticalLayoutGroup>(); break; } if (group) { (group as UnityEngine.UI.VerticalLayoutGroup).spacing = layer.spacing; group.childAlignment = TextAnchor.UpperLeft; } }
public override UGUINode DrawLayer(Data.GroupNode layer, UGUINode parent) { UGUINode node = CreateRootNode(layer.displayName, layer.rect, parent); Dropdown dropdown = node.InitComponent <Dropdown>(); ScrollRect scrllRect = dropdown.template.GetComponent <ScrollRect>(); RectTransform content = scrllRect.content; Toggle toggle = content.GetComponentInChildren <Toggle>(); UGUINode tempNode = CreateNormalNode(dropdown.template.gameObject, layer.rect, node); tempNode.anchoType = AnchoType.Down | AnchoType.XStretch; DrawImages(node, layer, dropdown, toggle, content); DrawSubLayers(layer, tempNode, scrllRect); return(node); }
/// <summary> /// 滑动条绘制 /// </summary> /// <param name="layer"></param> /// <param name="tempNode"></param> /// <param name="scrollRect"></param> private void DrawSubLayers(Data.GroupNode layer, UGUINode tempNode, ScrollRect scrollRect) { if (layer.children != null) { for (int i = 0; i < layer.children.Count; i++) { Data.GroupNode child = layer.children[i] as Data.GroupNode; if (MatchAddress(child.displayName, vbarAddress)) { UGUINode barNode = ctrl.DrawLayer(child, tempNode); scrollRect.verticalScrollbar = barNode.InitComponent <Scrollbar>(); scrollRect.verticalScrollbarVisibility = ScrollRect.ScrollbarVisibility.AutoHide; barNode.anchoType = AnchoType.Right | AnchoType.YCenter; } else { ctrl.DrawLayer(child, tempNode); } } } }
private void InitGrid(UGUINode node, Data.GroupNode layer) { GridLayoutGroup gridLayoutGroup = node.InitComponent <GridLayoutGroup>(); gridLayoutGroup.padding = new RectOffset(1, 1, 1, 1); gridLayoutGroup.cellSize = new Vector2(layer.rect.width, layer.rect.height); switch (layer.directionAxis) { case DirectionAxis.Horizontal: gridLayoutGroup.constraint = GridLayoutGroup.Constraint.FixedColumnCount; break; case DirectionAxis.Vertical: gridLayoutGroup.constraint = GridLayoutGroup.Constraint.FixedRowCount; break; default: gridLayoutGroup.constraint = GridLayoutGroup.Constraint.Flexible; break; } gridLayoutGroup.constraintCount = layer.constraintCount; }
private void InitScrollViewBackground(UGUINode node, Data.ImgNode image, ScrollRect scrollRect) { UnityEngine.UI.Image graph = node.InitComponent <UnityEngine.UI.Image>(); PSDImporterUtility.SetPictureOrLoadColor(image, graph); SetRectTransform(image.rect, scrollRect.GetComponent <RectTransform>()); }