AbstractSpaceUnitBoundaryItem::AbstractSpaceUnitBoundaryItem(BWAPI::Unit* u, BlackboardInformations* i, BWAPI::UnitType ut)
    : AbstractBoundaryItem(u),
      requireSpace(this, i, ut),
      unitType(ut),
      info(i)
{
    removePort(&requireSpace);
}
void AbstractSpaceUnitBoundaryItem::visitCompleteUnitUpdateEvent(CompleteUnitUpdateEvent* event)
{
    unitType = event->unitType;
    if (unitType.isBuilding()) {
        requireSpace.setUnitType(unitType);
        requireSpace.connectTo(event->tilePos);
        if (!isPortRegistered(&requireSpace))
            ports.push_back(&requireSpace);
    } else {
        requireSpace.disconnect();
        removePort(&requireSpace);
    }
    AbstractBoundaryItem::visitCompleteUnitUpdateEvent(event);
}
示例#3
0
void KURL::setPort(unsigned short port)
{
    if (isDefaultPortForProtocol(port, protocol())) {
        removePort();
        return;
    }

    String portString = String::number(port);
    ASSERT(portString.is8Bit());

    url::Replacements<char> replacements;
    replacements.SetPort(reinterpret_cast<const char*>(portString.characters8()), url::Component(0, portString.length()));
    replaceComponents(replacements);
}
示例#4
0
QuaJoystickManager::~QuaJoystickManager()
{
	status_t	exit_val;
	
	readerRunning = false;
	resumeUpdater();
	updateThread.join();

	int nd = countPorts();
	for (short i=0; i<nd; i++) {
		delete (QuaJoystickPort *)Port(0);
		removePort(0);
	}

	fprintf(stderr, "deleted joystick manager\n");
}
示例#5
0
void Processor::removePort(Port& port) {
    removePort(&port);
}