private List <GameObject> CreateFilenameButtonsList(FileInfo[] files, GameObject container) { List <GameObject> list = new List <GameObject>(); for (int i = 0; i < files.Length; i++) { GameObject button = Instantiate(_ButtonPrefab); ButtonXR bxr = button.GetComponent <ButtonXR>(); bxr.GetText().gameObject.transform.parent = button.transform; bxr.GetFront().gameObject.transform.parent = button.transform; bxr.GetBase().gameObject.transform.parent = button.transform; button.name = files[i].Name; button.transform.parent = container.transform; button.transform.localPosition = new Vector3(0.0f, -i * 0.022f, 0.0f); button.transform.localEulerAngles = new Vector3(0, 0, 0); string buttonText = files[i].Name.Split('.')[0]; float scaleFactor = 0.12f; int numberOfChars = buttonText.Length; float newScaleX = scaleFactor * numberOfChars; float textWidthFactor = 0.007f; TextMeshPro textMesh = button.GetComponent <ButtonXR>().GetTextMeshPro(); RectTransform rectTransform = textMesh.rectTransform; rectTransform.sizeDelta = new Vector2(textWidthFactor * numberOfChars, 0.035f * 0.4f); button.GetComponent <ButtonXR>().SetScaleY(0.5f); button.GetComponent <ButtonXR>().SetScaleX(newScaleX); button.GetComponent <ButtonXR>().SetText(buttonText); bxr.GetText().gameObject.transform.parent = bxr.GetFront().gameObject.transform; bxr.GetText().gameObject.transform.localPosition = new Vector3(0, 0.008f, 0.0018f); bxr.GetFront().gameObject.transform.parent = bxr.GetBase().gameObject.transform; list.Add(button); } return(list); }
IEnumerator SetButtonInactiveDelay(ButtonXR button, float time) { yield return(new WaitForSeconds(time)); button.SetActive(false); }