Exemplo n.º 1
0
    private void Awake()
    {
        var ctrl = PSDImporterUtility.CreatePsdImportCtrlSafty(rule, new Vector2(1600, 900), canvas);
        var tree = PSDImporterUtility.ListToTree(exporter.groups);

        ctrl.Import(tree);
    }
Exemplo n.º 2
0
        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();
                }
            }
        }
Exemplo n.º 3
0
        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);
                }
            }
        }
Exemplo n.º 4
0
        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);
         }
     }
 }
Exemplo n.º 7
0
 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>());
 }