Ejemplo n.º 1
0
    public override void GenerateUI()
    {
        string gameObjectInitTemplate = "        {0} = transform.Find(\"{1}\").gameObject;\n";
        string transformInitTemplate  = "        {0} = transform.Find(\"{1}\");\n";
        string componentInitTemplate  = "        {0} = transform.Find(\"{1}\").GetComponent<{2}>();\n";
        string paramTemplate          = "    public {0} {1};\n";

        StringBuilder init  = new StringBuilder();
        StringBuilder param = new StringBuilder();
        ComponentInfo info  = GetComponentInfo();

        foreach (Transform tran in GetChildrenTransform())
        {
            string name = tran.name;
            string tag  = tran.gameObject.tag;

            if (CheckTag(tag))
            {
                CheckPrefabName(name);

                if (tag == TagType.UI_Button)
                {
                    param.Append(string.Format(paramTemplate, info.GetButton(), name));
                    init.Append(string.Format(componentInitTemplate, name, GetHierarchy(tran), info.GetButton()));
                }
                else if (tag == TagType.UI_GameObject)
                {
                    param.Append(string.Format(paramTemplate, info.GetGameObject(), name));
                    init.Append(string.Format(gameObjectInitTemplate, name, GetHierarchy(tran)));
                }
                else if (tag == TagType.UI_Lable)
                {
                    param.Append(string.Format(paramTemplate, info.GetLable(), name));
                    init.Append(string.Format(componentInitTemplate, name, GetHierarchy(tran), info.GetLable()));
                }
                else if (tag == TagType.UI_Sprite)
                {
                    param.Append(string.Format(paramTemplate, info.GetSprite(), name));
                    init.Append(string.Format(componentInitTemplate, name, GetHierarchy(tran), info.GetSprite()));
                }
                else if (tag == TagType.UI_Texture)
                {
                    param.Append(string.Format(paramTemplate, info.GetTexture(), name));
                    init.Append(string.Format(componentInitTemplate, name, GetHierarchy(tran), info.GetTexture()));
                }
                else if (tag == TagType.UI_Toggle)
                {
                    param.Append(string.Format(paramTemplate, info.GetToggle(), name));
                    init.Append(string.Format(componentInitTemplate, name, GetHierarchy(tran), info.GetToggle()));
                }
                else if (tag == TagType.UI_Transform)
                {
                    param.Append(string.Format(paramTemplate, info.GetTransform(), name));
                    init.Append(string.Format(transformInitTemplate, name, GetHierarchy(tran)));
                }
            }
        }

        content = ReadTemplateString();
        content = content.Replace("{#class#}", GetClassName());
        content = content.Replace("{#param#}", param.ToString());
        content = content.Replace("{#init#}", init.ToString());
        SaveFile();
    }