Exemplo n.º 1
0
    public void Add(UIObject newObj, UIDir dir)
    {
        Vector2 rel = Vector2.zero;

        if (list.Size() > 0)
        {
            UIObject last = list.Last();
            switch (dir)
            {
            case UIDir.W:
                rel = last.GetRelative() + new Vector2(last.GetWidth(), 0);
                break;

            case UIDir.S:
                rel = new Vector2(origin.x, last.GetRelative().y - last.GetHeight());
                break;

            default:
                UT.assert(false, "button: invalid direction");
                break;
            }
        }

        UT.print("REL: " + rel);

        newObj.SetRelative(rel);
        list.AddLast(newObj);

        UpdateBounds();

        UT.print("New bounds: " + bounds);
    }
Exemplo n.º 2
0
    private static void InitializeNewObject(Transform parent, int siblingIndex, UIContainer container, UIObject obj, UIDir dir)
    {
        GameObject item = obj.gameObject;

        item.SetActive(true);
        item.transform.SetParent(parent);
        item.transform.SetSiblingIndex(siblingIndex);
        item.transform.localScale = new Vector3(1, 1, 1);

        //UT.print("Init. size: " + obj.GetWidth() + ", " + obj.GetHeight());

        container.Add(obj, dir);         // add new item after previous to 'dir' direction.

        if (container.anchor == UIAlign.CENTER)
        {
            Vector2 offset = new Vector2(-container.GetWidth() / 2f, container.GetHeight() / 2f);
            container.SetScreenPosition(getScreenPosition(0, 0) + offset);
        }
        else if (container.anchor == UIAlign.TOP_LEFT)
        {
            container.SetScreenPosition(getScreenPosition(-.5f, .5f));
        }
        else if (container.anchor == UIAlign.LEFT)
        {
            container.SetScreenPosition(getScreenPosition(-.5f, 0f));
        }
        else if (container.anchor == UIAlign.BOTTOM_LEFT)
        {
            Vector2 offset = new Vector2(0f, container.GetHeight());
            container.SetScreenPosition(getScreenPosition(-.5f, -.5f) + offset);
        }
        else
        {
            UT.trap("AMenu.InitializeButton: invalid orientation.");
        }
    }
Exemplo n.º 3
0
 public void AddObject(UIObject newObject, UIDir dir)
 {
     InitializeNewObject(transform, FrontBlocker.transform.GetSiblingIndex(), main, newObject, dir);
 }