📄 clienttracer.cpp
字号:
// ----------------------------------------------------------------------- //
//
// MODULE : ClientTracer.cpp
//
// PURPOSE : ClientTracer - Implementation
//
// CREATED : 10/23/97
//
// ----------------------------------------------------------------------- //
#include "ClientTracer.h"
#include "cpp_server_de.h"
#include "SFXMsgIds.h"
BEGIN_CLASS(CClientTracer)
END_CLASS_DEFAULT_FLAGS(CClientTracer, CClientSFX, NULL, NULL, CF_HIDDEN)
// ----------------------------------------------------------------------- //
//
// ROUTINE: CClientTracer::Setup
//
// PURPOSE: Setup the tracer
//
// ----------------------------------------------------------------------- //
void CClientTracer::Setup(DVector *pvTo, HOBJECT hGun)
{
CServerDE* pServerDE = GetServerDE();
if (!pServerDE) return;
// Tell the clients about the tracer, and remove thyself...
HMESSAGEWRITE hMessage = pServerDE->StartSpecialEffectMessage(this);
pServerDE->WriteToMessageByte(hMessage, SFX_TRACER_ID);
//pServerDE->WriteToMessageByte(hMessage, DFALSE); // Static
pServerDE->WriteToMessageVector(hMessage, pvTo);
pServerDE->WriteToMessageObject(hMessage, hGun);
pServerDE->EndMessage(hMessage);
}
// ----------------------------------------------------------------------- //
//
// ROUTINE: CClientTracer::EngineMessageFn
//
// PURPOSE: Handle engine messages
//
// ----------------------------------------------------------------------- //
DDWORD CClientTracer::EngineMessageFn(DDWORD messageID, void *pData, DFLOAT fData)
{
CServerDE* pServerDE = GetServerDE();
if (!pServerDE) return 0;
switch(messageID)
{
case MID_INITIALUPDATE:
{
pServerDE->SetNextUpdate(m_hObject, 0.0001f);
break;
}
case MID_UPDATE:
{
pServerDE->RemoveObject(m_hObject);
break;
}
default : break;
}
return CClientSFX::EngineMessageFn(messageID, pData, fData);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -