Пример #1
0
/// Zeichnet Figur beim Hereinlaufen/nach Hause laufen mit evtl. getragenen Waren
void nofBuildingWorker::DrawReturnStates(const int x, const int y)
{
    // Beim Nachhausegehen (Landarbeiter) und beim Reingehen kann entweder eine Ware getragen werden oder nicht
    if(ware != GD_NOTHING)
        DrawWalking(x, y, LOADER.GetBobN("jobs"), GetCarryID(), JOB_CONSTS[job].fat);
    else
        DrawWalking(x, y);
}
/// Zeichnet Figur beim Hereinlaufen/nach Hause laufen mit evtl. getragenen Waren
void nofBuildingWorker::DrawWalkingWithWare(DrawPoint drawPt)
{
    unsigned short id = GetCarryID();
    // >=100 -> carrier.bob else jobs.bob!
    if(id >= 100)
        DrawWalking(drawPt, LOADER.GetBobN("carrier"), id - 100, JOB_CONSTS[job_].fat);
    else
        DrawWalking(drawPt, LOADER.GetBobN("jobs"), id, JOB_CONSTS[job_].fat);
}
Пример #3
0
void nofBuildingWorker::Draw(int x, int y)
{
    switch(state)
    {
        case STATE_FIGUREWORK:

        case STATE_HUNTER_CHASING:
        case STATE_HUNTER_WALKINGTOCADAVER:
        case STATE_HUNTER_FINDINGSHOOTINGPOINT:
        {
            DrawWalking(x, y);
        } break;
        case STATE_WORK:
        case STATE_HUNTER_SHOOTING:
        case STATE_HUNTER_EVISCERATING:
        case STATE_CATAPULT_TARGETBUILDING:
        case STATE_CATAPULT_BACKOFF:
            DrawWorking(x, y); break;
        case STATE_CARRYOUTWARE:
        {
            unsigned short id = GetCarryID();

            // Über 100 bedeutet aus der carrier.bob nehmen, ansonsten aus der jobs.bob!
            if(id >= 100)
                DrawWalking(x, y, LOADER.GetBobN("carrier"), GetCarryID() - 100, JOB_CONSTS[job].fat);
            else
                DrawWalking(x, y, LOADER.GetBobN("jobs"), GetCarryID(), JOB_CONSTS[job].fat);
        } break;
        case STATE_WALKINGHOME:
        case STATE_ENTERBUILDING:
        {
            DrawReturnStates(x, y);

        } break;
        default:
            DrawOtherStates(x, y);
            break;
    }
}