示例#1
0
    public MenuItem AddMenuItem(string name, Action <BaseEventData> method)
    {
        GameObject menuItemGO = GameObject.Instantiate(Resources.Load <GameObject>("MenuItem"));
        MenuItem   menuItem   = menuItemGO.GetComponent <MenuItem>();

        menuItem.Configure(this, name);
        menuItem.AddEvent(EventTriggerType.PointerClick, method);
        menuItems.Add(name, menuItem);
        menuItemGO.transform.SetParent(this.transform);

        RectTransform rect2D = this.GetComponent <RectTransform>();

        int menuOffset = menuItem.menuItemWidth;

        if (parentMenuItem == null)
        {
            menuOffset = 0;
        }

        rect2D.SetInsetAndSizeFromParentEdge(
            RectTransform.Edge.Left, menuOffset, menuWidth);
        rect2D.SetInsetAndSizeFromParentEdge(
            RectTransform.Edge.Top, 0,
            rect2D.sizeDelta.y + menuItem.menuItemHeight + 1);

        return(menuItem);
    }