Exemple #1
0
    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);
    }