Example #1
0
    private IEnumerator AdjustListScroll(PaddedInputField input)
    {
        var rt         = input.transform as RectTransform;
        var listBottom = -metadataList.GetComponent <RectTransform>().rect.height;

        yield return(null);

        var rect       = rt.rect;
        var yPos       = rt.localPosition.y + metadataList.content.localPosition.y;
        var cellTop    = yPos + rect.yMax;
        var cellBottom = yPos + rect.yMin;

        AdjustListScroll(rt, cellTop, cellBottom, listBottom);

        while (true)
        {
            yield return(null);

            var caretPos = input.GetCaretPosition().y;

            rect      = rt.rect;
            yPos      = rt.localPosition.y + metadataList.content.localPosition.y;
            caretPos += yPos + rect.yMax;
            AdjustListScroll(rt, caretPos + MetadataListPadding, caretPos - MetadataListPadding, listBottom);
        }
    }
Example #2
0
 private void OnMetadataSelected(PaddedInputField input)
 {
     if (coroutine == null)
     {
         coroutine = StartCoroutine(AdjustListScroll(input));
     }
 }
Example #3
0
 private void OnMetadataValueEndEdit(PaddedInputField input, int index)
 {
     ChangeMetadataValue(index, input.text.Trim());
 }
Example #4
0
 private void OnMetadataDeselected(PaddedInputField input)
 {
     StopCoroutine(coroutine);
     coroutine = null;
 }