Exemplo n.º 1
0
void GameCommander::setScoutUnits()
{
    // if we haven't set a scout unit, do it
    if (m_scoutUnits.empty() && !m_initialScoutSet)
    {
        // if it exists
        if (shouldSendInitialScout())
        {
            // grab the closest worker to the supply provider to send to scout
            UnitTag workerScoutTag = m_bot.Workers().getClosestMineralWorkerTo(m_bot.GetStartLocation());
            const sc2::Unit * workerScout = m_bot.GetUnit(workerScoutTag);

            // if we find a worker (which we should) add it to the scout units
            if (workerScout)
            {
                m_scoutManager.setWorkerScout(workerScoutTag);
                assignUnit(workerScoutTag, m_scoutUnits);
                m_initialScoutSet = true;
            }
            else
            {
                
            }
        }
    }
}
Exemplo n.º 2
0
// sets combat units to be passed to CombatCommander
void GameCommander::setCombatUnits()
{
    for (auto & unitTag : m_validUnits)
    {
        const sc2::Unit * unit = m_bot.GetUnit(unitTag);

        BOT_ASSERT(unit, "Have a null unit in our valid units\n");

        if (!isAssigned(unitTag) && Util::IsCombatUnitType(unit->unit_type, m_bot))
        {
            assignUnit(unitTag, m_combatUnits);
        }
    }
}
Exemplo n.º 3
0
void Commander::checkNoSquadUnits()
{
	Agentset agents = AgentManager::getInstance()->getAgents();
	for (auto &a : agents)
	{
		bool notAssigned = true;
		if (!a->isAlive()) notAssigned = false;
		if (a->getUnitType().isWorker()) notAssigned = false;
		if (a->isOfType(UnitTypes::Zerg_Overlord)) notAssigned = false;
		if (a->getUnitType().isBuilding()) notAssigned = false;
		if (a->getUnitType().isAddon()) notAssigned = false;
		if (a->getSquadID() != -1) notAssigned = false;

		if (notAssigned)
		{
			assignUnit(a);
		}
	}
}
Exemplo n.º 4
0
void Commander::checkNoSquadUnits()
{
	vector<BaseAgent*> agents = AgentManager::getInstance()->getAgents();
	for (int i = 0; i < (int)agents.size(); i++)
	{
		BaseAgent* agent = agents.at(i);
		
		bool notAssigned = true;
		if (!agent->isAlive()) notAssigned = false;
		if (agent->getUnitType().isWorker()) notAssigned = false;
		if (!agent->getUnit()->exists()) notAssigned = false;
		if (agent->isOfType(UnitTypes::Zerg_Overlord)) notAssigned = false;
		if (agent->getUnitType().isBuilding()) notAssigned = false;
		if (agent->getUnitType().isAddon()) notAssigned = false;
		if (agent->getSquadID() != -1) notAssigned = false;

		if (notAssigned)
		{
			assignUnit(agent);
		}
	}
}
Exemplo n.º 5
0
GLint TextureUnit::unitNumber() {
    if (!_assigned) {
        assignUnit();
    }
    return _number;
}
Exemplo n.º 6
0
GLenum TextureUnit::glEnum() {
    if (!_assigned) {
        assignUnit();
    }
    return _glEnum;
}
Exemplo n.º 7
0
void TextureUnit::activate() {
    if (!_assigned) {
        assignUnit();
    }
    glActiveTexture(_glEnum);
}
Exemplo n.º 8
0
GLint TextureUnit::getUnitNumber() const {
    if (!assigned_)
        assignUnit();
    return number_;
}
Exemplo n.º 9
0
GLint TextureUnit::getEnum() const {
    if (!assigned_)
        assignUnit();
    return glEnum_;
}
Exemplo n.º 10
0
void TextureUnit::activate() const {
    if (!assigned_)
        assignUnit();
    glActiveTexture(getEnum());
}