本文整理汇总了C++中bf_read::ReadBitVec3Coord方法的典型用法代码示例。如果您正苦于以下问题:C++ bf_read::ReadBitVec3Coord方法的具体用法?C++ bf_read::ReadBitVec3Coord怎么用?C++ bf_read::ReadBitVec3Coord使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类bf_read
的用法示例。
在下文中一共展示了bf_read::ReadBitVec3Coord方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: MsgFunc_Damage
//-----------------------------------------------------------------------------
// Purpose: Message handler for Damage message
//-----------------------------------------------------------------------------
void CHudDamageIndicator::MsgFunc_Damage( bf_read &msg )
{
int damageTaken = msg.ReadByte();
Vector vecFrom;
msg.ReadBitVec3Coord( vecFrom );
if ( damageTaken > 0 )
{
m_flFadeCompleteTime = gpGlobals->curtime + 1.0;
CalcDamageDirection( vecFrom );
}
}
示例2: ReceiveMessage
//-----------------------------------------------------------------------------
// Purpose:
// Input : length -
// *data -
// Output : void
//-----------------------------------------------------------------------------
void ReceiveMessage( int classID, bf_read &msg )
{
if ( classID != GetClientClass()->m_ClassID )
{
// message is for subclass
BaseClass::ReceiveMessage( classID, msg );
return;
}
int messageType = msg.ReadByte();
switch( messageType )
{
case GUNSHIP_MSG_STREAKS:
{
Vector pos;
msg.ReadBitVec3Coord( pos );
m_cannonFX.SetRenderOrigin( pos );
m_cannonFX.EffectInit( entindex(), LookupAttachment( "BellyGun" ) );
m_cannonFX.LimitTime( GUNSHIPFX_BIG_SHOT_TIME );
}
break;
case GUNSHIP_MSG_BIG_SHOT:
{
Vector tmp;
msg.ReadBitVec3Coord( tmp );
m_cannonFX.SetTime( GUNSHIPFX_BIG_SHOT_TIME );
m_cannonFX.LimitTime( 0 );
}
break;
case GUNSHIP_MSG_DEAD:
{
m_cannonFX.EffectShutdown();
}
break;
}
}
示例3: ReceiveMessage
void C_WalkerStrider::ReceiveMessage( int classID, bf_read &msg )
{
if ( classID != GetClientClass()->m_ClassID )
{
// message is for subclass
BaseClass::ReceiveMessage( classID, msg );
return;
}
Vector vHitPos;
msg.ReadBitVec3Coord( vHitPos );
CStriderBeamEffect eff;
eff.m_vHitPos = vHitPos;
eff.m_flStartTime = gpGlobals->curtime;
m_BeamEffects.AddToTail( eff );
}
示例4: ReceiveMessage
void C_QUA_Strider::ReceiveMessage( int classID, bf_read &msg )
{
if ( classID != GetClientClass()->m_ClassID )
{
// message is for subclass
BaseClass::ReceiveMessage( classID, msg );
return;
}
int messageType = msg.ReadByte();
switch( messageType )
{
case STRIDER_MSG_STREAKS:
{
Vector pos;
msg.ReadBitVec3Coord( pos );
m_cannonFX.SetRenderOrigin( pos );
m_cannonFX.EffectInit( entindex(), LookupAttachment( "BigGun" ) );
m_cannonFX.LimitTime( STRIDERFX_BIG_SHOT_TIME );
}
break;
case STRIDER_MSG_BIG_SHOT:
{
Vector tmp;
msg.ReadBitVec3Coord( tmp );
m_cannonFX.SetTime( STRIDERFX_BIG_SHOT_TIME );
m_cannonFX.LimitTime( STRIDERFX_END_ALL_TIME );
}
break;
case STRIDER_MSG_DEAD:
{
m_cannonFX.EffectShutdown();
}
break;
case STRIDER_MSG_MACHINEGUN:
{
// Necesario en MP, porque si no no se ven las balas.
Vector muz,dir,spr;
msg.ReadBitVec3Coord( muz );
msg.ReadBitVec3Coord( dir );
msg.ReadBitVec3Coord( spr );
int ammo = msg.ReadByte();
//Warning("x: %f,x: %f,x: %f,ammo: %i",muz.x,dir.x,spr.x,ammo);
FireBulletsInfo_t info;
info.m_iShots = 1;
info.m_vecSrc = muz;
info.m_vecDirShooting = dir;
info.m_vecSpread = spr;
info.m_pAttacker = (C_BaseEntity *) m_hPlayer;
info.m_flDistance = MAX_TRACE_LENGTH;
info.m_iAmmoType = ammo;
info.m_flDamage = 75;
info.m_iPlayerDamage = 150;
info.m_iTracerFreq = 1;
FireBullets(info);
CEffectData data;
data.m_nAttachmentIndex = LookupAttachment( "MiniGun" );
data.m_hEntity = entindex();
DispatchEffect("QUA_StriderMuzzleFlash",data );
}
}
}
示例5: HandleMessage
//.........这里部分代码省略.........
{
int ent = msg.ReadUBitLong(MAX_EDICT_BITS);
printf("Received svc_SetView, ent: %i\n", ent);
return true;
}
if (type == 19)//svc_FixAngle
{
int relative = msg.ReadOneBit();
float x = msg.ReadBitAngle(16);
float y = msg.ReadBitAngle(16);
float z = msg.ReadBitAngle(16);
printf("Received svc_FixAngle, x:%f y: %f z: %f | relative: %i\n", x, y, z, relative);
return true;
}
if (type == 20)//svc_CrosshairAngle
{
int p = msg.ReadUBitLong(16);
int y = msg.ReadUBitLong(16);
int r = msg.ReadUBitLong(16);
printf("Received svc_CrosshairAngle p: %d y: %d r: %d\n", p, y, r);
}
if (type == 21)//svc_BSPDecal
{
Vector vec;
msg.ReadBitVec3Coord(vec);
int texture = msg.ReadUBitLong(9);
int useentity = msg.ReadOneBit();
int ent = 0;
int modulation = 0;
if (useentity == 1)
{
ent = msg.ReadUBitLong(MAX_EDICT_BITS);
modulation = msg.ReadUBitLong(12);//fix me
}
int lowpriority = msg.ReadOneBit();
printf("Received svc_BSPDecal: pos: %f:%f:%f | tex: %i | useent: %i\n", vec.x, vec.y, vec.z, texture, useentity);
return true;
}
if (type == 23)//svc_UserMessage
{
int msgtype = msg.ReadByte();
int bits = msg.ReadUBitLong(MAX_USERMESSAGE_BITS);
if (bits < 1)
return true;
char* data = new char[bits];