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

📄 damageeffectunitdesc.cpp

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

#include "stdafx.h"
#include "DamageEffectUnitDesc.h"
#include "DamageEffectUnit.h"

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

CMemoryPoolTempl<CDamageEffectUnit>* CDamageEffectUnitDesc::m_pUnitPool = NULL;

CDamageEffectUnitDesc::CDamageEffectUnitDesc(BOOL bDangledToOperator)
: CEffectUnitDesc(eEffectUnit_Damage,bDangledToOperator)
{
	if(m_pUnitPool == NULL)
	{
		m_pUnitPool = new CMemoryPoolTempl<CDamageEffectUnit>;
		m_pUnitPool->Init(50,5,"CDamageEffectUnit");
	}
	m_DamageRate = 1;
	m_FadeDuration = 1000;
	m_DamageKind = eDamageKind_Front;
}

CDamageEffectUnitDesc::~CDamageEffectUnitDesc()
{
	if(m_pUnitPool)
	{
		m_pUnitPool->Release();
		delete m_pUnitPool;
		m_pUnitPool = NULL;
	}
}

void CDamageEffectUnitDesc::DoParseScript(char* szKey,CMHFile* pFile)
{
	CMD_ST(szKey);
		CMD_CS("#DURATION")
			m_FadeDuration = pFile->GetDword();
			
		CMD_CS("#PERCENT")
			m_DamageRate = pFile->GetFloat() * 0.01f;
			
		CMD_CS("#DAMAGEKIND")
			char* strKind = pFile->GetString();
			m_DamageKind = atoi(strKind);
			if(m_DamageKind == 0)	// 臂磊肺 结初篮 版快
			{
				if(strcmp(strKind,"FRONT")==0)
					m_DamageKind = eDamageKind_Front;
				else if(strcmp(strKind,"LEFT")==0)
					m_DamageKind = eDamageKind_Left;
				else if(strcmp(strKind,"RIGHT")==0)
					m_DamageKind = eDamageKind_Right;
				else
					ASSERT(0);
			}
			/*
		CMD_CS("#RANGEKIND")
			char* strKind = pFile->GetString();
			m_RangeKind = atoi(strKind);
			strupr(strKind);
			if(m_RangeKind == 0)	// 臂磊肺 结初篮 版快
			{
				if(strcmp(strKind,"SAMETIME")==0)
					m_RangeKind = eRangeDamageKind_SameTime;
				else if(strcmp(strKind,"FRONTTOBACK")==0)
					m_RangeKind = eRangeDamageKind_FrontToBack;
				else if(strcmp(strKind,"LEFTTORIGHT")==0)
					m_RangeKind = eRangeDamageKind_LeftToRight;
				else if(strcmp(strKind,"RIGHTTOLEFT")==0)
					m_RangeKind = eRangeDamageKind_RightToLeft;
				else if(strcmp(strKind,"CENTERTOEDGE")==0)
					m_RangeKind = eRangeDamageKind_CenterToEdge;
				else
					ASSERT(0);
			}
			*/

	CMD_EN
}

CEffectUnit* CDamageEffectUnitDesc::GetEffectUnit(EFFECTPARAM* pEffectParam)
{
	CDamageEffectUnit* pEffectUnit = m_pUnitPool->Alloc();
	pEffectUnit->Initialize(this,pEffectParam);
	
	return pEffectUnit;
}

⌨️ 快捷键说明

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