frontend: support input + refactoring
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */
|
||||
|
||||
import { KeyboardInput } from '../input-event/keyboard-input.js';
|
||||
import { MouseInput } from '../input-event/mouse-input.js';
|
||||
import { MouseMovement } from '../input-event/mouse-movement.js';
|
||||
|
||||
|
||||
export enum Input {
|
||||
NONE = 0,
|
||||
Keyboard = 1,
|
||||
MouseMovement = 2,
|
||||
MouseInput = 3
|
||||
}
|
||||
|
||||
export function unionToInput(
|
||||
type: Input,
|
||||
accessor: (obj:KeyboardInput|MouseInput|MouseMovement) => KeyboardInput|MouseInput|MouseMovement|null
|
||||
): KeyboardInput|MouseInput|MouseMovement|null {
|
||||
switch(Input[type]) {
|
||||
case 'NONE': return null;
|
||||
case 'Keyboard': return accessor(new KeyboardInput())! as KeyboardInput;
|
||||
case 'MouseMovement': return accessor(new MouseMovement())! as MouseMovement;
|
||||
case 'MouseInput': return accessor(new MouseInput())! as MouseInput;
|
||||
default: return null;
|
||||
}
|
||||
}
|
||||
|
||||
export function unionListToInput(
|
||||
type: Input,
|
||||
accessor: (index: number, obj:KeyboardInput|MouseInput|MouseMovement) => KeyboardInput|MouseInput|MouseMovement|null,
|
||||
index: number
|
||||
): KeyboardInput|MouseInput|MouseMovement|null {
|
||||
switch(Input[type]) {
|
||||
case 'NONE': return null;
|
||||
case 'Keyboard': return accessor(index, new KeyboardInput())! as KeyboardInput;
|
||||
case 'MouseMovement': return accessor(index, new MouseMovement())! as MouseMovement;
|
||||
case 'MouseInput': return accessor(index, new MouseInput())! as MouseInput;
|
||||
default: return null;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user