/// 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); }
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; } }