1. 캐릭터별 스킬창 생성 전략
• 기존 방식: 모든 위젯을 미리 생성 후 숨기기 (메모리 낭비)
• 개선 방식: 캐릭터 선택 시점에 필요한 위젯만 `CreateWidget`으로 동적 생성 (효율적 자원 관리)
2. 클래스 상속(Base Class)을 선택한 이유
• 공통 변수 관리: 모든 캐릭터 위젯이 사용하는 `SkillIcon`, `CooldownText` 등을 부모 클래스에서 `meta = (BindWidget)`으로 한 번만 선언하여 자식들이 공유 가능.
• 로직 중복 제거: 쿨타임 계산 로직(Timer)을 부모에 작성하면 캐릭터가 추가되어도 새로 짤 필요가 없음.
• 다형성 활용: `UAFOSkillWidgetBase*` 포인터 하나로 어떤 캐릭터의 스킬창이든 제어 가능.
3. 인터페이스(Interface)가 필요한 시점
• 스킬창뿐만 아니라 아이템 창, 상태창 등 서로 다른 계층의 위젯들이 동일한 '애니메이션 재생' 기능을 가져야 할 때 유용.
4. 포인트
• "Is-A"와 "Has-A" 관계를 명확히 이해하고, 메모리 최적화를 위해 동적 생성을 선택했다는 논리가 중요함.
'언리얼엔진5 공부' 카테고리의 다른 글
| [TIL] Unreal Engine 5: TMap과 TimerManager를 이용한 확장형 쿨타임 시스템 (0) | 2025.12.30 |
|---|---|
| TIL: Unreal Engine 5 멀티플레이어 UI 데이터 동기화 및 C++ 위젯 바인딩 (0) | 2025.12.29 |
| TIL: Unreal Engine 5 멀티플레이 킬 로그 시스템 구현 (0) | 2025.12.24 |
| [25.12.06 TIL] 언리얼 엔진 5 멀티플레이어 환경에서의 HUD 위젯 동기화 및 C++ 바인딩 (0) | 2025.12.23 |
| 데미지 플로팅 (Damage Floating) 구현 (0) | 2025.12.22 |