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

📄 engineeffect.cpp

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

#include "stdafx.h"
#include "EngineEffect.h"
#include "GraphicEngine.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
 
CEngineEffect::CEngineEffect()
{
	m_ObjectName[0] = 0;
}

CEngineEffect::~CEngineEffect() 
{
	Release();
}

BOOL CEngineEffect::Init(char* filename,CObjectBase* pObject,BYTE EngineObjectType,WORD StartFrame,WORD EndFrame)
{
	Release();
	
	m_NotProcessedAnimateKey = 0;
	m_bMotionPause = FALSE;
	m_pObject = pObject;

	DIRECTORYMGR->SetLoadMode(eLM_Effect);

	//////////////////////////////////////////////////////////////////////////
	// 烙矫 汲沥
	PreLoadObject(filename);
	//////////////////////////////////////////////////////////////////////////
	

	m_GXOHandle = GetObjectHandle(filename,MHEffectPROC,this,GXOBJECT_CREATE_TYPE_EFFECT);
	strcpy(m_ObjectName,filename);

	if(m_GXOHandle == NULL)
	{
		FILE* fp = fopen("MissedObjectList.txt","a+");
		if(fp)
		{
			fprintf(fp,"%s\n",filename);
			fclose(fp);
		}
		DIRECTORYMGR->SetLoadMode(eLM_Root);
		return FALSE;
	}
	
	m_AniInfo = m_staAniMgr.GetAniInfoObj(filename,m_GXOHandle,StartFrame,EndFrame);

	DIRECTORYMGR->SetLoadMode(eLM_Root);

	ChangeCustumMotion(1,StartFrame,EndFrame,TRUE);

	DisablePick();
	if(m_pObject)
	{
		m_pObject->m_EngineObjectType = EngineObjectType;
		if(m_pObject->GetEngineObjectType() == eEngineObjectType_SkillObject)
			EnablePick();
	}

	return TRUE;
}

void CEngineEffect::Release()
{
	CEngineObject::Release();
}

DWORD __stdcall MHEffectPROC(I4DyuchiGXExecutive* pExecutive, GXMAP_OBJECT_HANDLE gxh, DWORD msg, int arg1, int arg2, void* pData)
{
	CEngineEffect* pObject = (CEngineEffect*)pData;
	if(pObject == NULL)
		return 0;
	if(pObject->IsInited() == FALSE)
		return 0;
	
	pObject->Animate(arg1);
	if(pObject->IsEndMotion() && pObject->IsRepeat() == FALSE)
	{
		pObject->Hide();
	}


	return 0;
}

⌨️ 快捷键说明

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