Walkers |
|
Tato sada funkcí obsluhuje správu chodících objektů na mapě (Walkers). Walkeři jsou ukládání do dynamicky alokovaného pole v PED. Aktivní walkeři mají nastaveno PEW_ACTIVE. Pro rychlejší průchod jsou všichni aktivní walkeři jsou propojeni do spojového seznamu. |
|
|
|
Walker* peAddWalker(PED* PE); |
|
Aktivuje nového Walkera. V případě,žežadný volný walker není k dispozici je vráceno NULL. Velikost paměti pro Walkery je možné rozšířit příkazem peResizeWalkers |
PE_NOERR | PE_NOMEM |
|
|
|
|
char peRemoveWalker(PED* PE, Walker* w); |
PE |
|
path engine |
w |
|
walker na deaktivování |
|
Deaktivuje walkera w z enginu PE |
PE_NOERR |
|
|
|
|
char peResizeWalkers(PED* PE, int NewMaxWalkers); |
PE |
|
path engine |
NewMaxWalkers |
|
nová velikost pole walkerů |
|
Pokusí se realokovat pole walkerů. |
PE_NOERR | PE_NOMEM |
|
|
|
|
char peSetPosWalker(PED* PE, Walker* w, MapNode* pos); |
PE |
|
path engine |
w |
|
walker |
pos |
|
nová pozice v mapě |
|
Nastaví walkera na novou pozici v mapě. Pokud walkeršel, tak ho zastaví. |
PE_NOERR |
|
|
|
|
char pePlanWalker(PED* PE, Walker* w, MapNode* dest, char type); |
PE |
|
path engine |
w |
|
walker |
dest |
|
cílová pozice |
type |
|
typ hledání cesty :
PRT_STD - standardní hledání
PRT_NTC - hledání bez započítávání TC políček - používá vnitřně v poslední fázi hlednání cesty, kdy je potřeba najít co nejlepší pozici i na úkor postihu.
|
|
Zadá požadavek na nalezení cesty do dest pro walkera w. Typ by měl být vždy PRT_STD. Možnost zadání typu je vyhrazena pro pozdější specializaci. |
PE_NOERR |
|
|
|
|
char peStopWalker(PED* PE, Walker* w); |
|
Zastaví walkera. |
PE_NOERR |
|
|
|
|
char pePlanWay(PED* PE, Walker* w, MapNode* dest, char type); |
PE |
|
path engine |
w |
|
walker |
dest |
|
cílová pozice |
type |
|
typ hledání cesty :
PRT_STD - standardní hledání
PRT_NTC - hledání bez započítávání TC políček - používá vnitřně v poslední fázi hlednání cesty, kdy je potřeba najít co nejlepší pozici i na úkor postihu. |
|
Naplánuje cestu pro walkera okamžitě - obchází mechanismus requestů
|
PE_NOERR |
|
|
|
|
char peSelectAllWalkers(PED* PE); |
|
Označí všechny walkery (tj. přidá jim stavovou vlajku PEW_SELECTED) |
PE_NOERR |
|
|
|
|
char peUnselectAllWalkers(PED* PE); |
|
Odznačí všechny walkery (tj. odebere jim stavovou vlajku PEW_SELECTED) |
PE_NOERR |
|
|
|