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); } }
private void OnMetadataSelected(PaddedInputField input) { if (coroutine == null) { coroutine = StartCoroutine(AdjustListScroll(input)); } }
private void OnMetadataValueEndEdit(PaddedInputField input, int index) { ChangeMetadataValue(index, input.text.Trim()); }
private void OnMetadataDeselected(PaddedInputField input) { StopCoroutine(coroutine); coroutine = null; }