public UINode DrawLayer(Layer layer, UINode parent) { UINode node = PSDImportUtility.InstantiateItem(PSDImporterConst.PREFAB_PATH_GROUP, layer.name, parent); UnityEngine.UI.LayoutGroup group = null; string type = layer.arguments[0].ToLower(); float span = 0; float.TryParse(layer.arguments[1], out span); switch (type) { case "v": group = node.AddComponent <UnityEngine.UI.VerticalLayoutGroup>(); group.childAlignment = TextAnchor.UpperLeft; ((UnityEngine.UI.VerticalLayoutGroup)group).spacing = span; break; case "h": group = node.AddComponent <UnityEngine.UI.HorizontalLayoutGroup>(); group.childAlignment = TextAnchor.UpperLeft; ((UnityEngine.UI.HorizontalLayoutGroup)group).spacing = span; break; } PSDImportUtility.SetRectTransform(layer, group.GetComponent <RectTransform>(), parent.GetComponent <RectTransform>()); UINode[] nodes = pSDImportCtrl.DrawImages(layer.images, node); foreach (var item in nodes) { item.anchoType = UINode.AnchoType.Left | UINode.AnchoType.Up; } nodes = pSDImportCtrl.DrawLayers(layer.layers, node); foreach (var item in nodes) { item.anchoType = UINode.AnchoType.Left | UINode.AnchoType.Up; } return(node); }
public UGUINode DrawLayer(GroupNode layer, UGUINode parent) { UGUINode node = PSDImportUtility.InstantiateItem(GroupType.GROUP, layer.Name, parent); UnityEngine.UI.LayoutGroup group = null; switch (layer.direction) { case Direction.Horizontal: group = node.InitComponent <UnityEngine.UI.HorizontalLayoutGroup>(); group.childAlignment = TextAnchor.UpperLeft; break; case Direction.Vertical: group = node.InitComponent <UnityEngine.UI.VerticalLayoutGroup>(); group.childAlignment = TextAnchor.UpperLeft; break; default: break; } ((UnityEngine.UI.VerticalLayoutGroup)group).spacing = layer.spacing; PSDImportUtility.SetRectTransform(layer, group.GetComponent <RectTransform>()); UGUINode[] nodes = pSDImportCtrl.DrawImages(layer.images.ToArray(), node); foreach (var item in nodes) { item.anchoType = AnchoType.Left | AnchoType.Up; } nodes = pSDImportCtrl.DrawLayers(layer.groups.ToArray(), node); foreach (var item in nodes) { item.anchoType = AnchoType.Left | AnchoType.Up; } return(node); }