2CX4GSOYEHD3N3XCV5ALIFTQVMTKITN4GENQNIS3YNPLCWRWR4IQC
X7IQA5I46B6EHXPBIWTPCMZR4RZQ7PSJN5IMSEHA7H6F2NWQSNSQC
Z3E7XJOW6NSBDYRDKSGTOAEJSPATAUX4JUFCL4DIL3372GL4K52QC
XIWBV6OZXBNUEDNRH2ERMXBLKDV3JNZILXG2ZDZDDGVMXSTX3HEAC
3UFL673QX2JG7KHTAM7DFH4BBYVHDNMXBS2RW45G3JBNFZFLSRRQC
updaters: UpdaterGeneratorType2<GameState>["intent"];
updaters: UpdaterGeneratorType2<PlayerIntentState, GameState>;
type State = { keyIntentConfig: keyToIntentMap;};// TODO: enumerate all the keyboard keys we care abouttype BrowserKeys = string;/** * Holds the mapping of which keyboard keys (as interpreted by the browser) * map to which intents, e.g. "up arrow" means "pan left" */
type State = {
keyIntentConfig: keyToIntentMap;
};
// TODO: enumerate all the keyboard keys we care about
type BrowserKeys = string;
/**
* Holds the mapping of which keyboard keys (as interpreted by the browser)
* map to which intents, e.g. "up arrow" means "pan left"
*/
type State = { keyIntentConfig: keyToIntentMap;};
// NOTE(bowei): does using e.repeat here break when window loses focus??
const keyIntentConfig = this.state.keyIntentConfig;
const { keyIntentConfig } = this.state;
// Default intent - does nothing
/** * Represent the type which has the same deep object struture as T but instead of values, it has * functions on [getUpdater], [enqueueUpdate], and [update] attached to every level of the object structure. */
* Represent the type which has the same deep object struture as T but instead of values, it has
* functions on [getUpdater], [enqueueUpdate], and [update] attached to every level of the object structure.