MessageList.Refresh C# (CSharp) Method

Refresh() private method

Destroys old messages if needed and repositions the existing messages.
private Refresh ( ) : void
return void
    private void Refresh()
    {
        while(mElements.Count > mMaxMessages)
        {
            Destroy(mElements.Dequeue().gameObject);
        }

        float pos = 0;

        foreach (RectTransform rect in mElements)
        {
            SetPosition(rect, ref pos);
        }

        if(Mathf.Abs(pos) > mOwnTransform.rect.height)
        {
            Vector2 v = mOwnTransform.sizeDelta;

            v.y = Mathf.Abs(pos);
            mOwnTransform.sizeDelta = v;
        }
    }