[UE] 스탯 매니저

GamzaTori·2024년 4월 27일

UE4 Blueprint C++

목록 보기
16/19

GameInstance를 상속받은 C++ Class 추가

  • GameInstance는 게임이 시작될 때 한번만 초기화된다.
  • 스탯과 관련된 데이터 매니저로 사용하기 유용하다.

GameInstance에 캐릭터의 스탯을 관리하는 구조체 추가

MyCharacterData 타입의 행을 가지는 DataTable 추가

GameInstance에 데이터 테이블을가지는 변수와 구조체의 정보를 반환하는 GetStatData 함수 추가

Project Settings -> Map & Mode에서 게임 인스턴스를 만들어둔 위에서 생성한 게임 인스턴스 클래스로 설정한다

액터를 상속받아 캐릭터의 스탯을 관리하는 C++ Class 추가

  • 스탯 액터 컴포넌트에 캐릭터의 스탯 정보를 담고있는 변수 추가

스탯 컴포넌트의 InitializeComponent에서 SetLevel 함수 호출

  • InitializeComponent가 실행되기 위해선 생성자에서 bWantsInitializeComponent=true; 옵션을 주면 된다

멤버 변수를 초기화하는 SetLevel 함수

  • 레벨에 따른 스탯 데이터를 가져와서 초기화한다.
  • 데미지를 받으면 HP를 감소시키는 OnAttacked 함수 추가

캐릭터에 스탯 컴포넌트 추가

  • 생성자에서 스탯 컴포넌트를 초기화한다.

캐릭터의 AttackCheck 함수에서 피격 판정에 대한 처리를 진행한다

피격당한 액터가 존재하면 TakeDamage 함수를 호출한다

  • OnAttacked 함수 호출을 통해 hp를 감소시키고 로그를 발생시킨다
profile
게임 개발 공부중입니다.

0개의 댓글