本文整理汇总了C++中aithread::readTuple方法的典型用法代码示例。如果您正苦于以下问题:C++ aithread::readTuple方法的具体用法?C++ aithread::readTuple怎么用?C++ aithread::readTuple使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类aithread
的用法示例。
在下文中一共展示了aithread::readTuple方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: execute
bool Debug::execute(aithread &thread) const
{
// Perform independant behaviours
if ( this->getOpcode() == AISCRIPT::Enum::FATAL_ERROR )
{
// Message
Broodwar->sendText("Illegal AI script executed.");
// Debug
thread.saveDebug(Text::Green, this->getOpcode());
// Kill the script
thread.killThread();
thread.noretry();
return false;
}
else if ( this->getOpcode() == AISCRIPT::Enum::DEBUG )
{
// Read parameters
WORD wJump;
thread.readTuple( std::tie( wJump) );
// Send the message
Broodwar->sendText("%s", &pbAIScriptBinary[thread.getScriptOffset()] );
// Jump to offset
thread.setScriptOffset(wJump);
thread.saveDebug(Text::Green, this->getOpcode(), "p_%X %s", wJump, &pbAIScriptBinary[thread.getScriptOffset()]);
}
return true;
}
示例2: execute
bool Harass_Factor::execute(aithread &thread) const
{
// Parameters
WORD wUnknown;
thread.readTuple( std::tie( wUnknown ) );
// HarassFactor(wUnk);
// Save debug info and return
thread.saveDebug(Text::Red, this->getOpcode(), "%u", wUnknown);
return true;
}
示例3: execute
bool Allies_Watch::execute(aithread &thread) const
{
// Params
BYTE bExpansionId;
WORD wBlock;
thread.readTuple( std::tie(bExpansionId, wBlock) );
// @TODO
// Save debug info and return
thread.saveDebug(Text::Red, this->getOpcode(), "%u %04X", bExpansionId, wBlock);
return true;
}
示例4: execute
bool Panic::execute(aithread &thread) const
{
// Retrieve parameters
WORD wOffset;
thread.readTuple( std::tie(wOffset) );
// Set panic block
MainController.wPanicBlock = wOffset;
// Save debug info and return
thread.saveDebug(Text::Green, this->getOpcode(), "p_%04X", wOffset);
return true;
}
示例5: execute
bool DefenseUse::execute(aithread &thread) const
{
// Parameters
BYTE bCount;
WORD wUnitType;
thread.readTuple( std::tie(bCount, wUnitType) );
MainController.DefenseUse(this->getOpcode() - AISCRIPT::Enum::DEFENSEUSE_GG, bCount, wUnitType);
// Debug and return
thread.saveDebug(Text::Green, this->getOpcode(), "%u %s", bCount, AISCRIPT::getUnitName(wUnitType) );
return true;
}
示例6: execute
bool Nuke_Rate::execute(aithread &thread) const
{
// Parameters
BYTE bNukeRate;
thread.readTuple( std::tie( bNukeRate ) );
// Assign to controller
MainController.bNukeRate = bNukeRate;
// Save debug info and return
thread.saveDebug(Text::Green, this->getOpcode());
return true;
}
示例7: execute
bool Default_Min::execute(aithread &thread) const
{
// Parameters
BYTE bDefaultMin;
thread.readTuple( std::tie( bDefaultMin ) );
// Assign to controller
MainController.bDefaultMin = bDefaultMin;
// Save debug info and return
thread.saveDebug(Text::Green, this->getOpcode());
return true;
}
示例8: execute
bool Guard_Resources::execute(aithread &thread) const
{
// Retrieve parameters
WORD wUnitType;
thread.readTuple( std::tie(wUnitType) );
// Execution
// GuardResources(wType);
// Save debug info and return
thread.saveDebug(Text::Red, this->getOpcode(), "%s", AISCRIPT::getUnitName(wUnitType));
return true;
}
示例9: execute
bool Define_Max::execute(aithread &thread) const
{
// Retrieve parameters
BYTE bCount;
WORD wType;
thread.readTuple( std::tie(bCount, wType) );
if ( wType < UnitTypes::None )
MainController.bDefineMax[wType] = bCount;
// Save debug info and return
thread.saveDebug(Text::Green, this->getOpcode(), "%u %s", bCount, AISCRIPT::getUnitName(wType) );
return true;
}
示例10: execute
bool Build::execute(aithread &thread) const
{
// Retrieve parameters
BYTE bBuildCount, bPriority;
WORD wUnitType;
thread.readTuple( std::tie(bBuildCount, wUnitType, bPriority) );
//if ( bBuildCount <= 30 && wBuildType < UnitTypes::None )
// this->pTown->MacroManagerSet(MACRO_BUILD, bBuildCount, wBuildType, bPriority, false);
// Save debug info and return
thread.saveDebug(Text::Red, this->getOpcode(), "%u %s %u", bBuildCount, AISCRIPT::getUnitName(wUnitType), bPriority);
return true;
}
示例11: execute
bool Place_Guard::execute(aithread &thread) const
{
// Retrieve parameters
WORD wUnitType;
BYTE bGuardType;
thread.readTuple( std::tie(wUnitType, bGuardType) );
// Execution
// this->pTown->PlaceGuard(bGuardType, wUnitType);
// Save debug info and return
thread.saveDebug(Text::Red, this->getOpcode(), "%s %u", AISCRIPT::getUnitName(wUnitType), bGuardType);
return true;
}
示例12: execute
bool Random_Jump::execute(aithread &thread) const
{
// Retrieve parameters
BYTE bChance;
WORD wOffset;
thread.readTuple( std::tie(bChance, wOffset) );
/// Set the new script offset
if ( (BYTE)rand() <= bChance )
thread.setScriptOffset( wOffset );
// Save debug info and return
thread.saveDebug(Text::Green, this->getOpcode(), "%u p_%04X", bChance, wOffset);
return true;
}
示例13: execute
bool Wait_Train::execute(aithread &thread) const
{
// Parameters
BYTE bCount;
WORD wUnitType;
thread.readTuple( std::tie(bCount, wUnitType) );
// Debug
thread.saveDebug(Text::Green, this->getOpcode(), "%u %s", bCount, AISCRIPT::getUnitName(wUnitType) );
// Perform actions
if ( GetStandardUnitCount(wUnitType) < bCount )
return thread.retry();
return thread.noretry();
}
示例14: execute
bool If_Dif::execute(aithread &thread) const
{
// Parameters
BYTE bModifier, bValue;
WORD wBlock;
thread.readTuple( std::tie( bModifier, bValue, wBlock ) );
// Compare diff value
BYTE bDiff = MainController.bIfDif;
if ( bModifier ? (bDiff > bValue) : (bDiff < bValue) )
thread.setScriptOffset( wBlock );
// Save debug info and return
thread.saveDebug(Text::Green, this->getOpcode(), "%u %u %04X", bModifier, bValue, wBlock);
return true;
}
示例15: execute
bool Prep_Down::execute(aithread &thread) const
{
// Retrieve parameters
BYTE bSaveCount, bMinCount;
WORD wUnitType;
thread.readTuple( std::tie(bSaveCount, bMinCount, wUnitType) );
// Get count
int count = GetStandardUnitCount(wUnitType, false) - bSaveCount;
if ( count < bMinCount )
count = bMinCount;
// Add to attack group
// AI_AttackAdd(count, wUnitType);
// Save debug info and return
thread.saveDebug(Text::Red, this->getOpcode(), "%u %u %s", bSaveCount, bMinCount, AISCRIPT::getUnitName(wUnitType));
return true;
}