⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 initsender.cc

📁 在LINUX下运行的仿真机器人服务器源代码
💻 CC
📖 第 1 页 / 共 4 页
字号:
    }/*!//===================================================================////  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 + -