private static void DrawSprite(PSDUI.Layer layer, GameObject obj) { obj.name = layer.name; obj.AddComponent <RectTransform>().sizeDelta = new Vector2(layer.size.width, layer.size.height); obj.GetComponent <RectTransform>().anchoredPosition = new Vector2(layer.position.x, layer.position.y); obj.AddComponent <Image>().sprite = GetSprite(layer.name); }
/// <summary> /// 画各种不同的层显示对象 /// </summary> /// <param name="layer"></param> /// <param name="parent"></param> private static void DrawLayer(PSDUI.Layer layer) { switch (layer.type) { case PSDUI.LayerType.Normal: DrawNormalLayer(layer); break; case PSDUI.LayerType.Button: DrawButtonLayer(layer); break; case PSDUI.LayerType.Label: DrawLableLayer(layer); break; case PSDUI.LayerType.Text: DrawTextLayer(layer); break; case PSDUI.LayerType.Image: DrawImageLayer(layer); break; } }
private static void DrawImageLayer(PSDUI.Layer layer) { GameObject obj = new GameObject(layer.name); if (layer.parent != string.Empty) { obj.transform.parent = objBase.transform.Find(layer.parent); } else { obj.transform.parent = objBase.transform; } DrawSprite(layer, obj); obj.GetComponent <Image>().raycastTarget = false; }
private static void DrawNormalLayer(PSDUI.Layer layer) { GameObject obj = new GameObject(layer.name); if (layer.parent != string.Empty) { obj.transform.parent = objBase.transform.Find(layer.parent); } else { obj.transform.parent = objBase.transform; } obj.name = layer.name; obj.AddComponent <RectTransform>().sizeDelta = new Vector2(psdUI.psdSize.width, psdUI.psdSize.height); }
private static void IsDefaultFont(PSDUI.Layer layer, bool isDefault) { GameObject obj = new GameObject(layer.name); if (layer.parent != string.Empty) { obj.transform.parent = objBase.transform.Find(layer.parent); } else { obj.transform.parent = objBase.transform; } obj.name = layer.name; obj.AddComponent <RectTransform>().sizeDelta = new Vector2(layer.size.width, layer.size.height); obj.GetComponent <RectTransform>().anchoredPosition = new Vector2(layer.position.x, layer.position.y); Text objText = obj.AddComponent <Text>(); objText.text = layer.name; objText.raycastTarget = false; int b = 20; string[] strList = layer.arguments.size.Split('.'); bool rlt = int.TryParse(strList[0], out b); objText.fontSize = b; Color color; ColorUtility.TryParseHtmlString("#" + layer.arguments.color, out color); objText.color = color; if (isDefault) { objText.font = defaultFont; } else { objText.font = toFont; } }
private static void DrawLableLayer(PSDUI.Layer layer) { IsDefaultFont(layer, true); }
private static void DrawTextLayer(PSDUI.Layer layer) { IsDefaultFont(layer, false); }