Vehicles
Stav vozidla a gettery
Čte rychlost, stav pohonu a počet kol sestaveného vozidla bez duplikování nativní simulace v GML.
Runtime gettery vyžadují živé sestavené vozidlo s výjimkou get_wheel_count(), který vrací managed počet kol draftu, dokud je wrapper platný.
Gettery vozidla#
| Metoda | Návratová hodnota |
|---|---|
| is_valid() | Boolean kontrola platnosti wrapperu a native resource. |
| get_speed() | Nezáporná velikost world linear velocity chassis. |
| get_forward_speed() | Podepsaná rychlost podél aktuálního lokálního +Y chassis. |
| get_engine_rpm() | Aktuální nativní RPM motoru. |
| get_current_gear() | Záporný reverse, nula neutral, kladný forward. |
| get_engine_state() | {rpm, gear, clutch, switching}. |
| get_wheel_count() | Počet kol přidaných do managed vozidla. |
| get_wheel(index) | Kompletní snapshot kola nebo undefined. |
| get_wheel_transform(index) | {position, rotation} nebo undefined. |
var state = car.get_engine_state();
show_debug_message("speed=" + string(car.get_forward_speed())
+ " rpm=" + string(state.rpm)
+ " gear=" + string(state.gear));Význam rychlosti#
- get_speed() měří pohyb libovolným world směrem včetně smyku nebo vertikální rychlosti.
- get_forward_speed() se znaménkem rotuje s chassis a hodí se pro logiku jízdy vpřed/vzad.
- Ani jedna hodnota není úhlová rychlost kola; tu vrací wheel.angular_velocity.
Ověřené kontrakty operací#
Následující kontrakty rozlišují jednotky, návratové hodnoty, chyby a životnost podle aktuální implementace. Nevynechávej kontrolu výsledku: false, 0 a undefined mohou mít u různých metod odlišný význam.
| Symbol / vlastník | Signatura | Kontrakt operace |
|---|---|---|
| JoltVehicle.get_current_gear | JoltVehicle.get_current_gear() | Číselné RPM nebo index převodu podle metody; undefined při chybě/nebuildnutém vehicle. |
| JoltVehicle.get_engine_state | JoltVehicle.get_engine_state() | Vrací {rpm, gear, clutch, switching}. I při chybě může existovat struct s undefined číselnými poli a switching=false; samotný struct nepotvrzuje platnost. |
| JoltVehicle.get_forward_speed | JoltVehicle.get_forward_speed() | Číslo m/s nebo undefined při chybě; speed je velikost rychlosti, forward_speed podepsaná složka vpřed. Vyžaduje build. |
| JoltVehicle.get_speed | JoltVehicle.get_speed() | Číslo m/s nebo undefined při chybě; speed je velikost rychlosti, forward_speed podepsaná složka vpřed. Vyžaduje build. |
| JoltVehicle.get_wheel_count | JoltVehicle.get_wheel_count() | Počet kol evidovaných GML wrapperem, funguje před build; neplatný wrapper vrací 0. |