Skip to content

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

EmptyCity

개발 파트 : Enemy, UI 담당

목차

  1. Enemy
  2. UI

Enemy

기능 분류



AI Perception 기반의 플레이어 탐지 및 공격

시각 센서를 활용하여 플레이어를 감지합니다.

공격

ECEnemyAIController.cpp



Enemy 스턴

스턴 GE이 적용될 때 스턴 태그를 활용하여 스턴 상태를 관리하며, 추가 공격에 따라 스턴 시간을 증가시킵니다.

ECGameplayAbility_Stun.cpp



UI

기능 분류



위젯 간 계층 관계

부모-자식 관계를 설정하여 부모 위젯이 닫힐 때 자식도 같이 제거합니다.

ECUserWidget.cpp - ClearAllChildren



스택 방식의 Close 기능

위젯의 Close 입력이 들어왔을 때, 자식이 있는 경우 우선적으로 처리합니다.

ECUserWidget.cpp - HandleCloseRequest

UIManagerSubsystem.cpp - CloseTopWidget



위젯 드래그 및 포커싱

마우스 입력에 따라 Stack 구조로 최상위 위젯 UI를 관리합니다.

드래그 포커스

ECUserWidget.cpp - NativeOnPreviewMouseButtonDown

UIManagerSubsystem.cpp - UpdateFocusStack



위젯의 키보드 입력 기능

맵 위젯의 키 입력 방향에 따라 미리 정의된 맵 노드로 포커싱을 변경합니다.

Video Project 2

ECMapWidget.cpp - NativeOnKeyDown



해금 시스템

잠김, 해금, New 해금 상태를 관리하며 새로 해금됐지만 해금 연출을 확인하지 않은 경우를 추가했습니다.

해금

ECProgressionSubsystem.cpp



인벤토리 위젯

Lyra 기반 인벤토리 구조를 활용하여 Item Instance의 UI Fragment 정보를 슬롯 위젯에 표시했습니다.

인벤토리

ECInventorySlotWidget.cpp



맵 위젯 확대 축소

마우스 위치를 기준으로 확대/축소되도록 Scale 변화 비율에 따라 Translation을 보정했습니다.

pannable맵

ECPannableMapWidget.cpp



오브젝트 인디케이터

플레이어 입력으로 열고 닫는 기존 UI와 달리, 상호작용 대상의 월드 위치를 기준으로 표시되는 UI가 필요했습니다. Lyra의 Indicator System을 분석하여 프로젝트에 필요한 구조를 이식했으며, IndicatorDescriptor에 표시 대상과 위젯 정보를 전달하고 IndicatorManagerComponent에서 생성 및 제거를 관리하도록 구성했습니다. 이를 활용하여 탐색된 상호작용 대상의 위치에 상호작용 텍스트를 표시했습니다.

Indicator-Interaction2

ECGameplayAbility_Interact.cpp - UpdateInteractions

ECIndicatorManagerComponent.cpp



게임플레이 알림 시스템

아이템 획득, 지역 이동, 시간대 변경 등 서로 다른 게임플레이 시스템에서 발생하는 이벤트를 UI에 표시하기 위해 메시지 기반 알림 구조를 구성했습니다. Lyra의 Gameplay Message System을 프로젝트에 필요한 범위로 간소화하여 이식했으며, 송신자는 GameplayTag 채널과 메시지 데이터만 전달하고 알림 Host Widget이 메시지를 수신하여 실제 알림 위젯을 생성하도록 분리했습니다. 이를 통해 각 게임플레이 시스템이 알림 위젯 클래스와 생성 방식을 직접 참조하지 않도록 구성했습니다.

알림시스템-지역
알림시스템-아이템획득

ECGameplayMessageSubsystem.cpp

ECNotificationHostWidget.cpp

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages