#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; };