• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ generic_factory类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中generic_factory的典型用法代码示例。如果您正苦于以下问题:C++ generic_factory类的具体用法?C++ generic_factory怎么用?C++ generic_factory使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了generic_factory类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: check_consistency

void npc_class::check_consistency()
{
    for( const auto &legacy : legacy_ids ) {
        if( !npc_class_factory.is_valid( legacy ) ) {
            debugmsg( "Missing legacy npc class %s", legacy.c_str() );
        }
    }

    for( auto &cl : npc_class_factory.get_all() ) {
        if( !item_group::group_is_defined( cl.shopkeeper_item_group ) ) {
            debugmsg( "Missing shopkeeper item group %s", cl.shopkeeper_item_group.c_str() );
        }

        if( !cl.worn_override.empty() && !item_group::group_is_defined( cl.worn_override ) ) {
            debugmsg( "Missing worn override item group %s", cl.worn_override.c_str() );
        }

        if( !cl.carry_override.empty() && !item_group::group_is_defined( cl.carry_override ) ) {
            debugmsg( "Missing carry override item group %s", cl.carry_override.c_str() );
        }

        if( !cl.weapon_override.empty() && !item_group::group_is_defined( cl.weapon_override ) ) {
            debugmsg( "Missing weapon override item group %s", cl.weapon_override.c_str() );
        }

        for( const auto &pr : cl.skills ) {
            if( !pr.first.is_valid() ) {
                debugmsg( "Invalid skill %s", pr.first.c_str() );
            }
        }

        for( const auto &pr : cl.traits ) {
            if( !pr.first.is_valid() ) {
                debugmsg( "Invalid trait %s", pr.first.c_str() );
            }
        }
    }
}
开发者ID:AlecWhite,项目名称:Cataclysm-DDA,代码行数:38,代码来源:npc_class.cpp


示例2:

const npc_class_id &npc_class::random_common()
{
    std::list<const npc_class_id *> common_classes;
    for( const auto &pr : npc_class_factory.get_all() ) {
        if( pr.common ) {
            common_classes.push_back( &pr.id );
        }
    }

    if( common_classes.empty() || one_in( common_classes.size() ) ) {
        return NC_NONE;
    }

    return *random_entry( common_classes );
}
开发者ID:Barhandar,项目名称:Cataclysm-DDA,代码行数:15,代码来源:npc_class.cpp


示例3: finalize_all

void npc_class::finalize_all()
{
    for( auto &cl_const : npc_class_factory.get_all() ) {
        auto &cl = const_cast<npc_class &>( cl_const );
        apply_all_to_unassigned( cl.skills );
        apply_all_to_unassigned( cl.bonus_skills );

        for( const auto &pr : cl.bonus_skills ) {
            if( cl.skills.count( pr.first ) == 0 ) {
                cl.skills[ pr.first ] = pr.second;
            } else {
                cl.skills[ pr.first ] = cl.skills[ pr.first ] + pr.second;
            }
        }
    }
}
开发者ID:Barhandar,项目名称:Cataclysm-DDA,代码行数:16,代码来源:npc_class.cpp


示例4:

const std::vector<mission_type> &mission_type::get_all()
{
    return mission_type_factory.get_all();
}
开发者ID:ianestrachan,项目名称:Cataclysm-DDA,代码行数:4,代码来源:missiondef.cpp


示例5: reset

void mission_type::reset()
{
    mission_type_factory.reset();
}
开发者ID:ianestrachan,项目名称:Cataclysm-DDA,代码行数:4,代码来源:missiondef.cpp


示例6: load_mission_type

void mission_type::load_mission_type( JsonObject &jo, const std::string &src )
{
    mission_type_factory.load( jo, src );
}
开发者ID:ianestrachan,项目名称:Cataclysm-DDA,代码行数:4,代码来源:missiondef.cpp


示例7: reset_npc_classes

void npc_class::reset_npc_classes()
{
    npc_class_factory.reset();
}
开发者ID:Barhandar,项目名称:Cataclysm-DDA,代码行数:4,代码来源:npc_class.cpp


示例8: load_npc_class

void npc_class::load_npc_class( JsonObject &jo, const std::string &src )
{
    npc_class_factory.load( jo, src );
}
开发者ID:Barhandar,项目名称:Cataclysm-DDA,代码行数:4,代码来源:npc_class.cpp



注:本文中的generic_factory类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ generic_string类代码示例发布时间:2022-05-31
下一篇:
C++ gcString类代码示例发布时间:2022-05-31
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap