기본 구조 파악

Hisop·2023년 3월 8일
0

WOW Addon Dev

목록 보기
3/9
post-thumbnail

애드온 구성 파일

애드온은 크게 두가지의 파일로 이루어져있다.
실제 코드가 들어있는 .lua, 이 코드를 와우 클라이언트와 이어주는 .toc

.xpm형태도 사용이 가능하나 내가 만드는 단계에선 사용할 필요가 없다고 판단된다.
(GUI를 만들때 도움을 주는 X11 Pixmap Graphic, 비트맵 이미지 파일)


GUI

와우의 GUI는 대부분 'Frame'이라는 객체로 이루어져있고 UIParent에 포함되어있다.

Frame을 처음 선언할 때 부모를 설정하는 것이 가능하며 따로 설정하지 않으면 UIParent를 부모로 가지게 된다.
특수한 경우가 아니라면 조상으로 UIParent를 가지고 있다고 생각하면 된다.

wowpedia addon 개발 튜토리얼
공식사이트가 아닌 팬페이지임에도 애드온 개발의 기초가 꽤나 자세하게 정리되어있어 배우기 좋았다. 역시 영어는 익숙하지 않아서 크롬 번역의 도움을 받아 튜토리얼을 진행해보았다.

RegisterEvent로 게임 내에서 발생하는 이벤트들을 캐치하여 특정 동작의 트리거로 쓰일 수 있게 하는 방법 등을 파악했다.


라이브러리? 프레임워크?

위의 튜토리얼 자료들을 보면 명령어들과 lua코드 구성으로 충분히 애드온을 만들 수 있을 것 같아 보인다.
그런데 왜 기존 애드온 개발자들은 Ace3를 사용했을까? 의문을 품고 기존 애드온들의 코드를 뜯어보기 시작했다.

대부분이 Ace3를 기반으로 구현했고, 게임이 종료되도 유지해야하는 DB를 관리해야하는 경우 사용하는 것으로 보였다.
Ace3가 없이도 DB를 관리할 수 있다. 하지만 사용하는것이 훨씬 편하다!

내가 만들고자 하는 기능들도 DB가 반드시 필요하기에 Ace3를 기반으로 작성하기 시작했다. Ace3_Tutorial

사용하는 방법은 알겠다. 근데 이건 프레임워크야? 라이브러리야? 프레임워크와 라이브러리의 차이

profile
42seoul - C, C++ / YagomAcademy - Swift

0개의 댓글