도전기능 - 타워 판매
타워 담당 포지션인 만큼, 해당 기능을 구현해 보기로 했다.
가장 먼저 필요한 것은 캔버스에 그려진 그림을 특정하는 방법을 알아야한다.
많은 사람이 찾는 기능이라서 그런지, 검색 결과가 많았다. (다행)
우선 클릭 이벤트를 만들어줬다.
굉장히 보편적으로 사용태는 형태인 듯 하다.
이 부분을 잘 활용하면 ,
타워 뿐만 아니라 몬스터나 메인기지 등등을 선택했을 때에도 특정 이벤트가 실행되도록 하는것이
가능할 것 같다.
클릭 시, 해당 타워 오른쪽에 버튼 두개를 생성하도록 하고,
해당 버튼 클릭 시, findClick 으로 찾은 타워를 그대로 인자로 사용해서 함수를 실행하여 써먹으면 된다.
31번 핸들러를 통해 서버로 타워 판매에 대한 요청을 하게되고,
위 핸들러 함수를 통해 이벤트가 처리된다.
해당 핸들러 내에서는 payload를 통해 해당 타워의 type (어떤종류의 타워인지) 을 받게되고
서버가 가진 meta data에서 일치하는 type을 찾아서 가격을 정보를 구해온다.
돈 계산을 적용하고 , ( 현재 하드 코딩으로 타워 구매 가격의 절반을 획득 )
그 후엔 Redis 에서 판매한 타워에 대한 데이터를 지우는 작업을 한다.
updateTower 를 통해 redis 데이터를 수정한다.
추가적으로 totalGold (서버에서 계산한 user의 소지금 을 보내서, 클라이언트에 적용 (갱신) 한다.
'내일배움캠프' 카테고리의 다른 글
24.10.16 TIL 타워 디펜스 프로젝트 -완- (0) | 2024.10.16 |
---|---|
24.10.14 TIL 타워 디펜스 프로젝트 (0) | 2024.10.14 |
24.10.10 TIL 타워 디펜스 프로젝트 (0) | 2024.10.11 |
24.10.07 TIL 데이터 베이스 정규화 (0) | 2024.10.07 |
24.10.04TIL 리얼타임 과제 (0) | 2024.10.04 |