Paradies Project
Loading...
Searching...
No Matches
UActionControlPanel Class Reference

우측 하단 전투 컨트롤러 레이아웃입니다. 개별 슬롯 및 버튼의 상태를 데이터에 따라 관리합니다. More...

#include <ActionControlPanel.h>

Inheritance diagram for UActionControlPanel:
Inheritance graph
Collaboration diagram for UActionControlPanel:
Collaboration graph

Public Member Functions

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 ()
 키보드 궁극기 입력

Protected Member Functions

virtual void NativeConstruct () override
virtual void NativeDestruct () override

Protected Attributes

FLinearColor PressedTintColor = FLinearColor(0.5f, 0.5f, 0.5f, 1.0f)
 버튼 눌렸을 때 아이콘 틴트 (어둡게)
FLinearColor NormalTintColor = FLinearColor(1.0f, 1.0f, 1.0f, 1.0f)
 버튼 기본 상태 아이콘 틴트

Detailed Description

우측 하단 전투 컨트롤러 레이아웃입니다. 개별 슬롯 및 버튼의 상태를 데이터에 따라 관리합니다.

Member Function Documentation

◆ InitActionPanel()

void UActionControlPanel::InitActionPanel ( FDataTableRowHandle WeaponAttackHandle,
FDataTableRowHandle WeaponSkillHandle,
FDataTableRowHandle UltimateActionHandle,
UTexture2D * AttackIcon = nullptr )

데이터 테이블을 기반으로 패널 전체를 초기화합니다.

Parameters
WeaponActionID무기 스킬 ID
UltimateActionID궁극기 ID
AttackIcon무기별 기본 공격 아이콘 (추가)
Here is the caller graph for this function:

◆ InitTagButtons()

void UActionControlPanel::InitTagButtons ( )

로비 편성 데이터(SquadSubsystem)를 읽어와 태그 버튼의 얼굴 이미지를 세팅합니다.

버튼 초기화 시 호출되며, 편성되지 않은 슬롯은 UI에서 숨깁니다.

Here is the call graph for this function:

◆ LockOtherActionButtons()

void UActionControlPanel::LockOtherActionButtons ( bool bLocked,
ECombatActionType ExecutingActionType )

특정 어빌리티 실행 시, 다른 액션 버튼들의 터치를 차단하거나 해제합니다.

Parameters
bLocked잠금 여부 (true면 차단)
ExecutingActionType현재 실행 중인 어빌리티 타입 (이 버튼은 차단 제외)
Here is the caller graph for this function:

◆ RefreshActionPanel()

void UActionControlPanel::RefreshActionPanel ( int32 PlayerIndex)

특정 플레이어 인덱스의 데이터를 기반으로 액션 패널 전체를 스스로 갱신합니다.

컨트롤러에 있던 UpdateActionPanelUI 로직을 이관하여 SRP를 준수합니다.

Parameters
PlayerIndex갱신할 캐릭터의 스쿼드 인덱스
Here is the call graph for this function:

◆ SetTagButtonsEnabled()

void UActionControlPanel::SetTagButtonsEnabled ( bool bShouldEnable)

궁극기 연출 중 태그 버튼 조작을 막거나 풉니다.

Parameters
bIsEnabledtrue면 교체 가능, false면 터치 무시

◆ ToggleShortcutKeys()

void UActionControlPanel::ToggleShortcutKeys ( bool bShow)

키보드 모드 진입 시 공격/스킬 버튼들의 단축키 텍스트 노출 여부를 일괄 제어합니다.

Parameters
bShowtrue면 텍스트 노출, false면 숨김

◆ UpdateSkillCooldown()

void UActionControlPanel::UpdateSkillCooldown ( int32 SkillIndex,
float CurrentTime,
float MaxTime )

특정 스킬 슬롯의 쿨타임 데이터를 갱신합니다. (Optimization: 가상함수 방지)

Parameters
SkillIndex0: 일반 기술, 1: 필살기
CurrentTime현재 남은 시간
MaxTime전체 쿨타임 시간

◆ UpdateTagButtons()

void UActionControlPanel::UpdateTagButtons ( int32 ActiveCharIndex)

현재 선택된 캐릭터 인덱스에 따라 태그 버튼의 활성화 상태를 업데이트합니다.

Parameters
ActiveCharIndex현재 플레이 중인 캐릭터 번호 (0, 1, 2)

현재 조작 캐릭터에 따른 태그 버튼 활성화/비활성화 제어

배열 루프를 사용하여 하드코딩 없이 상태를 일괄 업데이트합니다.

Here is the caller graph for this function:

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