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); }