Example #1
0
/**
 *
 *
 *  @author OLiver
 */
void nobUsual::WorkerLost()
{
    // Check if worker is or was here (e.g. hunter could currently be outside)
    if(HasWorker())
    {
        // If we have a worker, we must be producing something
        RTTR_Assert(productivity_ev);
        // Open the door till we get a new worker
        OpenDoor();
    }
    // Produktivitätsevent ggf. abmelden
    em->RemoveEvent(productivity_ev);

    // Waren-Bestell-Event abmelden
    em->RemoveEvent(orderware_ev);

    // neuen Arbeiter bestellen
    worker = NULL;
    gwg->GetPlayer(player).AddJobWanted(USUAL_BUILDING_CONSTS[type_ - 10].job, this);
}
void nobUsual::WorkerLost()
{
    // Check if worker is or was here (e.g. hunter could currently be outside)
    if(HasWorker())
    {
        // If we have a worker, we must be producing something
        RTTR_Assert(productivity_ev);
        // Open the door till we get a new worker
        OpenDoor();
    }
    // Produktivitätsevent ggf. abmelden
    GetEvMgr().RemoveEvent(productivity_ev);

    // Waren-Bestell-Event abmelden
    GetEvMgr().RemoveEvent(orderware_ev);

    // neuen Arbeiter bestellen
    worker = nullptr;
    gwg->GetPlayer(player).AddJobWanted(BLD_WORK_DESC[bldType_].job, this);
}