-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathutk-level-editor.d.ts
157 lines (153 loc) · 3.65 KB
/
utk-level-editor.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
/* tslint:disable */
/* eslint-disable */
/**
*/
export enum MouseButton {
Left,
Right,
}
/**
*/
export enum Keycode {
Escape,
Backspace,
Return,
Space,
PageDown,
PageUp,
Up,
Down,
Left,
Right,
KpEnter,
KpMinus,
KpPlus,
Minus,
Plus,
A,
C,
Q,
S,
W,
X,
Y,
Z,
Num1,
Num2,
F1,
F2,
F3,
F4,
F6,
F7,
F8,
F9,
}
/**
*/
export class LevelEditor {
free(): void;
/**
* @param {WebImage} floor_texture
* @param {WebImage} walls_texture
* @param {WebImage} shadows_alpha_texture
* @param {Uint8Array} font_data
* @param {Function} show_file_upload
* @param {Function} hide_file_upload
* @returns {LevelEditor}
*/
static new(floor_texture: WebImage, walls_texture: WebImage, shadows_alpha_texture: WebImage, font_data: Uint8Array, show_file_upload: Function, hide_file_upload: Function): LevelEditor;
/**
* @returns {number}
*/
screen(): number;
/**
* @returns {number}
*/
screen_width(): number;
/**
* @returns {number}
*/
screen_height(): number;
/**
* @param {number} x
* @param {number} y
* @returns {boolean}
*/
mouse_move(x: number, y: number): boolean;
/**
* @param {number} button
* @returns {boolean}
*/
mouse_down(button: number): boolean;
/**
* @param {number} button
* @returns {boolean}
*/
mouse_up(button: number): boolean;
/**
* @param {number | undefined} key
* @param {string | undefined} text
* @returns {boolean}
*/
key_down(key?: number, text?: string): boolean;
/**
* @param {string} name
* @param {Uint8Array} data
*/
add_level_file(name: string, data: Uint8Array): void;
/**
*/
frame(): void;
}
/**
*/
export class WebImage {
free(): void;
/**
* @param {number} width
* @param {number} height
* @param {Uint8Array} data
* @returns {WebImage}
*/
static new(width: number, height: number, data: Uint8Array): WebImage;
}
export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
export interface InitOutput {
readonly memory: WebAssembly.Memory;
readonly __wbg_webimage_free: (a: number) => void;
readonly webimage_new: (a: number, b: number, c: number, d: number) => number;
readonly __wbg_leveleditor_free: (a: number) => void;
readonly leveleditor_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number;
readonly leveleditor_screen: (a: number) => number;
readonly leveleditor_screen_width: (a: number) => number;
readonly leveleditor_screen_height: (a: number) => number;
readonly leveleditor_mouse_move: (a: number, b: number, c: number) => number;
readonly leveleditor_mouse_down: (a: number, b: number) => number;
readonly leveleditor_mouse_up: (a: number, b: number) => number;
readonly leveleditor_key_down: (a: number, b: number, c: number, d: number) => number;
readonly leveleditor_add_level_file: (a: number, b: number, c: number, d: number, e: number) => void;
readonly leveleditor_frame: (a: number) => void;
readonly __wbindgen_malloc: (a: number) => number;
readonly __wbindgen_realloc: (a: number, b: number, c: number) => number;
readonly __wbindgen_exn_store: (a: number) => void;
}
export type SyncInitInput = BufferSource | WebAssembly.Module;
/**
* Instantiates the given `module`, which can either be bytes or
* a precompiled `WebAssembly.Module`.
*
* @param {SyncInitInput} module
*
* @returns {InitOutput}
*/
export function initSync(module: SyncInitInput): InitOutput;
/**
* If `module_or_path` is {RequestInfo} or {URL}, makes a request and
* for everything else, calls `WebAssembly.instantiate` directly.
*
* @param {InitInput | Promise<InitInput>} module_or_path
*
* @returns {Promise<InitOutput>}
*/
export default function init (module_or_path?: InitInput | Promise<InitInput>): Promise<InitOutput>;