도파민조아 MYPI

도파민조아
접속 : 4421   Lv. 51

Category

Profile

Counter

  • 오늘 : 88 명
  • 전체 : 143372 명
  • Mypi Ver. 0.3.1 β
[Unity Engine] [게임개발/Unity3D] 문자열 관리 (0) 2016/01/25 PM 04:34
뭔가 굉장히 쓸데 없는 짓인것 같지만 무려 하루의 시간을 들여서
문자열 관리를 따로 만들었다. 허헣...

다음의 몇 가지 원칙에 따라서 만들었다.

1. 사용하는 방식은 System.string과 최대한 똑같아야 한다.
2. 따로 사양을 먹지 않을것.

일단 1번만 간단하게 설명하면

유니티에서는 다음과 같이 string field를 선언할 수 있다. 만들면 inspector에서 수정이 가능하다.



마찬가지로 이런식으로 선언할 수 있게 만들었다.


이렇게 선언을 하면 현재 Inspector에서 string과 같이 나오고
옆에 언어가 표시 된다. 맨처음 선언한 문자열을 키로 사용한다. 이게 같은 키는 공유하도록 만들었는데
파일별로 또 키를 나누어서 저장해야 되나 고민중이다. 뭐 대충 만들었으니...



아래 StringManager는 전체적인 관리를 한다. 여기서 새로운 언어 English를 추가하면...
위에 언어도 자동적으로 [English]라는 디폴트 언어로 셋팅된다.



물론 이렇게 하나하나 찾아가면서 바꾸면 힘들것이다.
여기서 수정할 수 있는건 초벌 번역후 게임내에서 내용을 바꾸기 위한것이고
따로 번역을 위해 spread sheet로 데이터를 빼야한다.
Export와 Import 기능을 만들어서



외부 스프레트 시트로 작업할 수 있게 만들었다.


마지막으로 가장 많이 쓰이는 UIText를 상속받아서
GNString을 디폴트로 쓰는 컴포넌트를 만들었다. 해당하는 컴포넌트를 쓰면
자동으로 위와 같이 등록된다.



이것저것 다 귀찮으면 docpin 같은걸 사면 된다

github은 나중에...
아직까진 쓰는데는 별 문제가 없는데 한 1~2주 정도 써보고 문제점 수정후에 올리는게 나을 것 같아서
나중에 올립니다.

* 딱히 메인에 올릴 필요는 없을것 같아서 밑에 카테고리는 없음으로 했습니다.

신고

 
X