public UINode DrawLayer(Layer layer, UINode parent)
        {
            UINode node = PSDImportUtility.InstantiateItem(PSDImporterConst.PREFAB_PATH_INPUTFIELD, layer.name, parent);

            UnityEngine.UI.InputField inputfield = node.GetComponent <UnityEngine.UI.InputField>();

            if (layer.images != null)
            {
                for (int imageIndex = 0; imageIndex < layer.images.Length; imageIndex++)
                {
                    Image  image     = layer.images[imageIndex];
                    string lowerName = image.name.ToLower();

                    if (image.imageType == ImageType.Label)
                    {
                        if (lowerName.StartsWith("t_"))
                        {
                            UnityEngine.UI.Text text = (UnityEngine.UI.Text)inputfield.textComponent;//inputfield.transform.Find("Text").GetComponent<UnityEngine.UI.Text>();
                            PSDImportUtility.SetPictureOrLoadColor(image, inputfield.textComponent);

                            int size;
                            if (int.TryParse(image.arguments[2], out size))
                            {
                                text.fontSize = size;
                            }
                        }
                        else if (lowerName.StartsWith("p_"))
                        {
                            UnityEngine.UI.Text text = (UnityEngine.UI.Text)inputfield.placeholder;//.transform.Find("Placeholder").GetComponent<UnityEngine.UI.Text>();
                            PSDImportUtility.SetPictureOrLoadColor(image, inputfield.textComponent);

                            int size;
                            if (int.TryParse(image.arguments[2], out size))
                            {
                                text.fontSize = size;
                            }
                        }
                    }
                    else
                    {
                        if (lowerName.StartsWith("b_"))
                        {
                            PSDImportUtility.SetPictureOrLoadColor(image, inputfield.image);
                            PSDImportUtility.SetRectTransform(image, inputfield.GetComponent <RectTransform>());
                        }
                    }
                }
            }
            return(node);
        }
Beispiel #2
0
    // Get components from the Unity scene
    private void FindTextComponents()
    {
        try
        {
            addScoreButton    = addScoreButton.GetComponent <UnityEngine.UI.Button>();
            status            = status.GetComponent <UnityEngine.UI.Text>();
            displayScore      = displayScore.GetComponent <UnityEngine.UI.Text>();
            displayScoreLabel = displayScoreLabel.GetComponent <UnityEngine.UI.Text>();
            usernameInput     = usernameInput.GetComponent <UnityEngine.UI.InputField>();
            score             = score.GetComponent <UnityEngine.UI.Text>();

            for (int i = 0; i < TOTAL_SCORES; i++)
            {
                names[i]  = names[i].GetComponent <UnityEngine.UI.Text>();
                scores[i] = scores[i].GetComponent <UnityEngine.UI.Text>();
            }
        }
        catch (System.Exception e)
        {
            UnityEngine.Debug.Log(e.Message);
        }
    }
        public UGUINode DrawLayer(GroupNode layer, UGUINode parent)
        {
            UGUINode node = PSDImportUtility.InstantiateItem(GroupType.INPUTFIELD, layer.Name, parent);

            UnityEngine.UI.InputField inputfield = node.InitComponent <UnityEngine.UI.InputField>();

            if (layer.images != null)
            {
                for (int imageIndex = 0; imageIndex < layer.images.Count; imageIndex++)
                {
                    ImgNode image     = layer.images[imageIndex];
                    string  lowerName = image.Name.ToLower();

                    if (image.type == ImgType.Label)
                    {
                        if (lowerName.StartsWith("t_"))
                        {
                            UnityEngine.UI.Text text = (UnityEngine.UI.Text)inputfield.textComponent;//inputfield.transform.Find("Text").GetComponent<UnityEngine.UI.Text>();
                            PSDImportUtility.SetPictureOrLoadColor(image, text);
                        }
                        else if (lowerName.StartsWith("p_"))
                        {
                            UnityEngine.UI.Text text = (UnityEngine.UI.Text)inputfield.placeholder;//.transform.Find("Placeholder").GetComponent<UnityEngine.UI.Text>();
                            PSDImportUtility.SetPictureOrLoadColor(image, text);
                        }
                    }
                    else
                    {
                        if (lowerName.StartsWith("b_"))
                        {
                            PSDImportUtility.SetPictureOrLoadColor(image, inputfield.image);
                            PSDImportUtility.SetRectTransform(image, inputfield.GetComponent <RectTransform>());
                        }
                    }
                }
            }
            return(node);
        }
 void Start()
 {
     fieldWidth = (int)inputField.GetComponent <RectTransform>().sizeDelta.x;
     AdaptInputFieldSize();
 }
        public void DrawLayer(Layer layer, GameObject parent)
        {
            UnityEngine.UI.InputField temp       = AssetDatabase.LoadAssetAtPath(PSDImporterConst.ASSET_PATH_INPUTFIELD, typeof(UnityEngine.UI.InputField)) as UnityEngine.UI.InputField;
            UnityEngine.UI.InputField inputfield = GameObject.Instantiate(temp) as UnityEngine.UI.InputField;
            inputfield.transform.SetParent(parent.transform, false);//.parent = parent.transform;
            inputfield.name = layer.name;
            inputfield.placeholder?.gameObject.SetActive(false);
            //if (layer.image != null)
            if (layer.layers != null)
            {
                for (int imageIndex = 0; imageIndex < layer.layers.Length; imageIndex++)
                {
                    PSImage image = layer.layers[imageIndex].image;
                    //PSImage image = layer.image;

                    if (image.imageType == ImageType.Label)
                    {
                        if (image.name.ToLower().Contains("text"))
                        {
                            UnityEngine.UI.Text text = (UnityEngine.UI.Text)inputfield.textComponent;//inputfield.transform.Find("Text").GetComponent<UnityEngine.UI.Text>();
                            Color color;
                            if (UnityEngine.ColorUtility.TryParseHtmlString(("#" + image.arguments[0]), out color))
                            {
                                text.color = color;
                            }
                            int   size;
                            float sizeFloat;
                            if (float.TryParse(image.arguments[2], out sizeFloat))
                            {
                                size          = Mathf.RoundToInt(sizeFloat);
                                text.fontSize = size;
                            }
                            text.text = image.arguments[3];

                            //设置字体,注意unity中的字体名需要和导出的xml中的一致
                            string fontFolder;

                            if (image.arguments[1].ToLower().Contains("static"))
                            {
                                fontFolder = PSDImporterConst.FONT_STATIC_FOLDER;
                            }
                            else
                            {
                                fontFolder = fontFolder = PSDImporterConst.FONT_FOLDER;
                            }
                            string fontFullName = fontFolder + image.arguments[1] + PSDImporterConst.FONT_SUFIX;
                            Debug.Log("font name ; " + fontFullName);
                            var font = AssetDatabase.LoadAssetAtPath(fontFullName, typeof(Font)) as Font;
                            if (font == null)
                            {
                                Debug.LogWarning("Load font failed : " + fontFullName);
                            }
                            else
                            {
                                text.font = font;
                            }
                            //ps的size在unity里面太小,文本会显示不出来,暂时选择溢出
                            text.verticalOverflow   = VerticalWrapMode.Overflow;
                            text.horizontalOverflow = HorizontalWrapMode.Overflow;
                            //设置对齐
                            if (image.arguments.Length >= 5)
                            {
                                text.alignment = ParseAlignmentPS2UGUI(image.arguments[4]);
                            }
                            else
                            {
                                text.alignment = TextAnchor.MiddleLeft;
                            }
                            TextImport.SetOutline(image, text);
                        }
                        else if (image.name.ToLower().Contains("holder"))
                        {
                            /*
                             * UnityEngine.UI.Text text = (UnityEngine.UI.Text)inputfield.placeholder;//.transform.Find("Placeholder").GetComponent<UnityEngine.UI.Text>();
                             * Color color;
                             * if (UnityEngine.ColorUtility.TryParseHtmlString(("#" + image.arguments[0]), out color))
                             * {
                             *  text.color = color;
                             * }
                             *
                             * int size;
                             * float sizeFloat;
                             * if (float.TryParse(image.arguments[2], out sizeFloat))
                             * {
                             *  size = Mathf.RoundToInt(sizeFloat);
                             *  text.fontSize = size;
                             * }
                             *
                             * text.text = image.arguments[3];
                             *
                             * //设置字体,注意unity中的字体名需要和导出的xml中的一致
                             * string fontFolder;
                             *
                             * if (image.arguments[1].ToLower().Contains("static"))
                             * {
                             *  fontFolder = PSDImporterConst.FONT_STATIC_FOLDER;
                             * }
                             * else
                             * {
                             *  fontFolder = fontFolder = PSDImporterConst.FONT_FOLDER;
                             * }
                             * string fontFullName = fontFolder + image.arguments[1] + PSDImporterConst.FONT_SUFIX;
                             * Debug.Log("font name ; " + fontFullName);
                             * var font = AssetDatabase.LoadAssetAtPath(fontFullName, typeof(Font)) as Font;
                             * if (font == null)
                             * {
                             *  Debug.LogWarning("Load font failed : " + fontFullName);
                             * }
                             * else
                             * {
                             *  text.font = font;
                             * }
                             * //ps的size在unity里面太小,文本会显示不出来,暂时选择溢出
                             * text.verticalOverflow = VerticalWrapMode.Overflow;
                             * text.horizontalOverflow = HorizontalWrapMode.Overflow;
                             * //设置对齐
                             * if (image.arguments.Length >= 5)
                             *  text.alignment = ParseAlignmentPS2UGUI(image.arguments[4]);
                             * else
                             * {
                             *  text.alignment = TextAnchor.MiddleLeft;
                             * }*/
                        }
                    }
                    else
                    {
                        if (image.name.ToLower().Contains("background"))
                        {
                            if (image.imageSource == ImageSource.Common || image.imageSource == ImageSource.Custom)
                            {
                                string assetPath = PSDImportUtility.baseDirectory + image.name + PSDImporterConst.PNG_SUFFIX;
                                Sprite sprite    = AssetDatabase.LoadAssetAtPath(assetPath, typeof(Sprite)) as Sprite;
                                inputfield.image.sprite = sprite;

                                RectTransform rectTransform = inputfield.GetComponent <RectTransform>();
                                rectTransform.sizeDelta        = new Vector2(image.size.width, image.size.height);
                                rectTransform.anchoredPosition = new Vector2(image.position.x, image.position.y);
                            }
                            else if (image.imageSource == ImageSource.Global)
                            {
                                SpriteImport.SetGlobalImage(inputfield.image, image);
                            }
                        }
                    }
                }
            }
        }
Beispiel #6
0
        public void DrawLayer(Layer layer, GameObject parent)
        {
            UnityEngine.UI.InputField temp       = AssetDatabase.LoadAssetAtPath(PSDImporterConst.ASSET_PATH_INPUTFIELD, typeof(UnityEngine.UI.InputField)) as UnityEngine.UI.InputField;
            UnityEngine.UI.InputField inputfield = GameObject.Instantiate(temp) as UnityEngine.UI.InputField;
            inputfield.transform.SetParent(parent.transform, false);//.parent = parent.transform;
            inputfield.name = layer.name;

            if (layer.image != null)
            {
                //for (int imageIndex = 0; imageIndex < layer.images.Length; imageIndex++)
                //{
                PSImage image = layer.image;

                if (image.imageType == ImageType.Label)
                {
                    if (image.name.ToLower().Contains("text"))
                    {
                        UnityEngine.UI.Text text = (UnityEngine.UI.Text)inputfield.textComponent;    //inputfield.transform.Find("Text").GetComponent<UnityEngine.UI.Text>();
                        Color color;
                        if (UnityEngine.ColorUtility.TryParseHtmlString(("#" + image.arguments[0]), out color))
                        {
                            text.color = color;
                        }

                        int size;
                        if (int.TryParse(image.arguments[2], out size))
                        {
                            text.fontSize = size;
                        }
                    }
                    else if (image.name.ToLower().Contains("holder"))
                    {
                        UnityEngine.UI.Text text = (UnityEngine.UI.Text)inputfield.placeholder;    //.transform.Find("Placeholder").GetComponent<UnityEngine.UI.Text>();
                        Color color;
                        if (UnityEngine.ColorUtility.TryParseHtmlString(("#" + image.arguments[0]), out color))
                        {
                            text.color = color;
                        }

                        int size;
                        if (int.TryParse(image.arguments[2], out size))
                        {
                            text.fontSize = size;
                        }
                    }
                }
                else
                {
                    if (image.name.ToLower().Contains("background"))
                    {
                        if (image.imageSource == ImageSource.Common || image.imageSource == ImageSource.Custom)
                        {
                            string assetPath = PSDImportUtility.baseDirectory + image.name + PSDImporterConst.PNG_SUFFIX;
                            Sprite sprite    = AssetDatabase.LoadAssetAtPath(assetPath, typeof(Sprite)) as Sprite;
                            inputfield.image.sprite = sprite;

                            RectTransform rectTransform = inputfield.GetComponent <RectTransform>();
                            rectTransform.sizeDelta        = new Vector2(image.size.width, image.size.height);
                            rectTransform.anchoredPosition = new Vector2(image.position.x, image.position.y);
                        }
                    }
                }
                //}
            }
        }