글 작성자: Doublsb

저번에는 커맨드 밑작업을 하고, 글자 색상과 글자 크기를 변경하는 법에 대해 미래의 나에게 맡기고 끝을 냈다.

그리고 그 미래의 내가 나다. 이런 젠장.

 

결론부터 말하자면, UGUI를 쓰는 이상은 구문 내에서 글자 색상/크기를 변경하기 위해 Rich Text를 사용해야 한다.

그렇다면 그 거지같은 태그도 결국은 사용해야 한다는 이야기다.

 

그러면 어떻게 구현을 할 것인가?

 

텍스트를 받아올 때 처음부터 구조를 변형하는 수밖에 없겠다.

저번에 DialogText를 삭제한다고 했을 때의 업보를 받게 되겠군. 흑흑...

 

오늘은 너무 늦게 작업을 시작해서 딱히 글을 쓸만한 내용은 없다. 아주 약간만 정리한다. 약간만.


#1 DialogText Class

으으, 결국 만들었다. DialogText.

string을 Command별로 구분하여 리스트에 집어넣는 클래스라고 보면 된다.

 

Enum은 아직 임시다. 어떤 처리를 할 것인지 최대한 간단한 Text로 정의해야 할 것 같다.

아무튼 Text가 List<Command> 형태로 변환되었으므로, Manager의 Texting 메서드도 그에 맞게 변화했다.

 

어쨌든 텍스트를 표시하기 위해서는 아래와 같이 작성하면 된다.

Show("이것은 대화창이다. /emote:Sad/하지만 '언젠가는' 완성되겠지. /emote:Happy/^O^", character);

Show를 한 시점에서, 해당 string이 <List>Commands 형태로 분해되고, Texting 코루틴에서 실행된다.

 

아직 color를 처리하지는 못했으나, 밑작업은 했으니까 그건 내일 구현하도록 한다. ^^;

 

해당 커밋 보러가기

해당 커밋 버그 살짝 수정한 것

반응형