private void Awake() { var ctrl = PSDImporterUtility.CreatePsdImportCtrlSafty(rule, new Vector2(1600, 900), canvas); var tree = PSDImporterUtility.ListToTree(exporter.groups); ctrl.Import(tree); }
private void DrawUICreateOption() { using (var hor = new EditorGUILayout.HorizontalScope()) { var style = "miniButton"; var layout = GUILayout.Width(60); if (GUILayout.Button("Build-All", style, layout)) { var canvasObj = Array.Find(Selection.objects, x => x is GameObject && (x as GameObject).GetComponent <Canvas>() != null); var ctrl = PSDImporterUtility.CreatePsdImportCtrlSafty(exporter.ruleObj, exporter.ruleObj.defultUISize, canvasObj == null ? FindObjectOfType <Canvas>() : (canvasObj as GameObject).GetComponent <Canvas>()); ctrl.Import(rootNode); AssetDatabase.Refresh(); } if (GUILayout.Button("Build-Sel", style, layout)) { var canvasObj = Array.Find(Selection.objects, x => x is GameObject && (x as GameObject).GetComponent <Canvas>() != null); var ctrl = PSDImporterUtility.CreatePsdImportCtrlSafty(exporter.ruleObj, exporter.ruleObj.defultUISize, canvasObj == null ? FindObjectOfType <Canvas>() : (canvasObj as GameObject).GetComponent <Canvas>()); var root = new GroupNode(new Rect(Vector2.zero, rootNode.rect.size), 0, -1); root.displayName = "partial build"; foreach (var node in m_TreeView.selected) { root.AddChild(node); } ctrl.Import(root); AssetDatabase.Refresh(); } if (GUILayout.Button("Expland", style, layout)) { m_TreeView.ExpandAll(); } } }
private void DrawImages(List <Data.ImgNode> images, Scrollbar scrollbar, UGUINode node) { for (int i = 0; i < images.Count; i++) { Data.ImgNode image = images[i]; UnityEngine.UI.Image graph = null; if (MatchAddress(image.Name, backgroundAddress)) { graph = scrollbar.GetComponent <UnityEngine.UI.Image>(); SetRectTransform(image.rect, scrollbar.GetComponent <RectTransform>()); } else if (MatchAddress(image.Name, handleAddress)) { graph = scrollbar.handleRect.GetComponent <UnityEngine.UI.Image>(); } else { ctrl.DrawImage(image, node); } if (graph != null) { PSDImporterUtility.SetPictureOrLoadColor(image, graph); } } }
public override void AfterGenerate(UGUINode node) { base.AfterGenerate(node); var scrollbar = node.InitComponent <Scrollbar>(); PSDImporterUtility.SetCustomAnchor(scrollbar.GetComponent <RectTransform>(), scrollbar.handleRect); }
public override GameObject CreateTemplate() { var dropdown = new GameObject("DropDown", typeof(Dropdown), typeof(Image)).GetComponent <Dropdown>(); var label = new GameObject("Label", typeof(Text)).GetComponent <Text>(); var template = new GameObject("Template", typeof(ScrollRect), typeof(Image)).GetComponent <ScrollRect>(); var viewport = new GameObject("Viewport", typeof(Image), typeof(Mask)).GetComponent <Image>(); var content = new GameObject("Content", typeof(RectTransform)).GetComponent <RectTransform>(); var item = new GameObject("Item", typeof(Toggle)).GetComponent <Toggle>(); var item_bg = new GameObject("Item Background", typeof(Image)).GetComponent <Image>(); var item_cm = new GameObject("Item CheckMask", typeof(Image)).GetComponent <Image>(); var item_lb = new GameObject("Item Label", typeof(Text)).GetComponent <Text>(); label.transform.SetParent(dropdown.transform, false); template.transform.SetParent(dropdown.transform, false); viewport.transform.SetParent(template.transform, false); content.transform.SetParent(viewport.transform, false); item.transform.SetParent(content.transform, false); item_bg.transform.SetParent(item.transform, false); item_bg.transform.SetParent(item.transform, false); item_cm.transform.SetParent(item.transform, false); item_lb.transform.SetParent(item.transform, false); dropdown.targetGraphic = dropdown.GetComponent <Image>(); dropdown.captionText = label; dropdown.template = template.transform as RectTransform; dropdown.itemText = item_lb; template.viewport = viewport.transform as RectTransform; template.content = content; item.targetGraphic = item_bg; item.graphic = item_cm; PSDImporterUtility.SetNormalAnchor(AnchoType.XStretch | AnchoType.YStretch, dropdown.transform as RectTransform, label.transform as RectTransform); PSDImporterUtility.SetNormalAnchor(AnchoType.XCenter | AnchoType.YCenter, dropdown.transform as RectTransform, template.transform as RectTransform); PSDImporterUtility.SetNormalAnchor(AnchoType.XStretch | AnchoType.YStretch, template.transform as RectTransform, viewport.transform as RectTransform); PSDImporterUtility.SetNormalAnchor(AnchoType.XStretch | AnchoType.Up, viewport.transform as RectTransform, content.transform as RectTransform); PSDImporterUtility.SetNormalAnchor(AnchoType.XStretch | AnchoType.YStretch, content.transform as RectTransform, item.transform as RectTransform); PSDImporterUtility.SetNormalAnchor(AnchoType.XStretch | AnchoType.YStretch, item.transform as RectTransform, item_bg.transform as RectTransform); PSDImporterUtility.SetNormalAnchor(AnchoType.Left | AnchoType.YCenter, item.transform as RectTransform, item_cm.transform as RectTransform); PSDImporterUtility.SetNormalAnchor(AnchoType.XStretch | AnchoType.YStretch, item.transform as RectTransform, item_lb.transform as RectTransform); (template.transform as RectTransform).pivot = new Vector2(0.5f, 0.5f); content.pivot = new Vector2(0.5f, 1); content.sizeDelta = new Vector2(0, content.sizeDelta.y); (item_bg.transform as RectTransform).sizeDelta = Vector2.zero; (item_cm.transform as RectTransform).sizeDelta = new Vector2(20, 20); (item_lb.transform as RectTransform).sizeDelta = Vector2.zero; item_lb.alignment = label.alignment = TextAnchor.MiddleCenter; viewport.GetComponent <Image>().color = new Color(0, 0, 0, 0.1f); item_cm.enabled = false; return(dropdown.gameObject); }
/// <summary> /// 绘制所有image /// </summary> /// <param name="node"></param> /// <param name="layer"></param> /// <param name="dropdown"></param> /// <param name="toggle"></param> /// <param name="content"></param> private void DrawImages(UGUINode node, Data.GroupNode layer, Dropdown dropdown, Toggle toggle, RectTransform content) { for (int i = 0; i < layer.images.Count; i++) { Data.ImgNode image = layer.images[i]; if (MatchIDAddress(image.Name, 1, backgroundsFormat)) { PSDImporterUtility.SetPictureOrLoadColor(image, dropdown.image); SetRectTransform(image.rect, dropdown.GetComponent <RectTransform>()); dropdown.name = layer.displayName; } else if (MatchIDAddress(image.Name, 2, backgroundsFormat)) { PSDImporterUtility.SetPictureOrLoadColor(image, dropdown.template.GetComponent <Graphic>()); SetRectTransform(image.rect, dropdown.template); } else if (MatchIDAddress(image.Name, 3, backgroundsFormat)) { UnityEngine.UI.Image itemimage = (UnityEngine.UI.Image)toggle.targetGraphic; PSDImporterUtility.SetPictureOrLoadColor(image, itemimage); content.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, image.rect.height); } else if (MatchIDAddress(image.Name, 1, titlesFormat)) { PSDImporterUtility.SetPictureOrLoadColor(image, dropdown.captionText); } else if (MatchIDAddress(image.Name, 2, titlesFormat)) { PSDImporterUtility.SetPictureOrLoadColor(image, dropdown.itemText); } else if (MatchAddress(image.Name, maskAddress)) { UnityEngine.UI.Image mask = (UnityEngine.UI.Image)toggle.graphic; mask.enabled = true; PSDImporterUtility.SetPictureOrLoadColor(image, mask); } else { ctrl.DrawImage(image, node); } } }
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>()); }