<aside> 👀 프로젝트 소개
좀비를 처지하며 콜라를 배달해주면, 무기도 얻고 피난처도 갈 수 있다는데….?
| 항목 | 내용 |
|---|---|
| 장르 | 호러 서바이벌 FPS 게임 |
| 플랫폼 | PC |
| 맵 컨셉 | 무기를 획득해 좀비를 처지하며 목적지까지 콜라를 배달하는 퀘스트를 완료한 후, 피난처로 이동하면 게임이 종료됩니다. |
| 개발 내용 | 플레이어, 전투 피드백 UI, 무기별 공격 로직, 무기 슬롯 시스템 |
| </aside> |
<aside> 📹
프로젝트 시연 영상
</aside>
Unreal Engine , C++Git , DiscordSketchUP, Adobe PhotoshopGoogle Drive (Gantt Chart)게임 구조

게임 스토리

<aside> 💬 기능 개요
SlotCompone**nt 에서 모든 아이템 흐름을 관리하고, UI와 Input, 플레이어 캐릭터, 아이템을 델리게이트로 연결✅ 무기 분류와 슬롯 분류

Enum으로 보기✅ 슬롯 장착 / 전환 흐름 순서
모든 흐름은 SlotComponent 중심 구조로 이루어집니다.
// USlotComponent.h (핵심 멤버)
UPROPERTY(EditAnywhere)
TArray<FSlotInfo> Slots; // 슬롯 아이템 저장
TWeakObjectPtr<AItemBase> CurrentInHands; // 현재 손 아이템
TArray<TWeakObjectPtr<AItemBase>> PreviousItems; // 직전 아이템 스택
// 상태 전이용 델리게이트 (UI와 게임플레이 알림)
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnSlotItemChanged, int32, SlotIndex, AItemBase*, Item);
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnInHandsChanged, AItemBase*, Item);

플레이어가 CapsuleTrace 를 이용해 무기를 탐지해 SlotComponent의 TryPickup() 함수를 실행
SlotComponent는 아이템이 슬롯아이템인지 여부를 확인해 먼저 아이템을 슬롯에 배치합니다.
슬롯 검사가 끝나면, 아이템을 손에 장착합니다.
장착할 아이템이 소모형(회복아이템)이거나 비슬롯 아이템이면**, 이전 무기를 스택에 보관**
PreviousItem.Add(Prev); // 소모 후 Previous로 복귀함
현재 손에 들고 있는 아이템이 있다면 손에서 해제 → 새 아이템을 손에 부착
UI에 현재 활성 슬롯과 아이콘 변동을 Broadcast
<aside> 💬
무기 슬롯 UI

SlotComponent에게 무기 장착 변경, 슬롯 아이콘 변경, 슬롯 아이템 변경 이벤트를 델리게이트로 받아 플레이어가 보유한 무기 슬롯 상태를 실시간으로 UI에 반영
</aside>