effecttriggercamerashakeunitdesc.cpp

来自「墨香完整原代码 C++ 值得研究 可以编译」· C++ 代码 · 共 71 行

CPP
71
字号
// EffectTriggerEarthQuakeUnitDesc.cpp: implementation of the CEffectTriggerCameraShakeUnitDesc class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "EffectTriggerCameraShakeUnitDesc.h"

#include "..\MHCamera.h"
#include "..\MHCameraDefine.h"
#include "..\ObjectManager.h"

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

CEffectTriggerCameraShakeUnitDesc::CEffectTriggerCameraShakeUnitDesc(DWORD dwTime,DWORD dwUnitNum)
:	CEffectTriggerUnitDesc(dwTime,dwUnitNum)
{
	m_ShakeNum = 1;
	m_Amplitude = 1;
}

CEffectTriggerCameraShakeUnitDesc::~CEffectTriggerCameraShakeUnitDesc()
{

}


void CEffectTriggerCameraShakeUnitDesc::ParseScript(CMHFile* pFile)
{
	char buf[128];
	pFile->GetString(buf);	// skip  '{'
	if(buf[0] != '{')
	{
		ERRORBSGBOX("ERROR[%s]!! { } 啊 鞘夸茄 飘府芭涝聪促!!!",pFile->GetFileName());
		return;
	}

	while(1)
	{
		pFile->GetString(buf);
		CMD_ST(buf)
			CMD_CS("}")
				break;
			CMD_CS("#SHAKE")
				char* strKind = pFile->GetString();
				m_ShakeNum = atoi(strKind);
				if(m_ShakeNum == 0)	// 臂磊肺 结初篮 版快
				{
					if(strcmp(strKind,"EARTHQUAKE")==0)
						m_ShakeNum = eCSD_Earthquake;
					else if(strcmp(strKind,"VIBRATION")==0)
						m_ShakeNum = eCSD_Vibration;
					else
						ASSERT(0);
				}
			CMD_CS("#AMP")
				m_Amplitude = pFile->GetFloat();
		CMD_EN
	}
	
}
BOOL CEffectTriggerCameraShakeUnitDesc::Operate(CEffect* pEffect)
{	
	if((pEffect->GetEffectFlag() & EFFECT_FLAG_HEROATTACK) == FALSE)
		return TRUE;

	CAMERA->SetShaking(m_ShakeNum,m_Amplitude);
	return TRUE;
}

⌨️ 快捷键说明

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