Class l2df.manager.input
Input manager.
Controls all available input sources and converts them to internal representation for unified use.
Info:
- Copyright: Atom-TM 2020
- Author: Abelidze
Functions
Manager:init([kwargs]) | Configure InputManager. |
Manager:reset([remote=0]) | Reset all inputs and timer of manager. |
Manager:advance() | Advance timer and frame. |
Manager:update() | Update inputs. |
Manager:newRemotePlayer() | Create input source for remote player. |
Manager:updateMappings(mappings) | Sync mappings with config. |
Manager:hitted(button, player) | Check if button was pressed at this frame. |
Manager:consume(button, player) | Check if button was pressed at this frame and consume it for next call. |
Manager:pressed(button, player) | Check if button was pressed. |
Manager:doubled(button, player) | Check if button was double pressed. |
Manager:check(data, player) | Check if input data exists. |
Manager:lastinput(player) | Get last saved input for specific player. |
Manager:addinput(input[, player=1[, timer]]) | Persist raw input data. |
Manager:saveinput([player[, frame]]) | Save input data for local player. |
Manager:stream([player=1]) | Stream-function which should be used in `for ... |
Manager:rawinput(player) | Get raw input data for local player. |
Manager:press(button, player) | Button pressed event. |
Manager:release(button, player) | Button released event. |
Manager:keypressed(key) | Hook for love.keypressed. |
Manager:keyreleased(key) | Hook for love.keyreleased. |
Functions
Methods- Manager:init([kwargs])
-
Configure InputManager.
Parameters:
- Manager:reset([remote=0])
-
Reset all inputs and timer of manager.
Parameters:
- remote number (default 0)
- Manager:advance()
- Advance timer and frame.
- Manager:update()
- Update inputs.
- Manager:newRemotePlayer()
-
Create input source for remote player.
Returns:
-
number
player's id
- Manager:updateMappings(mappings)
-
Sync mappings with config.
Parameters:
- mappings table
- Manager:hitted(button, player)
-
Check if button was pressed at this frame.
Parameters:
- button string Hitted button.
- player number Player to check or nil to check any local player.
Returns:
- boolean
- number
- Manager:consume(button, player)
-
Check if button was pressed at this frame and consume it for next call.
Parameters:
- button string Hitted button.
- player number Player to check or nil to check any local player.
Returns:
- boolean
- number
- Manager:pressed(button, player)
-
Check if button was pressed.
Parameters:
- button string Pressed button.
- player number Player to check or nil to check any local player.
Returns:
- boolean
- number
- Manager:doubled(button, player)
-
Check if button was double pressed.
Parameters:
- button string Doubled button.
- player number Player to check or nil to check any local player.
Returns:
- boolean
- number
- Manager:check(data, player)
-
Check if input data exists.
Parameters:
- data number
- player number
Returns:
-
boolean
- Manager:lastinput(player)
-
Get last saved input for specific player.
Parameters:
- player number
Returns:
-
number
- Manager:addinput(input[, player=1[, timer]])
-
Persist raw input data.
Parameters:
- input number
- player number (default 1)
- timer number Default is current timer. (optional)
Returns:
- Manager:saveinput([player[, frame]])
-
Save input data for local player.
Parameters:
- player number ... (optional)
- frame number Default is current timer. (optional)
Returns:
-
number
- Manager:stream([player=1])
-
Stream-function which should be used in
for ... in stream
loops.Parameters:
- player number (default 1)
Returns:
-
function
Execution data of the returned function is listed below:
Or
- number Player ID.
- number Frame number.
- number Input data.
- Manager:rawinput(player)
-
Get raw input data for local player.
Parameters:
- player number
Returns:
-
number
- Manager:press(button, player)
-
Button pressed event.
Parameters:
- button string Pressed button.
- player number Player index.
- Manager:release(button, player)
-
Button released event.
Parameters:
- button string Released button.
- player number Player index.
- Manager:keypressed(key)
-
Hook for love.keypressed.
Parameters:
- key string
- Manager:keyreleased(key)
-
Hook for love.keyreleased.
Parameters:
- key string