本文整理汇总了C++中bwapi::UnitType::canProduce方法的典型用法代码示例。如果您正苦于以下问题:C++ UnitType::canProduce方法的具体用法?C++ UnitType::canProduce怎么用?C++ UnitType::canProduce使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类bwapi::UnitType
的用法示例。
在下文中一共展示了UnitType::canProduce方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setShortName
// UnitType constructor
ActionTypeData::ActionTypeData(BWAPI::UnitType t, const ActionID id)
: type (UnitType)
, unit (t)
, raceID (GetRaceID(t.getRace()))
, actionID (id)
, mineralPriceVal (t.mineralPrice() * Constants::RESOURCE_SCALE)
, gasPriceVal (t.gasPrice() * Constants::RESOURCE_SCALE)
, supplyRequiredVal (t.supplyRequired())
, supplyProvidedVal (t.supplyProvided())
, buildTimeVal (t.buildTime())
, numberProduced (1)
, name (t.getName())
, metaName (t.getName())
, building (t.isBuilding())
, worker (t.isWorker())
, refinery (t.isRefinery())
, resourceDepot (t.isResourceDepot())
, supplyProvider (t.supplyProvided() > 0 && !t.isResourceDepot())
, canProduceBool (t.isBuilding() && t.canProduce())
, canAttackBool (t.canAttack())
, whatBuildsUnitType (t.whatBuilds().first)
, addon (t.isAddon())
, morphed (false)
, reqAddon (false)
, reqAddonID (0)
{
if (t == BWAPI::UnitTypes::Zerg_Zergling || t == BWAPI::UnitTypes::Zerg_Scourge)
{
numberProduced = 2;
}
if (t == BWAPI::UnitTypes::Zerg_Lair ||
t == BWAPI::UnitTypes::Zerg_Hive ||
t == BWAPI::UnitTypes::Zerg_Greater_Spire ||
t == BWAPI::UnitTypes::Zerg_Lurker ||
t == BWAPI::UnitTypes::Zerg_Guardian ||
t == BWAPI::UnitTypes::Zerg_Sunken_Colony ||
t == BWAPI::UnitTypes::Zerg_Spore_Colony)
{
morphed = true;
}
setShortName();
}
示例2: UnidadeCriada
void MeuAgentePrincipal::UnidadeCriada(Unidade* unidade){
//Uma nova unidade sua foi criada (isto inclui as do inicio da partida). Implemente aqui como quer tratar ela.
BWAPI::UnitType tipo = unidade->getType();
if(tipo == BWAPI::UnitTypes::Protoss_Nexus){
Protoss_Nexus = unidade;
base = Protoss_Nexus->getPosition();
int halfWidth = (AgentePrincipal::mapWidth()*16);
int halfHeight = (AgentePrincipal::mapHeight()*16);
centro = BWAPI::Position(halfWidth, halfHeight);
CreateThread(NULL,0,general_recursos,NULL,0,NULL);
CreateThread(NULL,0,general_militar,NULL,0,NULL);
}
else if(tipo == BWAPI::UnitTypes::Protoss_Gateway){
Protoss_Gateways[numGateways] = unidade;
numGateways = numGateways+1;
All_Unities.insert(unidade);
}else if(tipo == BWAPI::UnitTypes::Protoss_Pylon){
Protoss_Pylons[numPylons] = unidade;
numPylons = numPylons+1;
All_Unities.insert(unidade);
}else if(tipo == BWAPI::UnitTypes::Protoss_Zealot){
zealots.insert(unidade);
}
//Nao desperdicar threads com predios que nao fazem nada
else if(!tipo.canProduce()){
if(tipo == BWAPI::UnitTypes::Protoss_Probe){
if(!hasScout)
{
hasScout = true;
scout = unidade;
}else{
All_Unities.insert(unidade);
}
}
CreateThread(NULL,0,threadAgente,(void*)unidade,0,NULL);
}
}