xray16 1.4.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/types/xr_ai/xr_action.d.ts +1321 -29
- package/types/xr_ai/xr_alife.d.ts +1336 -32
- package/types/xr_ai/xr_enemy_evaluation.d.ts +112 -19
- package/types/xr_ai/xr_goap.d.ts +450 -3
- package/types/xr_ai/xr_graph.d.ts +94 -6
- package/types/xr_ai/xr_memory.d.ts +240 -6
- package/types/xr_lib/xr_animation.d.ts +185 -14
- package/types/xr_lib/xr_bitwise.d.ts +20 -8
- package/types/xr_lib/xr_color.d.ts +103 -6
- package/types/xr_lib/xr_debug.d.ts +110 -12
- package/types/xr_lib/xr_dialog.d.ts +99 -7
- package/types/xr_lib/xr_flags.d.ts +78 -15
- package/types/xr_lib/xr_fs.d.ts +395 -5
- package/types/xr_lib/xr_game.d.ts +101 -0
- package/types/xr_lib/xr_hit.d.ts +84 -0
- package/types/xr_lib/xr_ini.d.ts +60 -2
- package/types/xr_lib/xr_level.d.ts +182 -39
- package/types/xr_lib/xr_luabind.d.ts +37 -11
- package/types/xr_lib/xr_map.d.ts +137 -6
- package/types/xr_lib/xr_math.d.ts +56 -0
- package/types/xr_lib/xr_multiplayer.d.ts +729 -1
- package/types/xr_lib/xr_profile.d.ts +80 -0
- package/types/xr_lib/xr_properties.d.ts +159 -4
- package/types/xr_lib/xr_relation.d.ts +147 -0
- package/types/xr_lib/xr_render.d.ts +99 -3
- package/types/xr_lib/xr_save.d.ts +110 -4
- package/types/xr_lib/xr_sound.d.ts +373 -9
- package/types/xr_lib/xr_stats.ts +33 -4
- package/types/xr_lib/xr_task.d.ts +277 -0
- package/types/xr_lib/xr_time.d.ts +11 -0
- package/types/xr_object/client/xr_anomaly.d.ts +20 -0
- package/types/xr_object/client/xr_artefact.d.ts +57 -2
- package/types/xr_object/client/xr_client_object.d.ts +131 -0
- package/types/xr_object/client/xr_creature.d.ts +79 -0
- package/types/xr_object/client/xr_item.d.ts +108 -2
- package/types/xr_object/client/xr_level.d.ts +482 -14
- package/types/xr_object/client/xr_physic.d.ts +459 -29
- package/types/xr_object/client/xr_zone.d.ts +38 -0
- package/types/xr_object/script/xr_script_interface.d.ts +236 -1
- package/types/xr_object/script/xr_script_object.d.ts +3402 -82
- package/types/xr_object/script/xr_script_trade.d.ts +25 -15
- package/types/xr_object/server/xr_server_object.d.ts +707 -15
- package/types/xr_ui/xr_ui_asset.d.ts +241 -6
- package/types/xr_ui/xr_ui_core.d.ts +327 -9
- package/types/xr_ui/xr_ui_event.d.ts +1067 -1
- package/types/xr_ui/xr_ui_interface.d.ts +1563 -17
- package/types/xr_ui/xr_ui_menu.d.ts +259 -16
- package/types/xrf_plugin.d.ts +44 -14
|
@@ -1,213 +1,643 @@
|
|
|
1
1
|
declare module "xray16" {
|
|
2
2
|
/**
|
|
3
|
+
* One rigid body element inside a physics shell.
|
|
4
|
+
*
|
|
3
5
|
* @source C++ class physics_element
|
|
4
6
|
* @customConstructor physics_element
|
|
5
7
|
* @group xr_physic
|
|
8
|
+
*
|
|
9
|
+
* @remarks
|
|
10
|
+
* Scripts normally receive elements from a `physics_shell`; they are live engine objects, not standalone values. Keep
|
|
11
|
+
* them only while the owning shell and object are alive.
|
|
6
12
|
*/
|
|
7
13
|
export class physics_element {
|
|
8
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Apply force to the element.
|
|
16
|
+
*
|
|
17
|
+
* @param x - Force x component.
|
|
18
|
+
* @param y - Force y component.
|
|
19
|
+
* @param z - Force z component.
|
|
20
|
+
*/
|
|
21
|
+
public apply_force(x: f32, y: f32, z: f32): void;
|
|
9
22
|
|
|
23
|
+
/**
|
|
24
|
+
* Fix the element in place.
|
|
25
|
+
*/
|
|
10
26
|
public fix(): void;
|
|
11
27
|
|
|
12
|
-
|
|
28
|
+
/**
|
|
29
|
+
* Write current angular velocity into a vector.
|
|
30
|
+
*
|
|
31
|
+
* @remarks
|
|
32
|
+
* The passed vector is overwritten.
|
|
33
|
+
*
|
|
34
|
+
* @param velocity - Output vector.
|
|
35
|
+
*/
|
|
36
|
+
public get_angular_vel(velocity: vector): void;
|
|
13
37
|
|
|
38
|
+
/**
|
|
39
|
+
* @returns Element density.
|
|
40
|
+
*/
|
|
14
41
|
public get_density(): f32;
|
|
15
42
|
|
|
16
|
-
|
|
43
|
+
/**
|
|
44
|
+
* Write current linear velocity into a vector.
|
|
45
|
+
*
|
|
46
|
+
* @remarks
|
|
47
|
+
* The passed vector is overwritten.
|
|
48
|
+
*
|
|
49
|
+
* @param velocity - Output vector.
|
|
50
|
+
*/
|
|
51
|
+
public get_linear_vel(velocity: vector): void;
|
|
17
52
|
|
|
53
|
+
/**
|
|
54
|
+
* @returns Element mass.
|
|
55
|
+
*/
|
|
18
56
|
public get_mass(): f32;
|
|
19
57
|
|
|
58
|
+
/**
|
|
59
|
+
* @returns Element volume.
|
|
60
|
+
*/
|
|
20
61
|
public get_volume(): f32;
|
|
21
62
|
|
|
63
|
+
/**
|
|
64
|
+
* @returns Current global transform.
|
|
65
|
+
*/
|
|
22
66
|
public global_transform(): matrix;
|
|
23
67
|
|
|
68
|
+
/**
|
|
69
|
+
* @returns Whether the element can break.
|
|
70
|
+
*/
|
|
24
71
|
public is_breakable(): boolean;
|
|
25
72
|
|
|
73
|
+
/**
|
|
74
|
+
* @returns Whether the element is fixed.
|
|
75
|
+
*/
|
|
26
76
|
public is_fixed(): boolean;
|
|
27
77
|
|
|
78
|
+
/**
|
|
79
|
+
* Release a fixed element.
|
|
80
|
+
*/
|
|
28
81
|
public release_fixed(): void;
|
|
29
82
|
}
|
|
30
83
|
|
|
31
84
|
/**
|
|
85
|
+
* Script-controlled particle system.
|
|
86
|
+
*
|
|
32
87
|
* @source C++ class particles_object
|
|
33
88
|
* @customConstructor particles_object
|
|
34
89
|
* @group xr_physic
|
|
90
|
+
*
|
|
91
|
+
* @remarks
|
|
92
|
+
* Path playback methods require a path loaded with `load_path()` first.
|
|
35
93
|
*/
|
|
36
94
|
export class particles_object {
|
|
95
|
+
/**
|
|
96
|
+
* @param name - Particle resource name.
|
|
97
|
+
*/
|
|
37
98
|
public constructor(name: string);
|
|
38
99
|
|
|
39
|
-
|
|
100
|
+
/**
|
|
101
|
+
* Pause or resume the loaded particle path.
|
|
102
|
+
*
|
|
103
|
+
* @remarks
|
|
104
|
+
* Requires `load_path()` to have created the internal animator.
|
|
105
|
+
*
|
|
106
|
+
* @param is_paused - Whether path playback is paused.
|
|
107
|
+
*/
|
|
108
|
+
public pause_path(is_paused: boolean): void;
|
|
40
109
|
|
|
41
|
-
|
|
110
|
+
/**
|
|
111
|
+
* Play particles at a world position.
|
|
112
|
+
*
|
|
113
|
+
* @remarks
|
|
114
|
+
* Updates the particle transform and starts non-looped playback.
|
|
115
|
+
*
|
|
116
|
+
* @param position - World position.
|
|
117
|
+
*/
|
|
118
|
+
public play_at_pos(position: vector): void;
|
|
42
119
|
|
|
43
|
-
|
|
120
|
+
/**
|
|
121
|
+
* Move particles and provide velocity for interpolation.
|
|
122
|
+
*
|
|
123
|
+
* @remarks
|
|
124
|
+
* Use this while an effect is already playing to keep its parent transform current.
|
|
125
|
+
*
|
|
126
|
+
* @param position - New world position.
|
|
127
|
+
* @param velocity - Current movement velocity.
|
|
128
|
+
*/
|
|
129
|
+
public move_to(position: vector, velocity: vector): void;
|
|
44
130
|
|
|
131
|
+
/**
|
|
132
|
+
* @returns Whether the particle system is looped.
|
|
133
|
+
*/
|
|
45
134
|
public looped(): boolean;
|
|
46
135
|
|
|
136
|
+
/**
|
|
137
|
+
* Load an object animator path for the particle system.
|
|
138
|
+
*
|
|
139
|
+
* @remarks
|
|
140
|
+
* Reuses the current animator when the same path is already loaded.
|
|
141
|
+
*
|
|
142
|
+
* @param path - Path name.
|
|
143
|
+
*/
|
|
47
144
|
public load_path(path: string): void;
|
|
48
145
|
|
|
146
|
+
/**
|
|
147
|
+
* Start moving along the loaded path.
|
|
148
|
+
*
|
|
149
|
+
* @remarks
|
|
150
|
+
* Requires `load_path()` first.
|
|
151
|
+
*
|
|
152
|
+
* @param is_looped - Whether path playback loops.
|
|
153
|
+
*/
|
|
49
154
|
public start_path(is_looped: boolean): void;
|
|
50
155
|
|
|
156
|
+
/**
|
|
157
|
+
* Stop particles immediately.
|
|
158
|
+
*/
|
|
51
159
|
public stop(): void;
|
|
52
160
|
|
|
161
|
+
/**
|
|
162
|
+
* Stop path playback.
|
|
163
|
+
*
|
|
164
|
+
* @remarks
|
|
165
|
+
* Requires `load_path()` first.
|
|
166
|
+
*/
|
|
53
167
|
public stop_path(): void;
|
|
54
168
|
|
|
169
|
+
/**
|
|
170
|
+
* Stop particles after existing particles finish.
|
|
171
|
+
*/
|
|
55
172
|
public stop_deffered(): void;
|
|
56
173
|
|
|
174
|
+
/**
|
|
175
|
+
* Start particle playback at the current transform.
|
|
176
|
+
*/
|
|
57
177
|
public play(): void;
|
|
58
178
|
|
|
179
|
+
/**
|
|
180
|
+
* @returns Whether particles are currently playing.
|
|
181
|
+
*/
|
|
59
182
|
public playing(): boolean;
|
|
60
183
|
|
|
184
|
+
/**
|
|
185
|
+
* @returns Last particle position.
|
|
186
|
+
*/
|
|
61
187
|
public last_position(): vector;
|
|
62
188
|
|
|
189
|
+
/**
|
|
190
|
+
* Set particle forward direction.
|
|
191
|
+
*
|
|
192
|
+
* @remarks
|
|
193
|
+
* Pass a meaningful direction vector; the engine builds the remaining basis vectors from it.
|
|
194
|
+
*
|
|
195
|
+
* @param direction - New normalized direction.
|
|
196
|
+
*/
|
|
63
197
|
public set_direction(direction: vector): void;
|
|
64
198
|
|
|
65
|
-
|
|
199
|
+
/**
|
|
200
|
+
* Set particle orientation.
|
|
201
|
+
*
|
|
202
|
+
* @param yaw - Yaw angle.
|
|
203
|
+
* @param pitch - Pitch angle.
|
|
204
|
+
* @param roll - Roll angle.
|
|
205
|
+
*/
|
|
206
|
+
public set_orientation(yaw: f32, pitch: f32, roll: f32): void;
|
|
66
207
|
|
|
208
|
+
/**
|
|
209
|
+
* Stop particles after existing particles finish.
|
|
210
|
+
*/
|
|
67
211
|
public stop_deferred(): void;
|
|
68
212
|
}
|
|
69
213
|
|
|
70
214
|
/**
|
|
215
|
+
* Joint connecting two physics elements.
|
|
216
|
+
*
|
|
71
217
|
* @source C++ class physics_joint
|
|
72
218
|
* @customConstructor physics_joint
|
|
73
219
|
* @group xr_physic
|
|
220
|
+
*
|
|
221
|
+
* @remarks
|
|
222
|
+
* Joint handles come from a `physics_shell`. Axis methods expect an axis supported by this joint; check
|
|
223
|
+
* `get_axes_number()` before using indexed axis methods. Keep them only while the owning shell and object are alive.
|
|
74
224
|
*/
|
|
75
225
|
export class physics_joint {
|
|
76
|
-
|
|
226
|
+
/**
|
|
227
|
+
* Write the joint anchor into a vector.
|
|
228
|
+
*
|
|
229
|
+
* @remarks
|
|
230
|
+
* The passed vector is overwritten. Slider joints do not have a defined anchor and trip a native assertion.
|
|
231
|
+
*
|
|
232
|
+
* @param anchor - Output anchor vector.
|
|
233
|
+
*/
|
|
234
|
+
public get_anchor(anchor: vector): void;
|
|
77
235
|
|
|
236
|
+
/**
|
|
237
|
+
* @returns Number of controlled axes.
|
|
238
|
+
*/
|
|
78
239
|
public get_axes_number(): u16;
|
|
79
240
|
|
|
80
|
-
|
|
241
|
+
/**
|
|
242
|
+
* Get current angle for an axis.
|
|
243
|
+
*
|
|
244
|
+
* @remarks
|
|
245
|
+
* Use an axis index lower than `get_axes_number()`.
|
|
246
|
+
*
|
|
247
|
+
* @param axis - Axis index.
|
|
248
|
+
* @returns Axis angle.
|
|
249
|
+
*/
|
|
250
|
+
public get_axis_angle(axis: i32): f32;
|
|
81
251
|
|
|
82
|
-
|
|
252
|
+
/**
|
|
253
|
+
* Write axis direction into a vector.
|
|
254
|
+
*
|
|
255
|
+
* @remarks
|
|
256
|
+
* The passed vector is overwritten. Ball joints have no axis direction to write.
|
|
257
|
+
*
|
|
258
|
+
* @param axis - Axis index.
|
|
259
|
+
* @param direction - Output direction vector.
|
|
260
|
+
*/
|
|
261
|
+
public get_axis_dir(axis: i32, direction: vector): void;
|
|
83
262
|
|
|
263
|
+
/**
|
|
264
|
+
* @returns Bone id associated with this joint.
|
|
265
|
+
*/
|
|
84
266
|
public get_bone_id(): u16;
|
|
85
267
|
|
|
268
|
+
/**
|
|
269
|
+
* @returns First connected physics element.
|
|
270
|
+
*/
|
|
86
271
|
public get_first_element(): physics_element;
|
|
87
272
|
|
|
88
|
-
|
|
273
|
+
/**
|
|
274
|
+
* Get angle limits for an axis.
|
|
275
|
+
*
|
|
276
|
+
* @remarks
|
|
277
|
+
* The first two parameters are Lua output placeholders; use the returned tuple in TypeScript.
|
|
278
|
+
*
|
|
279
|
+
* @param min - Output lower limit placeholder.
|
|
280
|
+
* @param max - Output upper limit placeholder.
|
|
281
|
+
* @param axis - Axis index.
|
|
282
|
+
* @returns Lower and upper limits.
|
|
283
|
+
*/
|
|
284
|
+
public get_limits(min: f32, max: f32, axis: i32): LuaMultiReturn<[number, number]>;
|
|
89
285
|
|
|
90
|
-
|
|
286
|
+
/**
|
|
287
|
+
* Get force and velocity limits for an axis.
|
|
288
|
+
*
|
|
289
|
+
* @remarks
|
|
290
|
+
* Native Lua writes through the first two parameters. In TypeScript, pass placeholders only for declaration
|
|
291
|
+
* compatibility.
|
|
292
|
+
*
|
|
293
|
+
* @param force - Output force placeholder.
|
|
294
|
+
* @param velocity - Output velocity placeholder.
|
|
295
|
+
* @param axis - Axis index.
|
|
296
|
+
*/
|
|
297
|
+
public get_max_force_and_velocity(force: f32, velocity: f32, axis: i32): void;
|
|
91
298
|
|
|
299
|
+
/**
|
|
300
|
+
* @returns Second connected physics element.
|
|
301
|
+
*/
|
|
92
302
|
public get_stcond_element(): physics_element;
|
|
93
303
|
|
|
304
|
+
/**
|
|
305
|
+
* @returns Whether the joint can break.
|
|
306
|
+
*/
|
|
94
307
|
public is_breakable(): boolean;
|
|
95
308
|
|
|
96
|
-
|
|
309
|
+
/**
|
|
310
|
+
* Set anchor in world space.
|
|
311
|
+
*
|
|
312
|
+
* @remarks
|
|
313
|
+
* The coordinates are interpreted in the shell's global frame.
|
|
314
|
+
*/
|
|
315
|
+
public set_anchor_global(x: f32, y: f32, z: f32): void;
|
|
97
316
|
|
|
98
|
-
|
|
317
|
+
/**
|
|
318
|
+
* Set anchor relative to the first element.
|
|
319
|
+
*
|
|
320
|
+
* @remarks
|
|
321
|
+
* The coordinates are interpreted in the first element's local frame.
|
|
322
|
+
*/
|
|
323
|
+
public set_anchor_vs_first_element(x: f32, y: f32, z: f32): void;
|
|
99
324
|
|
|
100
|
-
|
|
325
|
+
/**
|
|
326
|
+
* Set anchor relative to the second element.
|
|
327
|
+
*
|
|
328
|
+
* @remarks
|
|
329
|
+
* The coordinates are interpreted in the second element's local frame.
|
|
330
|
+
*/
|
|
331
|
+
public set_anchor_vs_second_element(x: f32, y: f32, z: f32): void;
|
|
101
332
|
|
|
102
|
-
|
|
333
|
+
/**
|
|
334
|
+
* Set axis direction in world space.
|
|
335
|
+
*
|
|
336
|
+
* @remarks
|
|
337
|
+
* Use an axis index lower than `get_axes_number()`.
|
|
338
|
+
*/
|
|
339
|
+
public set_axis_dir_global(x: f32, y: f32, z: f32, axis: i32): void;
|
|
103
340
|
|
|
104
|
-
|
|
341
|
+
/**
|
|
342
|
+
* Set axis direction relative to the first element.
|
|
343
|
+
*
|
|
344
|
+
* @remarks
|
|
345
|
+
* Use an axis index lower than `get_axes_number()`.
|
|
346
|
+
*/
|
|
347
|
+
public set_axis_dir_vs_first_element(x: f32, y: f32, z: f32, axis: i32): void;
|
|
105
348
|
|
|
106
|
-
|
|
349
|
+
/**
|
|
350
|
+
* Set axis direction relative to the second element.
|
|
351
|
+
*
|
|
352
|
+
* @remarks
|
|
353
|
+
* Use an axis index lower than `get_axes_number()`.
|
|
354
|
+
*/
|
|
355
|
+
public set_axis_dir_vs_second_element(x: f32, y: f32, z: f32, axis: i32): void;
|
|
107
356
|
|
|
108
|
-
|
|
357
|
+
/**
|
|
358
|
+
* Set spring and damping factors for an axis.
|
|
359
|
+
*
|
|
360
|
+
* @remarks
|
|
361
|
+
* Use an axis index lower than `get_axes_number()`.
|
|
362
|
+
*/
|
|
363
|
+
public set_axis_spring_dumping_factors(spring: f32, damping: f32, axis: i32): void;
|
|
109
364
|
|
|
110
|
-
|
|
365
|
+
/**
|
|
366
|
+
* Set spring and damping factors for the whole joint.
|
|
367
|
+
*/
|
|
368
|
+
public set_joint_spring_dumping_factors(spring: f32, damping: f32): void;
|
|
111
369
|
|
|
112
|
-
|
|
370
|
+
/**
|
|
371
|
+
* Set angle limits for an axis.
|
|
372
|
+
*
|
|
373
|
+
* @remarks
|
|
374
|
+
* Limits are angles in radians for rotational axes. Use an axis index lower than `get_axes_number()`.
|
|
375
|
+
*/
|
|
376
|
+
public set_limits(min: f32, max: f32, axis: i32): void;
|
|
113
377
|
|
|
114
|
-
|
|
378
|
+
/**
|
|
379
|
+
* Set force and velocity limits for an axis.
|
|
380
|
+
*
|
|
381
|
+
* @remarks
|
|
382
|
+
* Use an axis index lower than `get_axes_number()`.
|
|
383
|
+
*/
|
|
384
|
+
public set_max_force_and_velocity(force: f32, velocity: f32, axis: i32): void;
|
|
115
385
|
}
|
|
116
386
|
|
|
117
387
|
/**
|
|
388
|
+
* Physics shell made of elements and joints.
|
|
389
|
+
*
|
|
118
390
|
* @source C++ class physics_shell
|
|
119
391
|
* @customConstructor physics_shell
|
|
120
392
|
* @group xr_physic
|
|
393
|
+
*
|
|
394
|
+
* @remarks
|
|
395
|
+
* Shells are engine-owned. Store-order lookups require an index lower than the corresponding count method.
|
|
121
396
|
*/
|
|
122
397
|
export class physics_shell {
|
|
398
|
+
/**
|
|
399
|
+
* Engine-created physics shell.
|
|
400
|
+
*/
|
|
123
401
|
private constructor();
|
|
124
402
|
|
|
125
|
-
|
|
403
|
+
/**
|
|
404
|
+
* Apply force to the shell.
|
|
405
|
+
*
|
|
406
|
+
* @param x - Force x component.
|
|
407
|
+
* @param y - Force y component.
|
|
408
|
+
* @param z - Force z component.
|
|
409
|
+
*/
|
|
410
|
+
public apply_force(x: f32, y: f32, z: f32): void;
|
|
126
411
|
|
|
412
|
+
/**
|
|
413
|
+
* Prevent shell elements and joints from breaking.
|
|
414
|
+
*/
|
|
127
415
|
public block_breaking(): void;
|
|
128
416
|
|
|
129
|
-
|
|
417
|
+
/**
|
|
418
|
+
* Write current angular velocity into a vector.
|
|
419
|
+
*
|
|
420
|
+
* @remarks
|
|
421
|
+
* The passed vector is overwritten with the root element's angular velocity.
|
|
422
|
+
*
|
|
423
|
+
* @param velocity - Output vector.
|
|
424
|
+
*/
|
|
425
|
+
public get_angular_vel(velocity: vector): void;
|
|
130
426
|
|
|
427
|
+
/**
|
|
428
|
+
* Get an element by model bone id.
|
|
429
|
+
*
|
|
430
|
+
* @remarks
|
|
431
|
+
* Returns the element attached to the bone, if the shell has one for that id. Invalid ids can trip native
|
|
432
|
+
* assertions in debug builds.
|
|
433
|
+
*
|
|
434
|
+
* @param id - Bone id.
|
|
435
|
+
* @returns Matching physics element.
|
|
436
|
+
*/
|
|
131
437
|
public get_element_by_bone_id(id: u16): physics_element;
|
|
132
438
|
|
|
439
|
+
/**
|
|
440
|
+
* Get an element by model bone name.
|
|
441
|
+
*
|
|
442
|
+
* @remarks
|
|
443
|
+
* The bone name must exist in the shell's kinematics. Invalid names can trip native assertions in debug builds.
|
|
444
|
+
*
|
|
445
|
+
* @param bone_name - Bone name.
|
|
446
|
+
* @returns Matching physics element.
|
|
447
|
+
*/
|
|
133
448
|
public get_element_by_bone_name(bone_name: string): physics_element;
|
|
134
449
|
|
|
450
|
+
/**
|
|
451
|
+
* Get an element by shell storage order.
|
|
452
|
+
*
|
|
453
|
+
* @remarks
|
|
454
|
+
* `order` must be lower than `get_elements_number()`; invalid values trip a native assertion.
|
|
455
|
+
*
|
|
456
|
+
* @param order - Element order.
|
|
457
|
+
* @returns Matching physics element.
|
|
458
|
+
*/
|
|
135
459
|
public get_element_by_order(order: u16): physics_element;
|
|
136
460
|
|
|
461
|
+
/**
|
|
462
|
+
* @returns Number of elements in the shell.
|
|
463
|
+
*/
|
|
137
464
|
public get_elements_number(): u16;
|
|
138
465
|
|
|
466
|
+
/**
|
|
467
|
+
* Get a joint by model bone id.
|
|
468
|
+
*
|
|
469
|
+
* @remarks
|
|
470
|
+
* Returns the joint attached to the bone, if the shell has one for that id. Invalid ids can trip native assertions
|
|
471
|
+
* in debug builds.
|
|
472
|
+
*
|
|
473
|
+
* @param id - Bone id.
|
|
474
|
+
* @returns Matching physics joint.
|
|
475
|
+
*/
|
|
139
476
|
public get_joint_by_bone_id(id: u16): physics_joint;
|
|
140
477
|
|
|
478
|
+
/**
|
|
479
|
+
* Get a joint by model bone name.
|
|
480
|
+
*
|
|
481
|
+
* @remarks
|
|
482
|
+
* The bone name must exist in the shell's kinematics. Invalid names can trip native assertions in debug builds.
|
|
483
|
+
*
|
|
484
|
+
* @param name - Bone name.
|
|
485
|
+
* @returns Matching physics joint.
|
|
486
|
+
*/
|
|
141
487
|
public get_joint_by_bone_name(name: string): physics_joint;
|
|
142
488
|
|
|
489
|
+
/**
|
|
490
|
+
* Get a joint by shell storage order.
|
|
491
|
+
*
|
|
492
|
+
* @remarks
|
|
493
|
+
* `order` must be lower than `get_joints_number()`; invalid values trip a native assertion.
|
|
494
|
+
*
|
|
495
|
+
* @param order - Joint order.
|
|
496
|
+
* @returns Matching physics joint.
|
|
497
|
+
*/
|
|
143
498
|
public get_joint_by_order(order: u16): physics_joint;
|
|
144
499
|
|
|
500
|
+
/**
|
|
501
|
+
* @returns Number of joints in the shell.
|
|
502
|
+
*/
|
|
145
503
|
public get_joints_number(): u16;
|
|
146
504
|
|
|
147
|
-
|
|
505
|
+
/**
|
|
506
|
+
* Write current linear velocity into a vector.
|
|
507
|
+
*
|
|
508
|
+
* @remarks
|
|
509
|
+
* The passed vector is overwritten with the root element's linear velocity.
|
|
510
|
+
*
|
|
511
|
+
* @param velocity - Output vector.
|
|
512
|
+
*/
|
|
513
|
+
public get_linear_vel(velocity: vector): void;
|
|
148
514
|
|
|
515
|
+
/**
|
|
516
|
+
* @returns Whether the shell can break.
|
|
517
|
+
*/
|
|
149
518
|
public is_breakable(): boolean;
|
|
150
519
|
|
|
520
|
+
/**
|
|
521
|
+
* @returns Whether breaking is currently blocked.
|
|
522
|
+
*/
|
|
151
523
|
public is_breaking_blocked(): boolean;
|
|
152
524
|
|
|
525
|
+
/**
|
|
526
|
+
* Allow shell elements and joints to break again.
|
|
527
|
+
*/
|
|
153
528
|
public unblock_breaking(): void;
|
|
154
529
|
}
|
|
155
530
|
|
|
156
531
|
/**
|
|
532
|
+
* Global physics world controls.
|
|
533
|
+
*
|
|
157
534
|
* @source C++ class physics_world
|
|
158
535
|
* @customConstructor physics_world
|
|
159
536
|
* @group xr_physic
|
|
537
|
+
*
|
|
538
|
+
* @remarks
|
|
539
|
+
* Obtain the live world through `level.physics_world()`. Gravity changes affect the whole level.
|
|
160
540
|
*/
|
|
161
541
|
export class physics_world {
|
|
542
|
+
/**
|
|
543
|
+
* Set world gravity.
|
|
544
|
+
*
|
|
545
|
+
* @param value - Gravity value.
|
|
546
|
+
*/
|
|
162
547
|
public set_gravity(value: f32): void;
|
|
163
548
|
|
|
549
|
+
/**
|
|
550
|
+
* @returns Current world gravity.
|
|
551
|
+
*/
|
|
164
552
|
public gravity(): f32;
|
|
165
553
|
|
|
554
|
+
/**
|
|
555
|
+
* Add a physics condition/action callback pair.
|
|
556
|
+
*
|
|
557
|
+
* @remarks
|
|
558
|
+
* This binding expects native `CPHCondition` and `CPHAction` objects; ordinary scripts rarely call it directly.
|
|
559
|
+
*/
|
|
166
560
|
public add_call(/* Class CPHCondition*, class CPHAction */): void;
|
|
167
561
|
}
|
|
168
562
|
|
|
169
563
|
/**
|
|
564
|
+
* Animated model kinematics.
|
|
565
|
+
*
|
|
170
566
|
* @source C++ class IKinematicsAnimated
|
|
171
567
|
* @customConstructor IKinematicsAnimated
|
|
172
568
|
* @group xr_physic
|
|
173
569
|
*/
|
|
174
570
|
export class IKinematicsAnimated {
|
|
175
|
-
|
|
571
|
+
/**
|
|
572
|
+
* Play an animation cycle by name.
|
|
573
|
+
*
|
|
574
|
+
* @param name - Animation name.
|
|
575
|
+
*/
|
|
576
|
+
public PlayCycle(name: string): void;
|
|
176
577
|
}
|
|
177
578
|
|
|
178
579
|
/**
|
|
580
|
+
* Client object that owns a physics shell.
|
|
581
|
+
*
|
|
179
582
|
* @source C++ class CPhysicsShellHolder : public CGameObject, CParticlesPlayer,
|
|
180
583
|
* IObjectPhysicsCollision, IPhysicsShellHolder
|
|
181
584
|
* @customConstructor CPhysicsShellHolder
|
|
182
585
|
* @group xr_physic
|
|
586
|
+
*
|
|
587
|
+
* @remarks
|
|
588
|
+
* This is a native owner of physics shell state. Scripts usually reach it through `game_object.cast_PhysicsShellHolder()`
|
|
589
|
+
* or `game_object.get_physics_shell()`.
|
|
183
590
|
*/
|
|
184
591
|
export class CPhysicsShellHolder extends EngineBinding {
|
|
592
|
+
/**
|
|
593
|
+
* Engine-created physics shell holder.
|
|
594
|
+
*/
|
|
185
595
|
protected constructor();
|
|
186
596
|
}
|
|
187
597
|
|
|
188
598
|
/**
|
|
599
|
+
* Holder object that the actor can engage with.
|
|
600
|
+
*
|
|
189
601
|
* @source C++ class holder
|
|
190
602
|
* @customConstructor holder
|
|
191
603
|
* @group xr_physic
|
|
604
|
+
*
|
|
605
|
+
* @remarks
|
|
606
|
+
* Returned only for objects that implement holder controls, such as mounted weapons or vehicles.
|
|
192
607
|
*/
|
|
193
608
|
export class holder {
|
|
609
|
+
/**
|
|
610
|
+
* @returns Whether the actor is currently attached to the holder.
|
|
611
|
+
*/
|
|
194
612
|
public engaged(): boolean;
|
|
195
613
|
|
|
614
|
+
/**
|
|
615
|
+
* Send holder action flags.
|
|
616
|
+
*
|
|
617
|
+
* @param id - Action id.
|
|
618
|
+
* @param flags - Action flags.
|
|
619
|
+
*/
|
|
196
620
|
public Action(id: u16, flags: u32): void;
|
|
197
621
|
|
|
622
|
+
/**
|
|
623
|
+
* Set holder vector parameter.
|
|
624
|
+
*
|
|
625
|
+
* @param id - Parameter id.
|
|
626
|
+
* @param value - Parameter value.
|
|
627
|
+
*/
|
|
198
628
|
public SetParam(id: i32, value: vector): void;
|
|
199
629
|
|
|
200
630
|
/**
|
|
201
631
|
* Set holder object enter state.
|
|
202
632
|
*
|
|
203
|
-
* @param is_enabled - Whether
|
|
633
|
+
* @param is_enabled - Whether entering the holder is locked.
|
|
204
634
|
*/
|
|
205
635
|
public SetEnterLocked(is_enabled: boolean): void;
|
|
206
636
|
|
|
207
637
|
/**
|
|
208
|
-
* Set holder object
|
|
638
|
+
* Set holder object exit state.
|
|
209
639
|
*
|
|
210
|
-
* @param is_enabled - Whether
|
|
640
|
+
* @param is_enabled - Whether exiting the holder is locked.
|
|
211
641
|
*/
|
|
212
642
|
public SetExitLocked(is_enabled: boolean): void;
|
|
213
643
|
}
|