※ 개인적인 공부를 위해 포스팅 하는 글입니다.
# 아이템
데이터를 이용할수도 있지만 일단 이 포스팅에선 빨리하기 위해 이건 ㄴㄴ
-> 아이템 정보는 플레이어와 스탯 연동... 그럴라면 게임어빌리티 시스템.. 등등 고려할게 좀 많으니 일단은 간단하게만 작성해봤다, 추후 포폴만들때 제대로 해봐야겠다.
※ ItemInstance 클래스 생성. 오브젝트의 상속을 받는다.
디파인 클래스에 코드 추가
아이템의 희귀도를 정의
ㆍ Init은 데이터상에서 초기화
※ 동적으로 관리해 주기 위해 아이템을 관리해 줄 수 있는 매니저 클래스가 있으면 좋겠다...
# 언리얼에서 매니저 클래스를 만들려면 GameInstance Subsystem을 이용하면 된다
ㆍ 생명주기를 알아서 맞춰준 매니저 클래스 . 라고 한마디로 정리 가능
공식문서 링크
ㆍ 매니저클래스를 만들 땐 생명주기가 꼬일 여지가 있기 때문에 싱글톤보단 서브시스템을 이용하는게 좋다.
괜히 static 고집하지말고 쓰라는거 쓰자
ㆍ 종류가 되게 많다.. 누구와 생명주기를 맞출건데? 라는 느낌으로 받아들이면 된다.
→ 지금은 간단하게 WorldSubsystem으로 월드와 생명주기를 맞추겠다.
ㆍ 월드와 생명주기가 맞는 인벤토리를 관리해주는 매니저 역할이라고 생각하자
ㆍ 이 상속만 있으면 그냥 자동으로 생명주기가 관리된다.
# 동적으로 관리해줄 준비
ㆍ 위 아이템 클래스를 include를 해주고 TArray에다 어느 시점에 넣어주는 매니저 클래스를 정의.
ㆍ매니저클래스라는건 어디선가 처음에 불러올 부분이 필요하겠다... 보통은 GameMode부분에서 불러온다고 한다.
#GameMode클래스
ㆍ 뭐 몬스터를 관리해주는 MonsterManager 라던가... 여러가지 상황에서 활용할 수 있겠다.
ㆍ 지금은 Item Subsystem을 잘 불러오게 된다.
'언리얼엔진 > 언리얼 C++' 카테고리의 다른 글
Inventory - 아이템 DragAndDrop (0) | 2024.10.29 |
---|---|
Inventory - 아이템창에 아이템 구성해보기 (1) | 2024.10.27 |
Scene UI - 인벤토리 구성 (0) | 2024.10.27 |
객체를 따라다니는 UI (1) | 2024.10.25 |
UI 위젯블루프린트 (4) | 2024.10.25 |