public virtual void SetParent(ContainerComponent parent, UnityComponent insertBefore = null, bool insertAfter = false) { Parent = parent; RectTransform.SetParent(parent.Container, false); if (insertBefore == null) { parent.Children.Add(this); parent.Layout.AddChild(Layout); } else { var ind = insertBefore.RectTransform.GetSiblingIndex(); if (insertAfter) { ind++; } parent.Children.Insert(ind, this); parent.Layout.Insert(ind, Layout); RectTransform.SetSiblingIndex(ind); } Style.Parent = parent.Style; ResolveStyle(true); }
public void AddAfter() { if (AfterPseudo != null) { return; } AfterPseudo = new TextComponent("", Context, "_after"); AfterPseudo.IsPseudoElement = true; AfterPseudo.GameObject.name = "[After]"; AfterPseudo.SetParent(this, Children.LastOrDefault(), true); }
public void RemoveAfter() { AfterPseudo?.Destroy(); AfterPseudo = null; }