本文整理汇总了C++中PlayerPtr::getType方法的典型用法代码示例。如果您正苦于以下问题:C++ PlayerPtr::getType方法的具体用法?C++ PlayerPtr::getType怎么用?C++ PlayerPtr::getType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PlayerPtr
的用法示例。
在下文中一共展示了PlayerPtr::getType方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: configure
void GeneticOperators::configure(
const std::vector<SparCraft::Unit>& fixedBuildings,
const std::vector<SparCraft::Unit>& buildings,
const std::vector<SparCraft::Unit>& defenders,
const std::vector<std::vector<SparCraft::Unit> > attackers,
const std::vector<std::pair<Unit, TimeType> > delayedDefenders,
const std::vector<std::vector<std::pair<Unit, TimeType> > > delayedAttackers,
Map* map,
Display* display,
PlayerPtr p1,
PlayerPtr p2,
svv expDesc) {
assert(attackers.size()==delayedAttackers.size());//same amount of attack waves
_fixedBuildings=fixedBuildings;
_buildings=buildings;
_defenders=defenders;
_attackers=attackers;
_delayedAttackers=delayedAttackers;
_delayedDefenders=delayedDefenders;
_map=map;
_display=display;
if(p1->getType()==PlayerModels::Assault){
_assaultPlayer=boost::dynamic_pointer_cast<Player_Assault>(p1);
_defendPlayer=boost::dynamic_pointer_cast<Player_Defend>(p2);
}else{
_assaultPlayer=boost::dynamic_pointer_cast<Player_Assault>(p2);
_defendPlayer=boost::dynamic_pointer_cast<Player_Defend>(p1);
}
_expDesc=expDesc;
// Position average;
// BOOST_FOREACH(const Unit &u,_fixedBuildings){
// average+=u.pos();
// }
// BOOST_FOREACH(const Unit &u,_buildings){
// average+=u.pos();
// }
// average.scale(1.0f/(_fixedBuildings.size()+_buildings.size()));
//
_baseLeft=std::numeric_limits<int>::max();
_baseRight=std::numeric_limits<int>::min();
_baseTop=std::numeric_limits<int>::max();
_baseBottom=std::numeric_limits<int>::min();
BOOST_FOREACH(const Unit &u,_fixedBuildings){
_baseLeft=std::min(_baseLeft,Map::floorDiv((u.x()-u.type().dimensionLeft()),TILE_SIZE));
_baseRight=std::max(_baseRight,Map::ceilDiv((u.x()+u.type().dimensionRight()),TILE_SIZE));
_baseTop=std::min(_baseTop,Map::floorDiv((u.y()-u.type().dimensionUp()),TILE_SIZE));
_baseBottom=std::max(_baseBottom,Map::ceilDiv((u.y()+u.type().dimensionDown()),TILE_SIZE));
}