Requests |
|
Fronta požadavků je uložena v PED a funguje jako cyklické pole. Path engine zatím rozpoznává pouze jeden typ requestu a to "najdi cestu daného typu". Systém requestů je připravený na rozšíření o jiné druhy požadavků.
Konkrétní požadavky se dají z fronty smazat (peDeleteRequest), dájí se smazat všechny požadavky od jednoho Walkera (peDiscardRequests) a dá vymazat celá fronta požadavků (peResetRequests).
Zpracovávání requestů provádí peManageRequests. Voláno z peTick. |
|
|
|
char peAddRequest(PED* PE, Walker *w, MapNode* dest, char type); |
|
Zadávání požadavků na nalezení cesty je možné zadat i přes peAddRequest. Ale je doporučeno plánovat cestu walkera funkcí pePlanWalker. Tato funkce je vyhrazena pro pozdější speciální využití. |
PE_NOERR | PE_NOREQ | PE_INVALIDDEST |
|
|
|
|
char peRemoveRequest(PED * PE, Request * r) |
PE |
|
path engine |
r |
|
request k ostranění |
|
Odstraní zadaný request z fronty požadavků v enginu. Pozor: odstranění invalidního requestu má nedefinováné chování. |
PE_NOERR |
|
|
|
|
char peDiscardRequests(PED * PE, Walker * w) |
PE |
|
path engine |
w |
|
walker, jehož požadavky mají být odstraněny |
|
Odstraní všechny požadavky daného walkera z enginu. |
PE_NOERR |
|
|
|
|
char peResetRequests(PED* PE); |
|
Vymaže frontu requestů. |
PE_NOERR |
|
|
|
|
char peManageRequests(PED* PE); |
|
Zpracuje prvních MPCPT requestů (volá pePlanWay požadovaného typu)
Zbylým rychle naplánuje provizorni bress-cestu, pokud ji už nemaji
|
PE_NOERR |
|
|
|