본문 바로가기
PROGRAMING📚/Unity📑

[유니티Unity] Localization 컴포넌트 접근해서 Table 변경하기

별찌루 2023. 4. 28.
728x90
반응형

 

Localization 컴포넌트 접근해서 Table 변경하기

 

 

현지화 작업을 하다가 보면

하나의 오브젝트 안에서 다양한 동작을 하는 경우가 있다.

 

나같은 경우는 레벨 1일 경우에는 Text안에 "레벨1입니다."

2일 경우에는 "레벨 2입니다." 처럼 상황에 따라서 변경해주어야 하는 상황이라서

Localize String Event에서 String Reference를 변경 해주어야 했다.

 

일단은 String Table 안에서 

 

상황에 맞는 string 을 영문 버전과 한글 버전에 맞춰서 입력 해주었다.

 

 그리고

 

LocalizeStringEvnet 를 사용하기 위해서 

 

네임스페이스 : using UnityEngine.Localization.Components 를 추가해준다.

 

Localize String Evnet를 가진 오브젝트(텍스트) 불러오기 위해서

다음과 같이 선언을 해준다.

 

 public LocalizeStringEvent LStringEvent;

 

 

[ 컴포넌트 접근 하는 방법]

public LocalizeStringEvent LStringEvent;
    
LStringEvent.StringReference.TableReference = "BasicStringTable";
LStringEvent.StringReference.TableEntryReference = "Game_Clear1_str";

바꾸고 싶은 테이블의 이름(TableReference)과

테이블의 키(TableEnterReference)를 

 

[ 응용 해서 상황에 따라서 사용한 경우]

 

  LStringEvent.StringReference.TableReference = "BasicStringTable";
        if (GameManager.instance.CoreGame_Stage_i.Equals(1))
        {
            LStringEvent.StringReference.TableEntryReference = "Game_Clear1_str";
        }
        else if (GameManager.instance.CoreGame_Stage_i.Equals(2))
        {
            LStringEvent.StringReference.TableEntryReference = "Game_Clear2_str";
        }
        else if (GameManager.instance.CoreGame_Stage_i.Equals(3))
        {
            LStringEvent.StringReference.TableEntryReference = "Game_Clear3_str";
        }
        else if (GameManager.instance.CoreGame_Stage_i.Equals(4))
        {
            LStringEvent.StringReference.TableEntryReference = "Game_Clear4_str";
        }

 

 

 

728x90
반응형

댓글