#pragma once //#include "SUIWnd.h" #include class SUIDisplayInfo; namespace { const float c_fSummonedTime = 30.f; }; class SUICreatureInfoWnd : public SUIWnd { public: SUICreatureInfoWnd( SGameManager* pGameManager, SUIDisplayInfo* pDisplayInfo ) : SUIWnd( pGameManager ) , m_pDisplayInfo( pDisplayInfo ) , m_bUnSummonedCheck(false) , m_hUnSummonedCreature(0) { m_dwTime = m_dwBeginTime = m_dwRemainTime = m_dwStartTime = 0; m_nProcessCount = m_nSelectIndex = 0; } virtual void PumpUpMessage( LPCSTR lpszControlID, DWORD nMessage, DWORD lparam, DWORD wparam ); virtual void ProcMsgAtStatic( SGameMessage* pMsg ); virtual void Process( DWORD dwTime ); virtual bool InitData( bool bReload = false ); virtual void OnNotifyUIWindowOpen( bool bOpen, bool bLimitWnd = true ); public: /// 리스트 =============================== void RefreshSlots(); void EnableSlot( int nIndex, bool bEnable = false, bool bEnableRemainTimeDisplay = false ); // 2011.04.18 - servantes void SetSummonedCreautreData( int nIndex, AR_HANDLE hCreature ); void RefreshHPMP( int nIndex, struct SIMSG_UI_TARGET_STAT * pMsg ); void RefreshGauge( std::string strControl, __int64 nCurValue, __int64 nMaxValue ); /// 선택 AR_HANDLE CheckCreature( int nX, int nY ); void SelectCreature( int nX, int nY ); /// 카운트 void ShowCountNumber( int nCountNumber = static_cast(c_fSummonedTime) ); std::string GetRemainTime( int nRemainTime ); void ClearSummonedCreautreData(); protected: void setShowSelectControl(AR_HANDLE handle); /// 2011.02.15 - prodongi private: SUIDisplayInfo* m_pDisplayInfo; AR_HANDLE m_hCreature[2/*SCreatureSlotMgr::MAX_SUMMON_SLOT*/]; AR_HANDLE m_hLendingCreature[2/*SCreatureSlotMgr::MAX_SUMMON_SLOT*/]; bool m_bUnSummonedCheck; AR_HANDLE m_hUnSummonedCreature; AR_HANDLE m_hSummonedCreature; DWORD m_dwTime; DWORD m_dwBeginTime; DWORD m_dwRemainTime; DWORD m_dwStartTime; int m_nProcessCount; int m_nSelectIndex; }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //크리쳐 스킬 퀵슬롯 제거 2009.03.24 sfreer /* class SUIHCreatureQuickSlotWnd : public SUIWnd { public: SUIHCreatureQuickSlotWnd( SGameManager* pGameManager, SUIDisplayInfo* pDisplayInfo ); ~SUIHCreatureQuickSlotWnd(); public: virtual bool InitData( bool bReload = false ); virtual void OnNotifyUIWindowOpen( bool bOpen, bool bLimitWnd = true ); virtual void ProcMsgAtStatic( SGameMessage* pMsg ); virtual void PumpUpMessage( LPCSTR lspzControlID, DWORD nMessage, DWORD lparam, DWORD wparam ); virtual void* Perform( KID id, KArg& msg ); virtual void Process( DWORD dwTime ); public: void RefreshQuickInfo(); void UpdateQuickSlot( AR_HANDLE hCreature ); void RefreshQuickSlot( AR_HANDLE hCreature ); void RefreshCreatureIcon( AR_HANDLE hCreature ); void UseSkill( int nQuickSlotNum ); void ShowClockBox( int nSkillID, bool bDiable = false ); void CancelSkill( int nSkillID ); int GetSlotIndex( const char* szControlID ); struct QUICK_SKILL* GetSlotSkillInfo( int index ); bool IsActive( int nID ); void CheckEffect( int nSkillID, int nSkillStatus ); void ToggleEffect( int nSkillID, bool bToggle ); void SkillToggleMode( int nQuickSlotNum ); private: SUIDisplayInfo* m_pDisplayInfo; bool m_bFaceCut; bool m_bCtrlKey; struct SLOT_INFO //크리처 귓슬롯 정보 표현용 control들의 ID { std::string strIconControl; }; SLOT_INFO* m_pSlotControlIDs; void UpdateSkillStatus( int nSkillStatus, QUICK_SKILL* pSlot ); void UpdateSkillToggle( int nStatus, QUICK_SKILL* pSlot ); void RefreshQuickEffect( int nSlot, QUICK_SKILL* pQuickSkill ); void DeleteToggleQuickSlotList( int nSkillID ); bool m_bIsQuickSlot; enum { QUICK_SLOT_MAX = 12, }; struct UsingSkill { bool m_bActivate; bool m_bSendMsg; int m_nSkillID; int m_nSkillLevel; AR_HANDLE m_hOwner; bool operator == ( const int& index ) const { return ( m_nSkillID == index ); } UsingSkill( AR_HANDLE owner, int skillid, int skilllv ) : m_hOwner( owner ) , m_nSkillID( skillid ) , m_bSendMsg( false ) , m_bActivate( false ) , m_nSkillLevel( skilllv ) { } }; int m_vToggleQuickSlotList[QUICK_SLOT_MAX]; std::vector< UsingSkill > m_vUseSkillList; bool m_bCasting; DWORD m_dwTime; };*/