当前位置: 首页>>代码示例>>C++>>正文


C++ CServerDE::WriteToMessageVector方法代码示例

本文整理汇总了C++中CServerDE::WriteToMessageVector方法的典型用法代码示例。如果您正苦于以下问题:C++ CServerDE::WriteToMessageVector方法的具体用法?C++ CServerDE::WriteToMessageVector怎么用?C++ CServerDE::WriteToMessageVector使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CServerDE的用法示例。


在下文中一共展示了CServerDE::WriteToMessageVector方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: Save

void Rotating::Save(HMESSAGEWRITE hWrite, DDWORD dwSaveFlags)
{
	CServerDE* pServerDE = BaseClass::GetServerDE();
	if (!pServerDE || !hWrite) return;

	DFLOAT fTime = pServerDE->GetTime();

	pServerDE->WriteToLoadSaveMessageObject(hWrite, m_hObject);
	pServerDE->WriteToMessageVector(hWrite, &m_vVelocity);
	pServerDE->WriteToMessageVector(hWrite, &m_vSaveVelocity);
	pServerDE->WriteToMessageVector(hWrite, &m_vSign);
	pServerDE->WriteToMessageVector(hWrite, &m_vSpinUpTime);
	pServerDE->WriteToMessageVector(hWrite, &m_vSpinDownTime);
	pServerDE->WriteToMessageVector(hWrite, &m_vSpinTimeLeft);

	pServerDE->WriteToMessageFloat(hWrite, m_fLastTime - fTime);
	pServerDE->WriteToMessageFloat(hWrite, m_fStartTime - fTime);
	pServerDE->WriteToMessageFloat(hWrite, m_fPitch);
	pServerDE->WriteToMessageFloat(hWrite, m_fYaw);
	pServerDE->WriteToMessageFloat(hWrite, m_fRoll);

	pServerDE->WriteToMessageDWord(hWrite, (DDWORD)m_eState);

	pServerDE->WriteToMessageHString(hWrite, m_hstrBusySound);
	pServerDE->WriteToMessageHString(hWrite, m_hstrSpinUpSound);
	pServerDE->WriteToMessageHString(hWrite, m_hstrSpinDownSound);
	pServerDE->WriteToMessageFloat(hWrite, m_fSoundRadius);
}
开发者ID:Arc0re,项目名称:lithtech,代码行数:28,代码来源:Rotating.cpp

示例2: SendEffectMessage

void Rain::SendEffectMessage()
{
    CServerDE* pServerDE = GetServerDE();
    if (!pServerDE) return;

    HMESSAGEWRITE hMessage = pServerDE->StartSpecialEffectMessage(this);
    pServerDE->WriteToMessageByte(hMessage, SFX_RAIN_ID);
    /*
    	if(m_fTimeLimit)	//SCHLEGZ 5/3/98 11:36:00 PM: remove object if the server object disappears (HACK!!)
    		pServerDE->WriteToMessageByte(hMessage, DFALSE);
    	else
    //pServerDE->WriteToMessageByte(hMessage, DTRUE);
    */
    pServerDE->WriteToMessageFloat(hMessage, (DFLOAT)m_dwFlags);
    pServerDE->WriteToMessageFloat(hMessage, m_fDensity);
    pServerDE->WriteToMessageFloat(hMessage, m_fLifetime);
    pServerDE->WriteToMessageByte(hMessage, (DBYTE)m_bGravity);
    pServerDE->WriteToMessageFloat(hMessage, m_fParticleScale);
    pServerDE->WriteToMessageFloat(hMessage, m_fSpread);
    pServerDE->WriteToMessageVector(hMessage, &m_vDims);
    pServerDE->WriteToMessageVector(hMessage, &m_vDirection);
    pServerDE->WriteToMessageVector(hMessage, &m_vColor1);
    pServerDE->WriteToMessageVector(hMessage, &m_vColor2);
    pServerDE->WriteToMessageFloat(hMessage, m_fTimeLimit);
    pServerDE->WriteToMessageFloat(hMessage, m_fPulse);
    pServerDE->EndMessage(hMessage);
}
开发者ID:jordandavidson,项目名称:lithtech,代码行数:27,代码来源:Rain.cpp

示例3: SetupSprite

void CClientExplosionSFX::SetupSprite(DVector *vScale1, DVector *vScale2, DFLOAT fDuration,
					DFLOAT fInitAlpha, DBYTE bWaveForm, DBYTE bFade, DBOOL bAlign, char *szSprite)
{
	CServerDE* pServerDE = GetServerDE();
	if (!pServerDE) return;

	HSTRING		hszSprite;

	if(szSprite)	hszSprite = pServerDE->CreateString(szSprite);
		else		hszSprite = pServerDE->CreateString("Sprites\\Explode128.spr");

	// Tell the clients about the Explosion...
	HMESSAGEWRITE hMessage = pServerDE->StartInstantSpecialEffectMessage(&m_vPos);
	pServerDE->WriteToMessageByte(hMessage, SFX_EXPLOSIONSPRITE_ID);
//	pServerDE->WriteToMessageByte(hMessage, DFALSE);

	pServerDE->WriteToMessageVector(hMessage, &m_vPos);
	pServerDE->WriteToMessageVector(hMessage, &m_vNormal);

	pServerDE->WriteToMessageVector(hMessage, vScale1);
	pServerDE->WriteToMessageVector(hMessage, vScale2);
	pServerDE->WriteToMessageFloat(hMessage, fDuration);
	pServerDE->WriteToMessageFloat(hMessage, fInitAlpha);
	pServerDE->WriteToMessageByte(hMessage, bWaveForm);
	pServerDE->WriteToMessageByte(hMessage, bFade);
	pServerDE->WriteToMessageByte(hMessage, bAlign);
	pServerDE->WriteToMessageHString(hMessage, hszSprite);

	pServerDE->EndMessage(hMessage);

	pServerDE->FreeString( hszSprite );

}
开发者ID:Arc0re,项目名称:lithtech,代码行数:33,代码来源:ClientExplosionSFX.cpp

示例4: SetupFX

void CClientExplosionSFX::SetupFX(DVector *vPos, DVector *vNormal, DDWORD nType)
{
	CServerDE* pServerDE = GetServerDE();
	if (!pServerDE) return;

	HMESSAGEWRITE hMessage = pServerDE->StartInstantSpecialEffectMessage(&m_vPos);
	pServerDE->WriteToMessageByte(hMessage, SFX_EXPLOSIONFX_ID);

	pServerDE->WriteToMessageVector(hMessage, vPos);
	pServerDE->WriteToMessageVector(hMessage, vNormal);
	pServerDE->WriteToMessageDWord(hMessage, nType);

	pServerDE->EndMessage(hMessage);
}
开发者ID:Arc0re,项目名称:lithtech,代码行数:14,代码来源:ClientExplosionSFX.cpp

示例5: Save

void CClientExplosionSFX::Save(HMESSAGEWRITE hWrite, DDWORD dwSaveFlags)
{
	CServerDE* pServerDE = BaseClass::GetServerDE();
	if (!pServerDE || !hWrite) return;

	pServerDE->WriteToMessageVector(hWrite, &m_vPos);
	pServerDE->WriteToMessageVector(hWrite, &m_vNormal);
	pServerDE->WriteToMessageFloat(hWrite, m_fOffset);
	pServerDE->WriteToMessageFloat(hWrite, m_fDamage);
	pServerDE->WriteToMessageFloat(hWrite, m_fDamageRadius);
	pServerDE->WriteToMessageDWord(hWrite, m_nType);
	pServerDE->WriteToMessageHString(hWrite, m_hstrSound);
	pServerDE->WriteToMessageByte(hWrite, m_bTriggered);
}
开发者ID:Arc0re,项目名称:lithtech,代码行数:14,代码来源:ClientExplosionSFX.cpp

示例6: InitialUpdate

void ParticleSystem::InitialUpdate(DVector *pMovement)
{
	CServerDE* pServerDE = GetServerDE();
	if (!pServerDE) return;

	// Tell the clients about the ParticleSystem, and remove thyself...

	HMESSAGEWRITE hMessage = pServerDE->StartSpecialEffectMessage(this);
//	pServerDE->WriteToMessageByte(hMessage, SFX_PARTICLESYSTEM_ID | (( m_bStatic ) ? SFX_STATIC : 0 ));
	pServerDE->WriteToMessageByte(hMessage, SFX_PARTICLESYSTEM_ID);
//pServerDE->WriteToMessageByte(hMessage, m_bStatic);
	pServerDE->WriteToMessageVector(hMessage, &m_vColor1);
	pServerDE->WriteToMessageVector(hMessage, &m_vColor2);
	pServerDE->WriteToMessageFloat(hMessage, (DFLOAT)m_dwFlags);
	pServerDE->WriteToMessageFloat(hMessage, m_fBurstWait);
	pServerDE->WriteToMessageFloat(hMessage, m_fParticlesPerSecond);
	pServerDE->WriteToMessageFloat(hMessage, m_fEmissionRadius);
	pServerDE->WriteToMessageFloat(hMessage, m_fMinimumVelocity);
	pServerDE->WriteToMessageFloat(hMessage, m_fMaximumVelocity);
	pServerDE->WriteToMessageFloat(hMessage, m_fVelocityOffset);
	pServerDE->WriteToMessageFloat(hMessage, m_fParticleLifetime);
	pServerDE->WriteToMessageFloat(hMessage, m_fRadius);
	pServerDE->WriteToMessageFloat(hMessage, m_fGravity);
	pServerDE->WriteToMessageFloat(hMessage, m_fRotationVelocity);
	pServerDE->WriteToMessageHString(hMessage, m_hstrTextureName);
	pServerDE->EndMessage(hMessage);
}
开发者ID:Arc0re,项目名称:lithtech,代码行数:27,代码来源:ParticleSystem.cpp

示例7: SendEffectMessage

void ClientLightFX::SendEffectMessage()
{
	CServerDE* pServerDE = GetServerDE();
	if (!pServerDE) return;

	HMESSAGEWRITE hMessage = pServerDE->StartSpecialEffectMessage(this);
	pServerDE->WriteToMessageByte(hMessage, SFX_LIGHT_ID);

	pServerDE->WriteToMessageVector(hMessage, &m_vColor);
	pServerDE->WriteToMessageDWord(hMessage, m_dwLightFlags);
	pServerDE->WriteToMessageFloat(hMessage, m_fIntensityMin);
	pServerDE->WriteToMessageFloat(hMessage, m_fIntensityMax);
	pServerDE->WriteToMessageByte(hMessage, m_nIntensityWaveform);
	pServerDE->WriteToMessageFloat(hMessage, m_fIntensityFreq);
	pServerDE->WriteToMessageFloat(hMessage, m_fIntensityPhase);
	pServerDE->WriteToMessageFloat(hMessage, m_fRadiusMin);
	pServerDE->WriteToMessageFloat(hMessage, m_fRadiusMax);
	pServerDE->WriteToMessageByte(hMessage, m_nRadiusWaveform);
	pServerDE->WriteToMessageFloat(hMessage, m_fRadiusFreq);
	pServerDE->WriteToMessageFloat(hMessage, m_fRadiusPhase);
	pServerDE->WriteToMessageHString(hMessage, m_hstrRampUpSound);
	pServerDE->WriteToMessageHString(hMessage, m_hstrRampDownSound);

	pServerDE->EndMessage(hMessage);
}
开发者ID:Arc0re,项目名称:lithtech,代码行数:25,代码来源:ClientLightFX.cpp

示例8: SetupFX

void CClientParticleStreamSFX::SetupFX()
{
	CServerDE* pServerDE = GetServerDE();
	if (!pServerDE) return;

	HMESSAGEWRITE hMessage = pServerDE->StartSpecialEffectMessage(this);
	pServerDE->WriteToMessageByte(hMessage, SFX_PARTICLESTREAM_ID);

	pServerDE->WriteToMessageFloat(hMessage, fRadius);
	pServerDE->WriteToMessageFloat(hMessage, fPosRadius);
	pServerDE->WriteToMessageFloat(hMessage, fMinVel);
	pServerDE->WriteToMessageFloat(hMessage, fMaxVel);
	pServerDE->WriteToMessageDWord(hMessage, nNumParticles);
	pServerDE->WriteToMessageFloat(hMessage, fSpread);
	pServerDE->WriteToMessageVector(hMessage, &vColor1);
	pServerDE->WriteToMessageVector(hMessage, &vColor2);
	pServerDE->WriteToMessageFloat(hMessage, fAlpha);
	pServerDE->WriteToMessageFloat(hMessage, fMinLife);
	pServerDE->WriteToMessageFloat(hMessage, fMaxLife);
	pServerDE->WriteToMessageFloat(hMessage, fRampTime);
	pServerDE->WriteToMessageFloat(hMessage, fDelay);
	pServerDE->WriteToMessageFloat(hMessage, fGravity);
	pServerDE->WriteToMessageByte(hMessage, bRampFlags);
	pServerDE->WriteToMessageByte(hMessage, bOn);
	pServerDE->WriteToMessageHString(hMessage, hstrTexture);
	pServerDE->WriteToMessageFloat(hMessage, fSoundRadius);
	pServerDE->WriteToMessageHString(hMessage, hstrSound1);
	pServerDE->WriteToMessageHString(hMessage, hstrSound2);
	pServerDE->WriteToMessageHString(hMessage, hstrSound3);

	pServerDE->EndMessage(hMessage);
}
开发者ID:bsmr-games,项目名称:Blood2,代码行数:32,代码来源:ClientParticleStreamSFX.cpp

示例9: Save

void VolumeBrush::Save(HMESSAGEWRITE hWrite, DDWORD dwSaveFlags)
{
    CServerDE* pServerDE = GetServerDE();
    if (!pServerDE || !hWrite) return;

    DFLOAT fTime = pServerDE->GetTime();

//	pServerDE->WriteToLoadSaveMessageObject(hWrite, m_hSurfaceObj);

    pServerDE->WriteToMessageFloat(hWrite, m_fViscosity);
    pServerDE->WriteToMessageByte(hWrite, (DBYTE)m_eContainerCode);
    pServerDE->WriteToMessageVector(hWrite, &m_vCurrent);
    pServerDE->WriteToMessageFloat(hWrite, m_fDamage);
    pServerDE->WriteToMessageByte(hWrite, m_nDamageType);

    pServerDE->WriteToMessageFloat(hWrite, m_fSurfaceHeight);
    pServerDE->WriteToMessageByte(hWrite, m_bShowSurface);
    pServerDE->WriteToMessageVector(hWrite, &m_vSurfaceColor1);
    pServerDE->WriteToMessageVector(hWrite, &m_vSurfaceColor2);

    pServerDE->WriteToMessageVector(hWrite, &m_vLastPos);
    pServerDE->WriteToMessageByte(hWrite, m_bHidden);
    pServerDE->WriteToMessageFloat(hWrite, m_fGravity);
    pServerDE->WriteToMessageFloat(hWrite, (m_fLastDamageTime - fTime));
    pServerDE->WriteToMessageFloat(hWrite, m_fXScaleMin);

    pServerDE->WriteToMessageFloat(hWrite, m_fXScaleMax);
    pServerDE->WriteToMessageFloat(hWrite, m_fYScaleMin);
    pServerDE->WriteToMessageFloat(hWrite, m_fYScaleMax);
    pServerDE->WriteToMessageFloat(hWrite, m_fXScaleDuration);
    pServerDE->WriteToMessageFloat(hWrite, m_fYScaleDuration);

    pServerDE->WriteToMessageHString(hWrite, m_hstrSurfaceSprite);
    pServerDE->WriteToMessageDWord(hWrite, m_dwFlags);
    pServerDE->WriteToMessageDWord(hWrite, m_dwSaveFlags);
//		HOBJECT			m_hSurfaceObj;
    pServerDE->WriteToMessageByte(hWrite, m_bLocked);
    pServerDE->WriteToMessageByte(hWrite, m_bUnlockKeyRemove);
    pServerDE->WriteToMessageHString(hWrite, m_hstrKeyName);

    pServerDE->WriteToMessageByte(hWrite, m_bFogEnable);
    pServerDE->WriteToMessageFloat(hWrite, m_fFogFarZ);
    pServerDE->WriteToMessageFloat(hWrite, m_fFogNearZ);
    pServerDE->WriteToMessageVector(hWrite, &m_vFogColor);
    pServerDE->WriteToMessageFloat(hWrite, m_fSurfaceAlpha);
    pServerDE->WriteToMessageDWord(hWrite, m_dwNumSurfacePolies);
}
开发者ID:jordandavidson,项目名称:lithtech,代码行数:47,代码来源:VolumeBrush.cpp

示例10: Save

void CDestructable::Save(HMESSAGEWRITE hWrite, DDWORD dwSaveFlags)
{
	CServerDE* pServerDE = BaseClass::GetServerDE();
	if (!pServerDE || !hWrite) return;
	pServerDE->WriteToMessageDWord(hWrite, 0xcececece);

	pServerDE->WriteToLoadSaveMessageObject(hWrite, m_hObject);
	pServerDE->WriteToMessageByte(hWrite, (DBYTE)m_bApplyDamagePhysics);
	pServerDE->WriteToMessageFloat(hWrite, m_fMass);
	pServerDE->WriteToMessageFloat(hWrite, m_fMaxHitPoints);
	pServerDE->WriteToMessageFloat(hWrite, m_fMaxMegaHitPoints);
	if( m_bDestructable )
		pServerDE->WriteToMessageFloat(hWrite, m_fHitPoints);
	else
		pServerDE->WriteToMessageFloat( hWrite, 1.0e6f );
	pServerDE->WriteToMessageFloat(hWrite, m_fDeathHitPoints);

	pServerDE->WriteToMessageFloat(hWrite, m_fMaxArmorPoints);
	pServerDE->WriteToMessageFloat(hWrite, m_fMaxNecroArmorPoints);
	pServerDE->WriteToMessageFloat(hWrite, m_fArmorPoints);
	pServerDE->WriteToMessageFloat(hWrite, m_fResistance);
	pServerDE->WriteToMessageByte(hWrite, (DBYTE)m_bDead);
	pServerDE->WriteToMessageByte(hWrite, (DBYTE)m_bNighInvulnerable);

	pServerDE->WriteToMessageByte(hWrite, m_nLastDamageType);
	pServerDE->WriteToMessageByte(hWrite, m_nLastDamageLocation);

	pServerDE->WriteToMessageVector(hWrite, &m_vLastDamageDirection);
	pServerDE->WriteToMessageFloat(hWrite, m_fLastDamageAmount);
	pServerDE->WriteToMessageFloat(hWrite, m_fLastDamagePercent);
	pServerDE->WriteToMessageHString(hWrite, m_hstrDamageTriggerTarget);
	pServerDE->WriteToMessageHString(hWrite, m_hstrDamageTriggerMessage);
	pServerDE->WriteToMessageHString(hWrite, m_hstrDeathTriggerTarget);
	pServerDE->WriteToMessageHString(hWrite, m_hstrDeathTriggerMessage);

	pServerDE->WriteToMessageHString(hWrite, m_hstrSpawnObject);
	pServerDE->WriteToMessageVector(hWrite, &m_vSpawnObjectVel);

	pServerDE->WriteToMessageByte(hWrite, m_bGodMode);
	pServerDE->WriteToMessageByte(hWrite, m_bTriggerOnly);

	pServerDE->WriteToMessageFloat(hWrite, m_fDeathDelay);

	pServerDE->WriteToMessageDWord(hWrite, 0xcececece);
}
开发者ID:bsmr-games,项目名称:Blood2,代码行数:45,代码来源:Destructable.cpp

示例11: Save

void PathListData::Save(HMESSAGEWRITE hWrite)
{
	CServerDE* pServerDE = BaseClass::GetServerDE();
	if (!pServerDE || !hWrite) return;

	pServerDE->WriteToMessageVector(hWrite, &m_vPos);
	pServerDE->WriteToMessageHString(hWrite, m_hstrName);
	pServerDE->WriteToMessageHString(hWrite, m_hstrActionTarget);
	pServerDE->WriteToMessageHString(hWrite, m_hstrActionMessage);
}
开发者ID:Arc0re,项目名称:lithtech,代码行数:10,代码来源:PathListData.cpp

示例12: Save

void Rain::Save(HMESSAGEWRITE hWrite, DDWORD dwSaveFlags)
{
    CServerDE* pServerDE = GetServerDE();
    if (!pServerDE || !hWrite) return;

    pServerDE->WriteToMessageDWord(hWrite, m_dwFlags);
    pServerDE->WriteToMessageFloat(hWrite, m_fDensity);
    pServerDE->WriteToMessageFloat(hWrite, m_fLifetime);
    pServerDE->WriteToMessageByte(hWrite, m_bGravity);
    pServerDE->WriteToMessageFloat(hWrite, m_fParticleScale);
    pServerDE->WriteToMessageFloat(hWrite, m_fSpread);
    pServerDE->WriteToMessageByte(hWrite, m_bTriggered);
    pServerDE->WriteToMessageVector(hWrite, &m_vDims);
    pServerDE->WriteToMessageVector(hWrite, &m_vDirection);
    pServerDE->WriteToMessageVector(hWrite, &m_vColor1);
    pServerDE->WriteToMessageVector(hWrite, &m_vColor2);
    pServerDE->WriteToMessageFloat(hWrite, m_fTimeLimit);
    pServerDE->WriteToMessageFloat(hWrite, m_fPulse);
}
开发者ID:jordandavidson,项目名称:lithtech,代码行数:19,代码来源:Rain.cpp

示例13: Save

void CProjectile::Save(HMESSAGEWRITE hWrite, DDWORD dwSaveFlags)
{
	CServerDE* pServerDE = GetServerDE();
	if (!pServerDE || !hWrite) return;

	DFLOAT fTime = pServerDE->GetTime();

	pServerDE->WriteToMessageVector(hWrite, &m_vDir);
	pServerDE->WriteToMessageFloat(hWrite, m_fVelocity);
	pServerDE->WriteToMessageDWord(hWrite, m_dwFlags);

	pServerDE->WriteToMessageByte(hWrite, m_nDamageType);
//		HOBJECT			m_hFiredFrom;			// Who fired us?  Can't tell
	pServerDE->WriteToMessageDWord(hWrite, m_nRadius);
	pServerDE->WriteToMessageFloat(hWrite, m_fStartTime - fTime);
	pServerDE->WriteToMessageByte(hWrite, m_bRemoveFromWorld);
	pServerDE->WriteToMessageFloat(hWrite, m_fDamage);
	pServerDE->WriteToMessageFloat(hWrite, m_fLifeTime);
	pServerDE->WriteToMessageDWord(hWrite, m_nDamageMsgID);

//		DBOOL			m_bSmokeTrail;			// Do we generate a smoke trail

	pServerDE->WriteToMessageByte(hWrite, m_bShockwave);
	pServerDE->WriteToMessageByte(hWrite, m_bExplosion);
	pServerDE->WriteToMessageByte(hWrite, m_bSparks);
	pServerDE->WriteToMessageVector(hWrite, &m_vShockwaveScaleMin);
	pServerDE->WriteToMessageVector(hWrite, &m_vShockwaveScaleMax);
	pServerDE->WriteToMessageVector(hWrite, &m_vLightColor);
	pServerDE->WriteToMessageFloat(hWrite, m_fShockwaveDuration);
	pServerDE->WriteToMessageHString(hWrite,m_hstrShockwaveFilename);

	pServerDE->WriteToMessageVector(hWrite, &m_vDims);
	pServerDE->WriteToMessageByte(hWrite, m_bExplode);

	// Special members
	pServerDE->WriteToMessageVector(hWrite, &m_LastPos);
	pServerDE->WriteToMessageByte(hWrite, m_bArmed);
	pServerDE->WriteToMessageFloat(hWrite, m_fPitchVel);
	pServerDE->WriteToMessageFloat(hWrite, m_fYawVel);
	pServerDE->WriteToMessageFloat(hWrite, m_fPitch);
	pServerDE->WriteToMessageFloat(hWrite, m_fYaw);
}
开发者ID:Arc0re,项目名称:lithtech,代码行数:42,代码来源:Projectile.cpp

示例14: GetServerDE

void PolyGrid::	Setup(DVector* pvDims, DVector* pvColor1, DVector* pvColor2,
					  HSTRING hstrSurfaceSprite, DFLOAT fXScaleMin, DFLOAT fXScaleMax,
					  DFLOAT fYScaleMin, DFLOAT fYScaleMax, DFLOAT fXScaleDuration,
					  DFLOAT fYScaleDuration, DFLOAT fXPan, DFLOAT fYPan,
					  DFLOAT fAlpha, DDWORD dwNumPolies)
{
	D_WORD wColor1, wColor2;

	CServerDE* pServerDE = GetServerDE();
	if (!pServerDE || !pvDims || !pvColor1 || !pvColor2 || dwNumPolies < 4) return;

	VEC_COPY(m_vDims, *pvDims);
	pServerDE->SetObjectDims(m_hObject, pvDims);
	VEC_COPY(m_vColor1, *pvColor1);
	VEC_COPY(m_vColor2, *pvColor2);

	wColor1 = Color255VectorToWord( pvColor1 );
	wColor2 = Color255VectorToWord( pvColor2 );

	// Limit the number of polies to 32k...
	if ( dwNumPolies > 0x7FFF )
		dwNumPolies = 0x7FFF;

	HSTRING hstrSprite = hstrSurfaceSprite ? hstrSurfaceSprite : pServerDE->CreateString("");

	// Tell the clients about the polygrid...
	HMESSAGEWRITE hMessage = pServerDE->StartSpecialEffectMessage(this);
	pServerDE->WriteToMessageByte(hMessage, SFX_POLYGRID_ID);
	pServerDE->WriteToMessageVector(hMessage, &m_vDims);
	pServerDE->WriteToMessageWord(hMessage, wColor1);
	pServerDE->WriteToMessageWord(hMessage, wColor2);
	pServerDE->WriteToMessageFloat(hMessage, fXScaleMin);
	pServerDE->WriteToMessageFloat(hMessage, fXScaleMax);
	pServerDE->WriteToMessageFloat(hMessage, fYScaleMin);
	pServerDE->WriteToMessageFloat(hMessage, fYScaleMax);
	pServerDE->WriteToMessageFloat(hMessage, fXScaleDuration);
	pServerDE->WriteToMessageFloat(hMessage, fYScaleDuration);
	pServerDE->WriteToMessageFloat(hMessage, fXPan);
	pServerDE->WriteToMessageFloat(hMessage, fYPan);
	pServerDE->WriteToMessageFloat(hMessage, fAlpha);
	pServerDE->WriteToMessageHString(hMessage, hstrSprite);
	pServerDE->WriteToMessageWord(hMessage, (D_WORD)dwNumPolies);
	pServerDE->WriteToMessageByte(hMessage, m_nPlasmaType);
	pServerDE->WriteToMessageByte(hMessage, m_nRingRate[0]);
	pServerDE->WriteToMessageByte(hMessage, m_nRingRate[1]);
	pServerDE->WriteToMessageByte(hMessage, m_nRingRate[2]);
	pServerDE->WriteToMessageByte(hMessage, m_nRingRate[3]);
	pServerDE->EndMessage(hMessage);

	if (!hstrSurfaceSprite)
	{
		pServerDE->FreeString(hstrSprite);
	}
}
开发者ID:bsmr-games,项目名称:Blood2,代码行数:54,代码来源:PolyGrid.cpp

示例15: AddExplosion

void CProjectile::AddExplosion(DVector vPos, DVector vNormal)
{
	CServerDE* pServerDE = BaseClass::GetServerDE();
	if (!pServerDE) return;

	DDWORD		nType = EXP_GRENADE;
	DVector		vUp;
	VEC_SET(vUp, 0.0f, 1.0f, 0.0f);

	HMESSAGEWRITE hMessage = pServerDE->StartInstantSpecialEffectMessage(&vPos);
	pServerDE->WriteToMessageByte(hMessage, SFX_EXPLOSIONFX_ID);

	pServerDE->WriteToMessageVector(hMessage, &vPos);
	pServerDE->WriteToMessageVector(hMessage, &vUp);
	pServerDE->WriteToMessageDWord(hMessage, nType);

	pServerDE->EndMessage2(hMessage, MESSAGE_GUARANTEED | MESSAGE_NAGGLEFAST);

	PlaySoundFromPos(&vPos, "Sounds\\Weapons\\c4\\explosion_1.wav", 1000.0f, SOUNDPRIORITY_MISC_MEDIUM);
}
开发者ID:Arc0re,项目名称:lithtech,代码行数:20,代码来源:Projectile.cpp


注:本文中的CServerDE::WriteToMessageVector方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。