///|
struct HeadlessGamepadStep {
id : Int
axes : Array[Double]
buttons : Array[Int]
} derive(FromJson)
///|
struct HeadlessInputStep {
cursor_x : Double
cursor_y : Double
keys : Array[Int]
mouse_buttons : Array[Int]
gamepads : Array[HeadlessGamepadStep]
} derive(FromJson)
///|
fn HeadlessInputStep::to_input(self : HeadlessInputStep) -> @core.InputSnapshot {
@core.new_input_snapshot_full(
self.cursor_x,
self.cursor_y,
0.0,
0.0,
self.keys,
self.mouse_buttons,
[],
self.gamepads.map(pad => {
@core.new_gamepad_snapshot(pad.id, pad.axes, pad.buttons)
}),
)
}