Class: MicrogameInputManager

input~MicrogameInputManager()

Manages ALL inputs for the Microgame Jam.

Constructor

new MicrogameInputManager()

Source:

Members

(private) captureNextCallback

Callback to call after an input is recieved. Set in module:input~MicrogameInputManager#captureNextInput.
Source:

(private) defaultBindingStrings :Object:.<string:, string:>

Default dictionary of how arrow key presses are controlled by bindings.
Type:
  • Object:.<string:, string:>
Default Value:
  • getBindingsStrings("all")
Source:
See:

(readonly) defaultBindingStrings

Source:

(private) defaultBindingStringsByBindingName :Object:.<string:, string:>

Default list of how arrow key presses are controlled by bindings.
Type:
  • Object:.<string:, string:>
Default Value:
  • getBindingsStringsByBindingName("all")
Source:
See:

(private) defaultBindings :Object:.<string:, Map:.<string:, type:>>

Default bindings for controls. Set in constructor.
Type:
  • Object:.<string:, Map:.<string:, type:>>
Default Value:
  • getBindings("all")
Source:
See:
  • getAllBindings("all")

gameTarget :Element

The current iframe to target.
Type:
  • Element
Source:

(private) keysDown :Set

The keys currently being pressed.
Type:
  • Set
Source:

(private) microgameInputs

List of all input methods.
Default Value:
  • {"keyboard": new MicrogameKeyboard()};
Source:

Methods

addBinding(game, bindingName, binding)

Parameters:
Name Type Description
game string Game Name
bindingName string The arrow key to bind to as what's pressed when binding is pressed (it's confusing, I'm sorry)
binding Object The control pressed to add as a binding. Grabbed from module:input~MicrogameInput from children's getAnyInput function.
Source:

cancelCaptureInput()

Source:
See:

captureNextInput(callback)

Parameters:
Name Type Description
callback function To call in module:input~MicrogameInputManager#updateInput
Source:
See:

clearBindings(game, bindingName)

Clear all the bindings for a given game and direction.
Parameters:
Name Type Description
game string Game Name
bindingName string Direction (ArrowUp, ArrowLeft, etc.)
Source:

gameStartInputUpdate(game)

Calls gameStartInput update on all the child module:input~MicrogameInputs. Sets the current game target to send inputs to. Called by MicrogameJam#gameStarted.
Parameters:
Name Type Description
game string Game Name
Source:

getAllBindings(game) → {Object:.<string:, Map:.<string:, type:>>}

Parameters:
Name Type Description
game string Game Name
Source:
Returns:
A dictionary of bindings by the keys to press. Each binding associates with a map that associates with a specific control (i.e., an input from module:input~MicrogameInput) and the associated type of module:input~MicrogameInput.
Type
Object:.<string:, Map:.<string:, type:>>

getAnyInput() → {Object}

From all of module:input~MicrogameInputManager#microgameInputs, check if any controls are being pressed from one.
Source:
Returns:
A given control, or null if no input is down.
Type
Object

getBindingsStrings(game) → {Object:.<string:, string:>}

Parameters:
Name Type Description
game string Game Name
Source:
Returns:
Dictionary of how arrow key presses relate to input bindings (i.e., what bindings represent what arrow key presses, but in reverse.)
Type
Object:.<string:, string:>

getBindingsStringsByBindingName(game) → {Object:.<string:, string:>}

Like module:input~MicrogameInputManager#getBindingsStrings, except meant to be formatted in a more display friendly format. Used exclusively by module:optionsmanager.
Parameters:
Name Type Description
game string Game Name
Source:
Returns:
Dictionary of how arrow key presses relate to input bindings (i.e., what bindings represent what arrow key presses, but in reverse.)
Type
Object:.<string:, string:>

hasAdjustedBindings(game) → {boolean}

Does the current game differ from our default bindings?
Parameters:
Name Type Description
game string Game Name
Source:
Returns:
Type
boolean

hasBinding(game, binding) → {boolean}

Parameters:
Name Type Description
game string Game Name
binding Object The control that's been pressed.
Source:
Returns:
Is this control bound somewhere?
Type
boolean

resetBindings(game, bindingName)

Reset a game's bindings to their default values.
Parameters:
Name Type Description
game string Game Name
bindingName string Direction (ArrowUp, ArrowLeft, etc.)
Source:

setBindingFromOption(game, direction, option)

Called exclusively by module:optionsmanager.OptionsManager.
Parameters:
Name Type Description
game string Game Name
direction string Something like "ArrowUp" or "ArrowLeft".
option Array:.<{type:: type:, control:: string:}, string:> Settings array for one direction from one game.
Source:

updateInput()

Run every frame or so by MicrogameJam#update.
Source:

(static) pressKey(key, isDown)

Press a key to the active game.
Parameters:
Name Type Description
key string Keycode
isDown boolean Are we pressing up or down?
Source: