MCPcopy Create free account
hub / github.com/Panzerschrek/Chasm-Reverse / ProcessMessage

Method ProcessMessage

PanzerChasm/client/map_state.cpp:428–456  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

426}
427
428void MapState::ProcessMessage( const Messages::MonsterState& message )
429{
430 const auto it= monsters_.find( message.monster_id );
431 if( it == monsters_.end() )
432 return;
433
434 if( message.monster_type >= game_resources_->monsters_models.size() )
435 return;
436 const Model& model= game_resources_->monsters_models[ message.monster_type ];
437
438 Monster& monster= it->second;
439
440 MessagePositionToPosition( message.xyz, monster.pos );
441 monster.angle= MessageAngleToAngle( message.angle );
442 monster.monster_id= message.monster_type;
443 monster.body_parts_mask= message.body_parts_mask;
444 monster.is_fully_dead= message.is_fully_dead;
445 monster.is_invisible= message.is_invisible;
446 monster.color= message.color;
447
448 monster.animation= 0u;
449 monster.animation_frame= 0u;
450 if( message.animation < model.animations.size() )
451 {
452 monster.animation= message.animation;
453 if( message.animation_frame < model.animations[ monster.animation ].frame_count )
454 monster.animation_frame= message.animation_frame;
455 }
456}
457
458void MapState::ProcessMessage( const Messages::WallPosition& message )
459{

Callers 3

operator()Method · 0.45
ClientClass · 0.45
operator()Method · 0.45

Calls 12

MessageAngleToAngleFunction · 0.85
MessageCoordToCoordFunction · 0.85
DynamicItemClass · 0.85
DirectedLightSourceClass · 0.85
RandMethod · 0.80
RandDirectionMethod · 0.80
RandValueMethod · 0.80
RandPointInSphereMethod · 0.80
MonsterClass · 0.70
RocketClass · 0.70
LightSourceClass · 0.70

Tested by

no test coverage detected