예제 #1
0
 public Element(string name, int subelements, ShopButton.Shop_ButtonID id, ContentCreator.SUBCAT subcategory)
 {
     this.name        = name;
     this.subelements = subelements;
     this.id          = id;
     this.subcategory = subcategory;
 }
예제 #2
0
    private void Initialize()
    {
        if (constructor != null)
        {
            SetText(constructor.name);
            gameObject.name = constructor.name;
        }

        this.subcategory = constructor.subcategory;
        this.buttonID    = constructor.id;


        for (int i = 0; i < constructor.subelements; i++)
        {
            GameObject subelement = (GameObject)Instantiate(subElementPrefab);

            RectTransform rt = subelement.GetComponent <RectTransform>();
            subelement.transform.SetParent(subcontent.transform);
            Subelement s = new Subelement(subcategory.type[i],
                                          subcategory.GetButtonID(subcategory.type[i]),
                                          subcategory.GetButtonToggle(subcategory.type[i]),
                                          subcategory.GetButtonCost(subcategory.type[i]));
            rt.localScale    = new Vector3(1, 1, 1);
            rt.localPosition = new Vector3(0, 0, 0);
            rt.anchorMin     = new Vector2(0, 0);
            rt.anchorMax     = new Vector2(1, 1);
            rt.offsetMax     = new Vector2(-_elementHeight, 0);
            rt.offsetMin     = new Vector2(_elementHeight, 0);
            childrenHeight   = rt.rect.height;
            rt.GetComponent <SubelementHandler>()._constructor = s;
            rt.GetComponent <SubelementHandler>().element      = this;
            rt.GetComponent <SubelementHandler>().SetTargetPosition(new Vector3(0,
                                                                                (-i * childrenHeight * _paddingBetweenSubElements) - (childrenHeight * (_paddingTop - 1.0f)), 0));

            subelementCount = i + 2;
        }

        subcontent.GetComponent <RectTransform>().offsetMin = new Vector2(0, subcontent.GetComponent <RectTransform>().offsetMin.y);
        _openTargetVector  = Vector3.zero;
        _closeTargetVector = Vector2.zero;


        for (int i = 0; i < subcontent.transform.childCount; i++)
        {
            children.Add(subcontent.transform.GetChild(i).gameObject);
        }



        InitChildToggle(buttonID);
    }