내일배움캠프 143일차 - 최종프로젝트 33일차: 버프효과 적용 완료 및 버프 적용시 오류 수정
버프효과 적용 완료 및 버프 적용시 오류 수정
커맨더 유닛이 스킬을 사용할 때, 피아를 식별해 조건에 맞는 유닛/건물 중 대상자를 골라 버프를 적용시키는 로직 적용.
| 1. 특정 액터에게 버프를 추가한 직후 버프 시작 함수를 실행 2. UBuffComponent에서 시간 만료를 체크 2-A. 시간이 남아있다면 버프 중 함수 실행 2-B. 시간 만료 시 버프 종료 실행 |
버프 적용시 버프시작/버프종료/버프중 세 가지 람다함수를 실행하며, 함수의 실행시점은 주로 버프 컴포넌트에서 제어한다.
버프 컴포넌트에서는 float기반 타이머를 매 프레임마다 DeltaTime만큼 차감하며, 주어진 시간(Time)이나 간격(Interval)의 남은 정도에 따라 버프 종료를 실행하거나, 버프 중 함수를 실행한다.
버프의 효과를 적용할 때마다 컴포넌트의 Tick에서 모든 버프의 총합 수치를 합산하여, 최종 값을 실제 능력치 적용값으로 반영한다.
버프 적용 시 Tick의 호출빈도 제어
버프의 적용수치를 제어하는 Tick의 리소스 빈도를 최소화.
기본적으로 버프가 존재할때에만 Tick을 호출하며, 버프의 최종 적용값만 변수에 실시간으로 저장하면서, 실제 적용은 버프수치가 변동되는 타이밍인 버프시작, 버프종료 시점에만 적용하는 방식을 통해 변동없는 수치를 매 틱마다 적용하는 무의미한 호출을 줄였다.
댓글
댓글 쓰기