public override bool Animate(float Progress, bool forceHide = false) { for (int i = 0; i < itemsCahche.Length; i++) { if (itemsCahche [i].GetType() == typeof(ToolboxBelt)) { ToolboxBelt item = (ToolboxBelt)itemsCahche [i]; if (item.IsExpanded != IsExpanded) { item.Toggle(); } } else { itemsCahche [i].Animate(Progress, true); } } return(layout.childCount > 0); }
public void Shrink(bool recurrsive = false) { if (!IsExpanded) { return; } itemsCahche = GetComponentsInChildrenFirstLevel <ToolboxItem> (); IsExpanded = false; animationDirection = -1; if (recurrsive) { for (int i = 0; i < itemsCahche.Length; i++) { if (itemsCahche [i].GetType() == typeof(ToolboxBelt)) { ToolboxBelt item = (ToolboxBelt)itemsCahche [i]; item.Shrink(recurrsive); } } } }
public IEnumerator RebuildLayoutInNextFrame() { yield return(new WaitForEndOfFrame()); ToolboxBelt toolbox = null; if (parentToolbox != null) { toolbox = parentToolbox; } else if (GetType() == typeof(ToolboxBelt)) { toolbox = (ToolboxBelt)this; } else { yield return(null); } while (toolbox.parentToolbox != null) { toolbox = toolbox.parentToolbox; } LayoutRebuilder.ForceRebuildLayoutImmediate(toolbox.rectTransform); }
protected virtual void Start() { rectTransform = GetComponent <RectTransform> (); startSize = rectTransform.sizeDelta; parentToolbox = transform.parent.GetComponent <ToolboxBelt> (); }