📄 initsender.cc
字号:
}/*!//===================================================================//// CLASS: InitSenderOnlineCoachV7//// DESC: version 7 of the init protocol. Coaches now get server// parameters, player parameters and player types.////===================================================================*/ InitSenderOnlineCoachV7::InitSenderOnlineCoachV7( const Params& params ) : InitSenderOnlineCoachV6( params, boost::shared_ptr< rcss::InitSenderCommon >( new InitSenderCommonV7( params.m_transport, params.m_ser, params.m_stadium, (unsigned int)params.m_self.version ) ) ) {} InitSenderOnlineCoachV7::InitSenderOnlineCoachV7( const Params& params, const boost::shared_ptr< InitSenderCommon > common ) : InitSenderOnlineCoachV6( params, common ) {} InitSenderOnlineCoachV7::~InitSenderOnlineCoachV7() {} void InitSenderOnlineCoachV7::sendChangedPlayers() { for ( int i = 0; i < stadium().team_l->n; i++ ) { if ( stadium().team_l->player[i]->player_type_id != 0 ) { if ( self().side == LEFT ) { serializer().serializeChangedPlayer( transport(), stadium().team_l->player[i]->unum, stadium().team_l->player[i]->player_type_id ); transport() << std::ends << std::flush; } else { serializer().serializeChangedPlayer( transport(), stadium().team_l->player[i]->unum ); transport() << std::ends << std::flush; } } } for ( int i = 0; i < stadium().team_r->n; i++ ) { if ( stadium().team_r->player[i]->player_type_id != 0 ) { if ( self().side == RIGHT ) { serializer().serializeChangedPlayer( transport(), stadium().team_r->player[i]->unum, stadium().team_r->player[i]->player_type_id ); transport() << std::ends << std::flush; } else { serializer().serializeChangedPlayer( transport(), stadium().team_r->player[i]->unum ); transport() << std::ends << std::flush; } } } }/*!//===================================================================//// CLASS: InitSenderOnlineCoachV8//// DESC: version 8 of the init protocol. Coaches now get server// parameters, player parameters and player types.////===================================================================*/ InitSenderOnlineCoachV8::InitSenderOnlineCoachV8( const Params& params ) : InitSenderOnlineCoachV7( params, boost::shared_ptr< rcss::InitSenderCommon >( new InitSenderCommonV8( params.m_transport, params.m_ser, params.m_stadium, (unsigned int)params.m_self.version ) ) ) {} InitSenderOnlineCoachV8::InitSenderOnlineCoachV8( const Params& params, const boost::shared_ptr< InitSenderCommon > common ) : InitSenderOnlineCoachV7( params, common ) {} InitSenderOnlineCoachV8::~InitSenderOnlineCoachV8() {}/*!//===================================================================//// CLASS: InitSenderOfflineCoach//// DESC: Base class for the init protocol for Offline Coaches.////===================================================================*/ InitSenderOfflineCoach::Factory& InitSenderOfflineCoach::factory() { static Factory rval; return rval; } InitSenderOfflineCoach::InitSenderOfflineCoach( const Params& params, const boost::shared_ptr< InitSenderCommon > common ) : InitSender( params.m_transport, common ), M_serializer( params.m_ser ), M_self( params.m_self ), M_stadium( params.m_stadium ) {} InitSenderOfflineCoach::~InitSenderOfflineCoach() {}/*!//===================================================================//// CLASS: InitSenderOfflineCoachV1//// DESC: version 1 of the init protocol.////===================================================================*/ InitSenderOfflineCoachV1::InitSenderOfflineCoachV1( const Params& params ) : InitSenderOfflineCoach( params, boost::shared_ptr< rcss::InitSenderCommon >( new InitSenderCommonV1( params.m_transport, params.m_ser, params.m_stadium, (unsigned int)params.m_self.version ) ) ) {} InitSenderOfflineCoachV1::InitSenderOfflineCoachV1( const Params& params, const boost::shared_ptr< InitSenderCommon > common ) : InitSenderOfflineCoach( params, common ) {} InitSenderOfflineCoachV1::~InitSenderOfflineCoachV1() {} void InitSenderOfflineCoachV1::sendInit() { serializer().serializeInit( transport() ); transport() << std::ends << std::flush; } void InitSenderOfflineCoachV1::sendReconnect() {} void InitSenderOfflineCoachV1::sendChangedPlayers() {} void InitSenderOfflineCoachV1::sendScore() {}/*!//===================================================================//// CLASS: InitSenderOfflineCoachV7//// DESC: version 7 of the init protocol.////===================================================================*/ InitSenderOfflineCoachV7::InitSenderOfflineCoachV7( const Params& params ) : InitSenderOfflineCoachV1( params, boost::shared_ptr< rcss::InitSenderCommon >( new InitSenderCommonV7( params.m_transport, params.m_ser, params.m_stadium, (unsigned int)params.m_self.version ) ) ) {} InitSenderOfflineCoachV7::InitSenderOfflineCoachV7( const Params& params, const boost::shared_ptr< InitSenderCommon > common ) : InitSenderOfflineCoachV1( params, common ) {} InitSenderOfflineCoachV7::~InitSenderOfflineCoachV7() {}/*!//===================================================================//// CLASS: InitSenderOfflineCoachV8//// DESC: version 8 of the init protocol.////===================================================================*/ InitSenderOfflineCoachV8::InitSenderOfflineCoachV8( const Params& params ) : InitSenderOfflineCoachV7( params, boost::shared_ptr< rcss::InitSenderCommon >( new InitSenderCommonV8( params.m_transport, params.m_ser, params.m_stadium, (unsigned int)params.m_self.version ) ) ) {} InitSenderOfflineCoachV8::InitSenderOfflineCoachV8( const Params& params, const boost::shared_ptr< InitSenderCommon > common ) : InitSenderOfflineCoachV7( params, common ) {} InitSenderOfflineCoachV8::~InitSenderOfflineCoachV8() {}/*!//===================================================================//// Register senders for different versions////===================================================================*/ namespace initsender { template< typename Sender > InitSenderPlayer::Ptr create( const InitSenderPlayer::Params& params ) { return InitSenderPlayer::Ptr( new Sender( params ) ); } template< typename Sender > InitSenderOnlineCoach::Ptr create( const InitSenderOnlineCoach::Params& params ) { return InitSenderOnlineCoach::Ptr( new Sender( params ) ); } template< typename Sender > InitSenderOfflineCoach::Ptr create( const InitSenderOfflineCoach::Params& params ) { return InitSenderOfflineCoach::Ptr( new Sender( params ) ); } lib::RegHolder vp1 = InitSenderPlayer::factory().autoReg( &create< InitSenderPlayerV1 >, 1 ); lib::RegHolder vp2 = InitSenderPlayer::factory().autoReg( &create< InitSenderPlayerV1 >, 2 ); lib::RegHolder vp3 = InitSenderPlayer::factory().autoReg( &create< InitSenderPlayerV1 >, 3 ); lib::RegHolder vp4 = InitSenderPlayer::factory().autoReg( &create< InitSenderPlayerV1 >, 4 ); lib::RegHolder vp5 = InitSenderPlayer::factory().autoReg( &create< InitSenderPlayerV1 >, 5 ); lib::RegHolder vp6 = InitSenderPlayer::factory().autoReg( &create< InitSenderPlayerV1 >, 6 ); lib::RegHolder vp7 = InitSenderPlayer::factory().autoReg( &create< InitSenderPlayerV7 >, 7 ); lib::RegHolder vp8 = InitSenderPlayer::factory().autoReg( &create< InitSenderPlayerV8 >, 8 ); lib::RegHolder vp9 = InitSenderPlayer::factory().autoReg( &create< InitSenderPlayerV8 >, 9 ); lib::RegHolder voc1 = InitSenderOnlineCoach::factory().autoReg( &create< InitSenderOnlineCoachV1 >, 1 ); lib::RegHolder voc2 = InitSenderOnlineCoach::factory().autoReg( &create< InitSenderOnlineCoachV1 >, 2 ); lib::RegHolder voc3 = InitSenderOnlineCoach::factory().autoReg( &create< InitSenderOnlineCoachV1 >, 3 ); lib::RegHolder voc4 = InitSenderOnlineCoach::factory().autoReg( &create< InitSenderOnlineCoachV1 >, 4 ); lib::RegHolder voc5 = InitSenderOnlineCoach::factory().autoReg( &create< InitSenderOnlineCoachV1 >, 5 ); lib::RegHolder voc6 = InitSenderOnlineCoach::factory().autoReg( &create< InitSenderOnlineCoachV6 >, 6 ); lib::RegHolder voc7 = InitSenderOnlineCoach::factory().autoReg( &create< InitSenderOnlineCoachV7 >, 7 ); lib::RegHolder voc8 = InitSenderOnlineCoach::factory().autoReg( &create< InitSenderOnlineCoachV8 >, 8 ); lib::RegHolder voc9 = InitSenderOnlineCoach::factory().autoReg( &create< InitSenderOnlineCoachV8 >, 9 ); lib::RegHolder vc1 = InitSenderOfflineCoach::factory().autoReg( &create< InitSenderOfflineCoachV1 >, 1 ); lib::RegHolder vc2 = InitSenderOfflineCoach::factory().autoReg( &create< InitSenderOfflineCoachV1 >, 2 ); lib::RegHolder vc3 = InitSenderOfflineCoach::factory().autoReg( &create< InitSenderOfflineCoachV1 >, 3 ); lib::RegHolder vc4 = InitSenderOfflineCoach::factory().autoReg( &create< InitSenderOfflineCoachV1 >, 4 ); lib::RegHolder vc5 = InitSenderOfflineCoach::factory().autoReg( &create< InitSenderOfflineCoachV1 >, 5 ); lib::RegHolder vc6 = InitSenderOfflineCoach::factory().autoReg( &create< InitSenderOfflineCoachV1 >, 6 ); lib::RegHolder vc7 = InitSenderOfflineCoach::factory().autoReg( &create< InitSenderOfflineCoachV7 >, 7 ); lib::RegHolder vc8 = InitSenderOfflineCoach::factory().autoReg( &create< InitSenderOfflineCoachV8 >, 8 ); lib::RegHolder vc9 = InitSenderOfflineCoach::factory().autoReg( &create< InitSenderOfflineCoachV8 >, 9 ); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -