나 개발자 진짜 되냐?

[ 11月 19日 ] 오늘 내가 배운 것 _ 46日次 본문

오늘 공부를 정리해봐요!

[ 11月 19日 ] 오늘 내가 배운 것 _ 46日次

Snow Rabbit 2024. 11. 19. 23:58

 

 

오늘은 업적에 대해 

구상했던 부분을 조금 구체화 했다.

 

 

3연속 성공이나

4연속 성공이나

성공 이라는 분야에

value값을 정해주면 되는 방식으로

 

만들라고 하셨다

 

 

10렙 달성

20렙 달성

..

..

100렙 달성

다 

하나의 레벨업 이라는 code로

value값만 10 20 .. 100 이렇게

구분하면 된다는 뜻!

 

 

그래서 이번 주제는

4연속 성공

게임 클리어 ( 6번 성공 ) 

3연속 실패

 

특수 스테이지 클리어

(조명 , 오디오클립)

 

타임어택

 

총 6개를 구상했다.

 

1. Achievement

여기에서는

업적들의 종류에 대해 작성했다.

 

 

그리고

코드는 Enum으로 작성하였다.

 

 

 

 

1. AchievementManager

 

업적을 관리해주는 친구

 

업적을 관리해줄땐 Dictionary를 이용해 줄 것이다.

 

Key값과 Value값으로

key는 아까 위에서 만든 enum

value 값을 리스트로 만들어 준 이유는

 

achievement객체들을 저장하는 리스트로

같은 enum을 가진 업적들을

그룹으로 묶어서 저장하기 위해서 사용되었다.

 

위에서도 보았지만

통과성공은 1로 정의하지만

통과성공이 3번인지 4번인지 6번인지 저장하려면

1-3 1-4 1-6 이렇게 해주어야하는데

딕셔너리는 그런걸 못하기 때문에

 

애초에 1-3 자체를 저장해주는 것이다.

1, 1-3  1, 1-4  1, 1-6

이렇게!

 

 

 

이 코드는 

code 값이 딕셔너리의 키값에 있다면

list에 code와 대응하는 리스트값을 넣어준다.

 

포이치문을 통해서

리스트안에 들어있는 객체 정보를 돌면서

현재 업적의 진행값을 증가시킨다.

 

IsComplete는

 

현재 값이 정해준 벨류값에 도다르면

true를 반환해주는 함수이다. 

 

 

맞으면 UI를 띄울 수 있게 했다.

 

 

일단 이정도까지만 했다!

 더 코드를 고쳐서 가져와야겠다!!

 

고생!