165 lines
4.5 KiB
C++
165 lines
4.5 KiB
C++
#pragma once
|
|
|
|
//#include "SUIWnd.h"
|
|
#include <mmo/ArType.h>
|
|
|
|
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<int>(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;
|
|
};*/
|