⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 specialstate.cpp

📁 墨香最新私服
💻 CPP
字号:
// SpecialState.cpp: implementation of the CSpecialState class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "SpecialState.h"

#ifdef _MHCLIENT_
#include "StatusIconDlg.h"
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CSpecialState::CSpecialState(CObject* pParent)
{
	m_pParent = pParent;
#ifdef _MHCLIENT_
	m_Effect = NULL;
#endif
}

CSpecialState::~CSpecialState()
{

}

void CSpecialState::Init()
{
	m_StateTime = 0;
	m_wParam1 = 0;
	m_wParam2 = 0;
	m_fParam3 = 0;
#ifdef _MHCLIENT_
	m_StateIcon = 0;
	m_EffectNum = 0;
	m_Effect = NULL;
#endif
}

void CSpecialState::Process(DWORD tickTime)
{
	if(IsInState() == FALSE)
		return;

	if(m_StateTime <= tickTime)
	{
		EndState();
		return;
	}
	
	m_StateTime -= tickTime;
}

void CSpecialState::StartState(DWORD Time,WORD wParam1,WORD wParam2,float fParam3,WORD EffectNum,WORD StateIcon)
{
	if(m_StateTime <= Time)
		m_StateTime = Time;
	
	m_wParam1 = wParam1;
	m_wParam2 = wParam2;
	m_fParam3 = fParam3;
	
#ifdef _MHCLIENT_
	m_StateIcon = StateIcon;
	if(m_StateIcon)
		STATUSICONDLG->AddIcon(m_pParent,StateIcon);
	if(m_EffectNum != EffectNum && m_Effect)
	{
		EFFECTMGR->ForcedEndEffect(m_Effect);
		m_Effect = NULL;
	}

	if(m_Effect == NULL)
	{
		m_Effect = EFFECTMGR->StartEffectProcess(EffectNum,m_pParent,0,0,0);
		m_EffectNum = EffectNum;
	}
#endif
}

void CSpecialState::EndState()
{
	m_StateTime = 0;
	m_wParam1 = 0;
	m_wParam2 = 0;
	m_fParam3 = 0;

#ifdef _MHCLIENT_
	if(m_StateIcon)
		STATUSICONDLG->RemoveIcon(m_pParent,m_StateIcon);
	if(m_Effect != NULL)
	{
		EFFECTMGR->ForcedEndEffect(m_Effect);
		m_Effect = NULL;
	}
#endif
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -