[Unity] 게임 실행 시 오브젝트의 Clone 텍스트 없애기

Jihoon·2022년 3월 25일
0

MMO_Unity

목록 보기
9/22
public GameObject Instantiate(string path, Transform parent = null)
{
    GameObject prefab = Load<GameObject>($"Prefabs/{path}");
    if (prefab == null)
    {
        Debug.Log($"Failed to load prefab : {path}");
        return null;
    }

    GameObject go = Object.Instantiate(prefab, parent);
    int index = go.name.IndexOf("(Clone)");
    if (index > 0) 
        go.name = go.name.Substring(0, index);

    return go;
}

기존 Instantiate 함수를 사용하면 게임 실행 시 오브젝트의 이름에 (Clone)이라는 텍스트가 붙는다.

그대로 사용해도 상관은 없지만 보기에 불편하기에 SubString() 함수를 사용해 (Clone) 텍스트를 삭제했다.

    GameObject go = Object.Instantiate(prefab, parent);
    int index = go.name.IndexOf("(Clone)");
    if (index > 0) 
        go.name = go.name.Substring(0, index);

이 부분이 텍스트를 삭제하는 역할을 한다.
이 때, return 시에 함수 내에서 인스턴스화 한 GameObject go를 return해야 한다.

profile
클라이언트 개발자 지망생

0개의 댓글