코딩 관심없으면 아래 네줄이랑 영상만 보면됨


오늘은 인생최초로 버프 기능 만들어봤음

당장은 이속, 공속 버프 구현 완료

같은 종류면 여러가지 수치를 중첩시키는것도 가능하다 영상은 1.0배 추가시킨건데

여러 번 눌러서 중첩시키면 미친듯이 빨라짐



일단 버프랑 버프 매니지먼트 클래스는 플레이어 스크립트 안에 추가적으로 클래스를 만들어줬음

스크립트 하나에 클래스 여러개 넣어본건 처음이라 뭔가 설렌다


버프매니지먼트에서는 각종 버프 수치를 합산해주고 

나중에 플레이어 클래스에서 버프를 작동시킬 때 필요한 버프 수치를 제공해줌




버프 클래스에서는 버프의 타입을 제공해주고 수치와 남은 지속시간을 갖고 있다

클래스 이름과 같은 이름을 가진 함수(생성자)를 만들어서 클래스가 생성될 때 타입, 지속시간, 버프값을 가질 수 있게 함

Update 속에서 작동하는 함수에서 ReduceLeftTimeAndGetItsDone()을 사용하는데

만약 지속시간을 감소시켜서 0 이하가 됐을 경우 true를 반환해서 이 버프가 리스트에서 제거될 수 있도록 해줌




Update 속에서 작동하는 UpdateBuff 함수다

여기에선 버프매니지먼트 안의 수치를 0으로 초기화해서 합산이 잘못되는 걸 방지한 다음

버프 리스트 속의 모든 버프 수치를 종류별로 합산해주고

합산이 끝나면 최종적으로 그 수치를 적용시켜 효과를 볼 수 있도록 아래의 ActivateBuff 함수를 작동시킴




솔직히 내가 만든 것들이 어느정도 효율인진 잘 모르겠어서 어쩨 자신감이 안 붙는데

뭐 작동 하면 오케이 아닐가?