本文整理汇总了C++中idBitMsg::ReadDir方法的典型用法代码示例。如果您正苦于以下问题:C++ idBitMsg::ReadDir方法的具体用法?C++ idBitMsg::ReadDir怎么用?C++ idBitMsg::ReadDir使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类idBitMsg
的用法示例。
在下文中一共展示了idBitMsg::ReadDir方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ClientReceiveEvent
/*
================
sdClientProjectile::ClientReceiveEvent
================
*/
bool sdClientProjectile::ClientReceiveEvent( const idVec3 &origin, int event, int time, const idBitMsg &msg ) {
if ( sdClientEntity::ClientReceiveEvent( origin, event, time, msg ) ) {
return true;
}
switch( event ) {
case EVENT_COLLIDE: {
trace_t collision;
idVec3 velocity;
int index;
memset( &collision, 0, sizeof( collision ) );
collision.endpos = collision.c.point = origin;
collision.c.normal = msg.ReadDir( 24 );
collision.endAxis = collision.c.normal.ToMat3();
index = msg.ReadShort();
if ( index >= -1 && index < declManager->GetNumMaterials() ) {
if ( index != -1 ) {
collision.c.material = declManager->MaterialByIndex( index, false );
}
}
velocity[0] = msg.ReadFloat( 5, 10 );
velocity[1] = msg.ReadFloat( 5, 10 );
velocity[2] = msg.ReadFloat( 5, 10 );
Collide( collision, velocity );
return true;
}
default: {
return false;
}
}
}