public void OnSetup() { HighIndex = Mathf.RoundToInt(transform.position.y); Vector3 textPos = transform.localPosition + transform.InverseTransformDirection(transform.forward) * (meshRenderer.bounds.size.z / 2.05f); textPos += Vector3.up * (meshRenderer.bounds.size.y / 2f); textPos.y += 0.65f; splitterTextControl = PoolManager.Instance.GetDuplicatorTextControl(); splitterTextControl.transform.SetParent(transform.parent); splitterTextControl.transform.localEulerAngles = Vector3.zero; splitterTextControl.transform.localPosition = textPos; splitterTextControl.gameObject.SetActive(true); splitterTextControl.OnSetup(duplicateTime); StartCoroutine(CRCreatingBalls()); }
/// <summary> /// Get an inactive DuplicatorTextController object. /// </summary> /// <returns></returns> public SplitterTextController GetDuplicatorTextControl() { //Find in the list SplitterTextController textObjext = listDuplicatorTextControl.Where(a => !a.gameObject.activeInHierarchy).FirstOrDefault(); if (textObjext == null) { //Did not find one -> create new one textObjext = Instantiate(splitterTextControlPrefab, Vector3.zero, Quaternion.identity); textObjext.gameObject.SetActive(false); listDuplicatorTextControl.Add(textObjext); } return(textObjext); }