79 lines
1.7 KiB
C++
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;
|
|
}; |