Files
2026-06-01 12:46:52 +02:00

79 lines
1.7 KiB
C++

#pragma once
//#include "SUIWnd.h"
#include "SUIProperty.h"
class SPetInfoEx;
struct DATA_PET;
/// 팻 컨트롤 어플리케이션 윈도우
class SUIPetCommandWnd : public SUIWnd
{
public:
/// 생성자
SUIPetCommandWnd( SGameManager* pGameManager, SUIDisplayInfo* pDisplayInfo );
/// 소멸자
virtual ~SUIPetCommandWnd();
/// 프로세스
virtual void Process( DWORD time );
/// 컨트롤 초기화
virtual bool InitControls( KPoint pos );
/// 데이터 초기화
virtual bool InitData( bool reload = false );
/// Perform 메시지 처리
virtual void* Perform( KID id, KArg& msg );
/// PumpUp 메시지 처리
virtual void PumpUpMessage( LPCTSTR controlID, DWORD msg, DWORD lparam, DWORD wparam );
/// 게임 메시지 처리
virtual void ProcMsgAtStatic( SGameMessage* msg );
/// 윈도우 활성/비활성화 통지
virtual void OnNotifyUIWindowOpen( bool open, bool limitWnd = true );
/// 마우스 메시지 처리
virtual DWORD OnMouseMessage( DWORD msg, int x, int y );
private:
/// 팻 정보 및 스킬 리스트 업데이트
void _UpdatePet( int petID );
/// 팻 정보 업데이트
void _UpdateInfoSlot();
/// 팻 스킬 리스트 업데이트
void _UpdateSkillList();
/// 팻 스킬 사용
void _UseSkill( int slotIndex );
/// 스킬 리스트 타입
typedef sui::proxy_list skill_list_t;
/// 팻 스킬 임포터
struct SSkillSlotImporter {
SSkillSlotImporter( skill_list_t& skillList ) : mSkillList( skillList ) {}
void operator () ( SSkillSlot* slot );
skill_list_t& mSkillList;
};
/// 핼퍼
SUIDisplayInfo* m_pDisplayInfo;
/// 스킬 리스트
skill_list_t m_SkillList;
/// 현재 팻 아이디
int m_nPetID;
/// 팻 정보 슬롯
sui::kui_updatable_window_array m_InfoSlot;
};