공격 시작 후 유효 시간 내에 추가 공격 입력을 넣으면, 다음 공격 모션을 발동
콤보 공격에 대한 정보는 ABComboActionData에서 불러들임
AT를 발동하고 입력 점검 타이머도 함께 발동
입력 점검 타이머가 발동되면 다음 공격 입력이 있는지 검사함
다음 공격 입력이 있으면 다음 공격 모션을 발동하고 다시 입력 점검 타이머를 발동
AT는 UAbilityTask 클래스를 상속받아 제작한다.
AT 인스턴스를 생성해 반환하는 static 함수를 선언해 구현한다. - 자기 자신을 반환
AT가 종료되면 GA에 알려줄 델리게이트를 선언한다.
시작과 종료 처리를 위해 Activate()와 OnDestroy() 함수를 재정의(Override)해 구현한다.
일정 시간이 지난 후 AT를 종료하고자 한다면, 활성화시 SetWaitingOnAvatar() 함수를 호출해 Waiting 상태로 설정한다.
Tick을 활성화하고 싶다면 bTickingTask 값을 true로 설정한다.
AT가 종료되면 델리게이트를 브로드캐스팅한다.
GA에서 ReadyForActivation() 함수를 호출하여 AT의 태스크가 시작됨
AT의 SetWaitingOnAvatar() 함수를 호출하여 대기
AT에서 태스크 종료 시 델리게이트 브로드캐스트를 통해 EndAbility() 함수로 GA의 어빌리티 종료

static 함수에 UFUNCTION(BlueprintCallable)을 지정한다.
콜백을 위한 델리게이트는 Dynamic Delegate로 선언한다.
AT의 델리게이트에 UPROPERTY(BlueprintAssignable)을 지정한다.

https://github.com/dnjfs/ArenaBattle_GAS/commit/b91d30a735ce70c0ef27881a8b49e7bf38b26a5a
캐릭터 콤보 공격 구현
콤보 타이머 안에 공격 입력 시 다음 콤보 공격 몽타주 실행
공격 몽타주가 종료되면 콤보 초기화
상태를 가지는 점프 어빌리티 구현
점프 GA 구현 (ABGA_Jump)
점프 상태를 유지해주는 AT 구현 (ABAT_JumpAndWaitForLanding)
GA에서 AT 인스턴스를 생성하여 실행
캐릭터에 BPGA_Jump 연결
점프 중 공격 차단
BPGA_Attack의 ActivationBlockedTags에 Character.State.IsJumping 태그 추가