우측 하단 전투 컨트롤러 레이아웃입니다. 개별 슬롯 및 버튼의 상태를 데이터에 따라 관리합니다.
More...
#include <ActionControlPanel.h>
|
| void | RefreshActionPanel (int32 PlayerIndex) |
| | 특정 플레이어 인덱스의 데이터를 기반으로 액션 패널 전체를 스스로 갱신합니다.
|
| void | InitActionPanel (FDataTableRowHandle WeaponAttackHandle, FDataTableRowHandle WeaponSkillHandle, FDataTableRowHandle UltimateActionHandle, UTexture2D *AttackIcon=nullptr) |
| | 데이터 테이블을 기반으로 패널 전체를 초기화합니다.
|
| void | InitTagButtons () |
| | 로비 편성 데이터(SquadSubsystem)를 읽어와 태그 버튼의 얼굴 이미지를 세팅합니다.
|
| void | UpdateSkillCooldown (int32 SkillIndex, float CurrentTime, float MaxTime) |
| | 특정 스킬 슬롯의 쿨타임 데이터를 갱신합니다. (Optimization: 가상함수 방지)
|
| void | UpdateTagButtons (int32 ActiveCharIndex) |
| | 현재 선택된 캐릭터 인덱스에 따라 태그 버튼의 활성화 상태를 업데이트합니다.
|
|
void | SetOwningPlayerBase (APlayerBase *InPlayer) |
| | 외부(컨트롤러나 HUD)에서 플레이어를 직접 꽂아주는 함수
|
| void | LockOtherActionButtons (bool bLocked, ECombatActionType ExecutingActionType) |
| | 특정 어빌리티 실행 시, 다른 액션 버튼들의 터치를 차단하거나 해제합니다.
|
| void | SetTagButtonsEnabled (bool bShouldEnable) |
| | 궁극기 연출 중 태그 버튼 조작을 막거나 풉니다.
|
| void | ToggleShortcutKeys (bool bShow) |
| | 키보드 모드 진입 시 공격/스킬 버튼들의 단축키 텍스트 노출 여부를 일괄 제어합니다.
|
|
void | KeyboardAttack () |
| | 키보드 공격 입력
|
|
void | KeyboardSkill () |
| | 키보드 스킬 입력
|
|
void | KeyboardUltimate () |
| | 키보드 궁극기 입력
|
|
|
virtual void | NativeConstruct () override |
|
virtual void | NativeDestruct () override |
|
|
FLinearColor | PressedTintColor = FLinearColor(0.5f, 0.5f, 0.5f, 1.0f) |
| | 버튼 눌렸을 때 아이콘 틴트 (어둡게)
|
|
FLinearColor | NormalTintColor = FLinearColor(1.0f, 1.0f, 1.0f, 1.0f) |
| | 버튼 기본 상태 아이콘 틴트
|
우측 하단 전투 컨트롤러 레이아웃입니다. 개별 슬롯 및 버튼의 상태를 데이터에 따라 관리합니다.
◆ InitActionPanel()
| void UActionControlPanel::InitActionPanel |
( |
FDataTableRowHandle | WeaponAttackHandle, |
|
|
FDataTableRowHandle | WeaponSkillHandle, |
|
|
FDataTableRowHandle | UltimateActionHandle, |
|
|
UTexture2D * | AttackIcon = nullptr ) |
데이터 테이블을 기반으로 패널 전체를 초기화합니다.
- Parameters
-
| WeaponActionID | 무기 스킬 ID |
| UltimateActionID | 궁극기 ID |
| AttackIcon | 무기별 기본 공격 아이콘 (추가) |
◆ InitTagButtons()
| void UActionControlPanel::InitTagButtons |
( |
| ) |
|
로비 편성 데이터(SquadSubsystem)를 읽어와 태그 버튼의 얼굴 이미지를 세팅합니다.
버튼 초기화 시 호출되며, 편성되지 않은 슬롯은 UI에서 숨깁니다.
◆ LockOtherActionButtons()
| void UActionControlPanel::LockOtherActionButtons |
( |
bool | bLocked, |
|
|
ECombatActionType | ExecutingActionType ) |
특정 어빌리티 실행 시, 다른 액션 버튼들의 터치를 차단하거나 해제합니다.
- Parameters
-
| bLocked | 잠금 여부 (true면 차단) |
| ExecutingActionType | 현재 실행 중인 어빌리티 타입 (이 버튼은 차단 제외) |
◆ RefreshActionPanel()
| void UActionControlPanel::RefreshActionPanel |
( |
int32 | PlayerIndex | ) |
|
특정 플레이어 인덱스의 데이터를 기반으로 액션 패널 전체를 스스로 갱신합니다.
컨트롤러에 있던 UpdateActionPanelUI 로직을 이관하여 SRP를 준수합니다.
- Parameters
-
| PlayerIndex | 갱신할 캐릭터의 스쿼드 인덱스 |
◆ SetTagButtonsEnabled()
| void UActionControlPanel::SetTagButtonsEnabled |
( |
bool | bShouldEnable | ) |
|
궁극기 연출 중 태그 버튼 조작을 막거나 풉니다.
- Parameters
-
| bIsEnabled | true면 교체 가능, false면 터치 무시 |
◆ ToggleShortcutKeys()
| void UActionControlPanel::ToggleShortcutKeys |
( |
bool | bShow | ) |
|
키보드 모드 진입 시 공격/스킬 버튼들의 단축키 텍스트 노출 여부를 일괄 제어합니다.
- Parameters
-
| bShow | true면 텍스트 노출, false면 숨김 |
◆ UpdateSkillCooldown()
| void UActionControlPanel::UpdateSkillCooldown |
( |
int32 | SkillIndex, |
|
|
float | CurrentTime, |
|
|
float | MaxTime ) |
특정 스킬 슬롯의 쿨타임 데이터를 갱신합니다. (Optimization: 가상함수 방지)
- Parameters
-
| SkillIndex | 0: 일반 기술, 1: 필살기 |
| CurrentTime | 현재 남은 시간 |
| MaxTime | 전체 쿨타임 시간 |
◆ UpdateTagButtons()
| void UActionControlPanel::UpdateTagButtons |
( |
int32 | ActiveCharIndex | ) |
|
현재 선택된 캐릭터 인덱스에 따라 태그 버튼의 활성화 상태를 업데이트합니다.
- Parameters
-
| ActiveCharIndex | 현재 플레이 중인 캐릭터 번호 (0, 1, 2) |
현재 조작 캐릭터에 따른 태그 버튼 활성화/비활성화 제어
배열 루프를 사용하여 하드코딩 없이 상태를 일괄 업데이트합니다.
The documentation for this class was generated from the following files:
- Source/Paradise/Public/UI/Panel/Ingame/ActionControlPanel.h
- Source/Paradise/Private/UI/Panel/Ingame/ActionControlPanel.cpp