goudengine 0.0.828 → 0.0.830
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/README.md +116 -0
- package/dist/generated/diagnostic.g.d.ts +15 -0
- package/dist/generated/diagnostic.g.d.ts.map +1 -0
- package/dist/generated/diagnostic.g.js +50 -0
- package/dist/generated/diagnostic.g.js.map +1 -0
- package/dist/generated/index.g.d.ts +4 -2
- package/dist/generated/index.g.d.ts.map +1 -1
- package/dist/generated/index.g.js +8 -1
- package/dist/generated/index.g.js.map +1 -1
- package/dist/generated/node/index.g.d.ts +443 -3
- package/dist/generated/node/index.g.d.ts.map +1 -1
- package/dist/generated/node/index.g.js +985 -17
- package/dist/generated/node/index.g.js.map +1 -1
- package/dist/generated/types/engine.g.d.ts +541 -0
- package/dist/generated/types/engine.g.d.ts.map +1 -1
- package/dist/generated/types/input.g.d.ts +43 -1
- package/dist/generated/types/input.g.d.ts.map +1 -1
- package/dist/generated/types/input.g.js +50 -1
- package/dist/generated/types/input.g.js.map +1 -1
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/node/index.d.ts +6 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.js +28 -0
- package/dist/node/index.js.map +1 -0
- package/dist/shared/debugger.d.ts +9 -0
- package/dist/shared/debugger.d.ts.map +1 -0
- package/dist/shared/debugger.js +11 -0
- package/dist/shared/debugger.js.map +1 -0
- package/dist/shared/network.d.ts +39 -0
- package/dist/shared/network.d.ts.map +1 -0
- package/dist/shared/network.js +66 -0
- package/dist/shared/network.js.map +1 -0
- package/dist/web/generated/types/engine.g.d.ts +541 -0
- package/dist/web/generated/types/engine.g.d.ts.map +1 -1
- package/dist/web/generated/types/input.g.d.ts +43 -1
- package/dist/web/generated/types/input.g.d.ts.map +1 -1
- package/dist/web/generated/types/input.g.js +49 -0
- package/dist/web/generated/types/input.g.js.map +1 -1
- package/dist/web/generated/web/index.g.d.ts +175 -3
- package/dist/web/generated/web/index.g.d.ts.map +1 -1
- package/dist/web/generated/web/index.g.js +497 -6
- package/dist/web/generated/web/index.g.js.map +1 -1
- package/dist/web/shared/debugger.d.ts +9 -0
- package/dist/web/shared/debugger.d.ts.map +1 -0
- package/dist/web/shared/debugger.js +7 -0
- package/dist/web/shared/debugger.js.map +1 -0
- package/dist/web/shared/network.d.ts +39 -0
- package/dist/web/shared/network.d.ts.map +1 -0
- package/dist/web/shared/network.js +61 -0
- package/dist/web/shared/network.js.map +1 -0
- package/dist/web/web/index.d.ts +6 -0
- package/dist/web/web/index.d.ts.map +1 -0
- package/dist/web/web/index.js +6 -0
- package/dist/web/web/index.js.map +1 -0
- package/goud-engine-node.darwin-arm64.node +0 -0
- package/goud-engine-node.darwin-x64.node +0 -0
- package/goud-engine-node.linux-x64-gnu.node +0 -0
- package/goud-engine-node.win32-x64-msvc.node +0 -0
- package/index.d.ts +381 -0
- package/index.js +56 -52
- package/package.json +25 -19
- package/wasm/goud_engine.d.ts +720 -74
- package/wasm/goud_engine.js +1401 -20
- package/wasm/goud_engine_bg.wasm +0 -0
- package/wasm/goud_engine_bg.wasm.d.ts +184 -74
package/index.d.ts
CHANGED
|
@@ -11,7 +11,101 @@ export declare class Entity {
|
|
|
11
11
|
display(): string
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
+
export declare class GoudContext {
|
|
15
|
+
constructor(config?: NapiContextConfig | undefined | null)
|
|
16
|
+
destroy(): boolean
|
|
17
|
+
isValid(): boolean
|
|
18
|
+
getNetworkCapabilities(): NapiNetworkCapabilities
|
|
19
|
+
networkHost(protocol: number, port: number): number
|
|
20
|
+
networkConnect(protocol: number, address: string, port: number): number
|
|
21
|
+
networkConnectWithPeer(protocol: number, address: string, port: number): NapiNetworkConnectResult
|
|
22
|
+
networkDisconnect(handle: number): number
|
|
23
|
+
networkSend(handle: number, peerId: number, data: Buffer, channel: number): number
|
|
24
|
+
networkReceive(handle: number): Buffer
|
|
25
|
+
networkReceivePacket(handle: number): NapiNetworkPacket | null
|
|
26
|
+
networkPoll(handle: number): number
|
|
27
|
+
getNetworkStats(handle: number): NapiNetworkStats
|
|
28
|
+
networkPeerCount(handle: number): number
|
|
29
|
+
setNetworkSimulation(handle: number, config: NapiNetworkSimulationConfig): number
|
|
30
|
+
clearNetworkSimulation(handle: number): number
|
|
31
|
+
setNetworkOverlayHandle(handle: number): number
|
|
32
|
+
clearNetworkOverlayHandle(): number
|
|
33
|
+
getDebuggerSnapshotJson(): string
|
|
34
|
+
getDebuggerManifestJson(): string
|
|
35
|
+
setDebuggerPaused(paused: boolean): void
|
|
36
|
+
stepDebugger(kind: number, count: number): void
|
|
37
|
+
setDebuggerTimeScale(scale: number): void
|
|
38
|
+
setDebuggerDebugDrawEnabled(enabled: boolean): void
|
|
39
|
+
injectDebuggerKeyEvent(key: number, pressed: boolean): void
|
|
40
|
+
injectDebuggerMouseButton(button: number, pressed: boolean): void
|
|
41
|
+
injectDebuggerMousePosition(position: Vec2): void
|
|
42
|
+
injectDebuggerScroll(delta: Vec2): void
|
|
43
|
+
setDebuggerProfilingEnabled(enabled: boolean): void
|
|
44
|
+
setDebuggerSelectedEntity(entityId: number): void
|
|
45
|
+
clearDebuggerSelectedEntity(): void
|
|
46
|
+
getMemorySummary(): NapiMemorySummary
|
|
47
|
+
captureDebuggerFrame(): string
|
|
48
|
+
startDebuggerRecording(): void
|
|
49
|
+
stopDebuggerRecording(): string
|
|
50
|
+
startDebuggerReplay(recording: Buffer): void
|
|
51
|
+
stopDebuggerReplay(): void
|
|
52
|
+
getDebuggerReplayStatusJson(): string
|
|
53
|
+
getDebuggerMetricsTraceJson(): string
|
|
54
|
+
}
|
|
55
|
+
|
|
14
56
|
export declare class GoudGame {
|
|
57
|
+
/** Plays audio from raw bytes on the default channel */
|
|
58
|
+
audioPlay(data: Buffer): number
|
|
59
|
+
/** Plays audio from raw bytes on the given channel */
|
|
60
|
+
audioPlayOnChannel(data: Buffer, channel: number): number
|
|
61
|
+
/** Plays audio with explicit volume, speed, looping, and channel settings */
|
|
62
|
+
audioPlayWithSettings(data: Buffer, volume: number, speed: number, looping: boolean, channel: number): number
|
|
63
|
+
/** Stops a playing audio player */
|
|
64
|
+
audioStop(playerId: number): number
|
|
65
|
+
/** Pauses a playing audio player */
|
|
66
|
+
audioPause(playerId: number): number
|
|
67
|
+
/** Resumes a paused audio player */
|
|
68
|
+
audioResume(playerId: number): number
|
|
69
|
+
/** Stops all active audio players */
|
|
70
|
+
audioStopAll(): number
|
|
71
|
+
/** Sets the global audio volume */
|
|
72
|
+
audioSetGlobalVolume(volume: number): number
|
|
73
|
+
/** Gets the global audio volume */
|
|
74
|
+
audioGetGlobalVolume(): number
|
|
75
|
+
/** Sets the volume for a specific channel */
|
|
76
|
+
audioSetChannelVolume(channel: number, volume: number): number
|
|
77
|
+
/** Gets the volume for a specific channel */
|
|
78
|
+
audioGetChannelVolume(channel: number): number
|
|
79
|
+
/** Returns non-zero when the player is still playing */
|
|
80
|
+
audioIsPlaying(playerId: number): number
|
|
81
|
+
/** Returns the number of active audio players */
|
|
82
|
+
audioActiveCount(): number
|
|
83
|
+
/** Cleans up finished audio players */
|
|
84
|
+
audioCleanupFinished(): number
|
|
85
|
+
/** Plays audio with 3D spatial attenuation */
|
|
86
|
+
audioPlaySpatial3d(data: Buffer, sourceX: number, sourceY: number, sourceZ: number, listenerX: number, listenerY: number, listenerZ: number, maxDistance: number, rolloff: number): number
|
|
87
|
+
/** Updates 3D spatial attenuation for an active player */
|
|
88
|
+
audioUpdateSpatial3d(playerId: number, sourceX: number, sourceY: number, sourceZ: number, listenerX: number, listenerY: number, listenerZ: number, maxDistance: number, rolloff: number): number
|
|
89
|
+
/** Sets the 3D listener position */
|
|
90
|
+
audioSetListenerPosition3d(x: number, y: number, z: number): number
|
|
91
|
+
/** Sets the 3D source position for an active player */
|
|
92
|
+
audioSetSourcePosition3d(playerId: number, x: number, y: number, z: number, maxDistance: number, rolloff: number): number
|
|
93
|
+
/** Sets the volume for an active player */
|
|
94
|
+
audioSetPlayerVolume(playerId: number, volume: number): number
|
|
95
|
+
/** Sets the playback speed for an active player */
|
|
96
|
+
audioSetPlayerSpeed(playerId: number, speed: number): number
|
|
97
|
+
/** Applies an immediate crossfade mix between two active players */
|
|
98
|
+
audioCrossfade(fromPlayerId: number, toPlayerId: number, mix: number): number
|
|
99
|
+
/** Starts a timed crossfade from one player to a new audio asset */
|
|
100
|
+
audioCrossfadeTo(fromPlayerId: number, data: Buffer, durationSec: number, channel: number): number
|
|
101
|
+
/** Mixes a secondary audio asset with a primary player */
|
|
102
|
+
audioMixWith(primaryPlayerId: number, data: Buffer, secondaryVolume: number, secondaryChannel: number): number
|
|
103
|
+
/** Advances all active timed crossfades */
|
|
104
|
+
audioUpdateCrossfades(deltaSec: number): number
|
|
105
|
+
/** Returns the number of active timed crossfades */
|
|
106
|
+
audioActiveCrossfadeCount(): number
|
|
107
|
+
/** Activates audio playback on platforms that require user gesture initialization */
|
|
108
|
+
audioActivate(): number
|
|
15
109
|
constructor(config?: GameConfig | undefined | null)
|
|
16
110
|
shouldClose(): boolean
|
|
17
111
|
close(): void
|
|
@@ -20,6 +114,9 @@ export declare class GoudGame {
|
|
|
20
114
|
endFrame(): void
|
|
21
115
|
loadTexture(path: string): number
|
|
22
116
|
destroyTexture(handle: number): boolean
|
|
117
|
+
loadFont(path: string): number
|
|
118
|
+
destroyFont(handle: number): boolean
|
|
119
|
+
drawText(fontHandle: number, text: string, x: number, y: number, fontSize?: number | undefined | null, alignment?: number | undefined | null, maxWidth?: number | undefined | null, lineSpacing?: number | undefined | null, direction?: number | undefined | null, r?: number | undefined | null, g?: number | undefined | null, b?: number | undefined | null, a?: number | undefined | null): boolean
|
|
23
120
|
drawSprite(texture: number, x: number, y: number, w: number, h: number, rotation?: number | undefined | null, r?: number | undefined | null, g?: number | undefined | null, b?: number | undefined | null, a?: number | undefined | null): boolean
|
|
24
121
|
drawSpriteRect(texture: number, x: number, y: number, w: number, h: number, rotation: number | undefined | null, srcX: number, srcY: number, srcW: number, srcH: number, r?: number | undefined | null, g?: number | undefined | null, b?: number | undefined | null, a?: number | undefined | null): boolean
|
|
25
122
|
drawQuad(x: number, y: number, w: number, h: number, r?: number | undefined | null, g?: number | undefined | null, b?: number | undefined | null, a?: number | undefined | null): boolean
|
|
@@ -33,6 +130,48 @@ export declare class GoudGame {
|
|
|
33
130
|
setFpsOverlayEnabled(enabled: boolean): void
|
|
34
131
|
setFpsUpdateInterval(interval: number): void
|
|
35
132
|
setFpsOverlayCorner(corner: number): void
|
|
133
|
+
getDebuggerSnapshotJson(): string
|
|
134
|
+
getDebuggerManifestJson(): string
|
|
135
|
+
setDebuggerPaused(paused: boolean): void
|
|
136
|
+
stepDebugger(kind: number, count: number): void
|
|
137
|
+
setDebuggerTimeScale(scale: number): void
|
|
138
|
+
setDebuggerDebugDrawEnabled(enabled: boolean): void
|
|
139
|
+
injectDebuggerKeyEvent(key: number, pressed: boolean): void
|
|
140
|
+
injectDebuggerMouseButton(button: number, pressed: boolean): void
|
|
141
|
+
injectDebuggerMousePosition(position: Vec2): void
|
|
142
|
+
injectDebuggerScroll(delta: Vec2): void
|
|
143
|
+
setDebuggerProfilingEnabled(enabled: boolean): void
|
|
144
|
+
setDebuggerSelectedEntity(entityId: number): void
|
|
145
|
+
clearDebuggerSelectedEntity(): void
|
|
146
|
+
getMemorySummary(): NapiMemorySummary
|
|
147
|
+
captureDebuggerFrame(): string
|
|
148
|
+
startDebuggerRecording(): void
|
|
149
|
+
stopDebuggerRecording(): string
|
|
150
|
+
startDebuggerReplay(recording: Buffer): void
|
|
151
|
+
stopDebuggerReplay(): void
|
|
152
|
+
getDebuggerReplayStatusJson(): string
|
|
153
|
+
getDebuggerMetricsTraceJson(): string
|
|
154
|
+
getRenderCapabilities(): NapiRenderCapabilities
|
|
155
|
+
getPhysicsCapabilities(): NapiPhysicsCapabilities
|
|
156
|
+
getAudioCapabilities(): NapiAudioCapabilities
|
|
157
|
+
getInputCapabilities(): NapiInputCapabilities
|
|
158
|
+
getNetworkCapabilities(): NapiNetworkCapabilities
|
|
159
|
+
/** Checks if the hot-swap shortcut (F5) was pressed and cycles render provider. Debug builds only. */
|
|
160
|
+
checkHotSwapShortcut(): boolean
|
|
161
|
+
networkHost(protocol: number, port: number): number
|
|
162
|
+
networkConnect(protocol: number, address: string, port: number): number
|
|
163
|
+
networkConnectWithPeer(protocol: number, address: string, port: number): NapiNetworkConnectResult
|
|
164
|
+
networkDisconnect(handle: number): number
|
|
165
|
+
networkSend(handle: number, peerId: number, data: Buffer, channel: number): number
|
|
166
|
+
networkReceive(handle: number): Buffer
|
|
167
|
+
networkReceivePacket(handle: number): NapiNetworkPacket | null
|
|
168
|
+
networkPoll(handle: number): number
|
|
169
|
+
getNetworkStats(handle: number): NapiNetworkStats
|
|
170
|
+
networkPeerCount(handle: number): number
|
|
171
|
+
setNetworkSimulation(handle: number, config: NapiNetworkSimulationConfig): number
|
|
172
|
+
clearNetworkSimulation(handle: number): number
|
|
173
|
+
setNetworkOverlayHandle(handle: number): number
|
|
174
|
+
clearNetworkOverlayHandle(): number
|
|
36
175
|
isKeyPressed(key: number): boolean
|
|
37
176
|
isKeyJustPressed(key: number): boolean
|
|
38
177
|
isKeyJustReleased(key: number): boolean
|
|
@@ -51,6 +190,9 @@ export declare class GoudGame {
|
|
|
51
190
|
despawn(entity: Entity): boolean
|
|
52
191
|
entityCount(): number
|
|
53
192
|
isAlive(entity: Entity): boolean
|
|
193
|
+
loadScene(name: string, json: string): number
|
|
194
|
+
unloadScene(name: string): boolean
|
|
195
|
+
setActiveScene(sceneId: number, active: boolean): boolean
|
|
54
196
|
addTransform2D(entity: Entity, data: Transform2DData): void
|
|
55
197
|
getTransform2D(entity: Entity): Transform2DData | null
|
|
56
198
|
setTransform2D(entity: Entity, data: Transform2DData): void
|
|
@@ -65,6 +207,10 @@ export declare class GoudGame {
|
|
|
65
207
|
getName(entity: Entity): string | null
|
|
66
208
|
hasName(entity: Entity): boolean
|
|
67
209
|
removeName(entity: Entity): boolean
|
|
210
|
+
physicsRaycastEx(originX: number, originY: number, dirX: number, dirY: number, maxDist: number, layerMask: number): NapiPhysicsRaycastHit2D | null
|
|
211
|
+
physicsCollisionEventsCount(): number
|
|
212
|
+
physicsCollisionEventsRead(index: number): NapiPhysicsCollisionEvent2D | null
|
|
213
|
+
physicsSetCollisionCallback(callbackPtr: number, userData: number): number
|
|
68
214
|
collisionAabbAabb(caX: number, caY: number, hwA: number, hhA: number, cbX: number, cbY: number, hwB: number, hhB: number): NapiContact | null
|
|
69
215
|
collisionCircleCircle(caX: number, caY: number, ra: number, cbX: number, cbY: number, rb: number): NapiContact | null
|
|
70
216
|
collisionCircleAabb(cx: number, cy: number, cr: number, bx: number, by: number, bhw: number, bhh: number): NapiContact | null
|
|
@@ -104,6 +250,16 @@ export declare class GoudGame {
|
|
|
104
250
|
get contextValid(): boolean
|
|
105
251
|
/** Returns the raw FFI delta time from the last poll_events call. */
|
|
106
252
|
get ffiDeltaTime(): number
|
|
253
|
+
animationLayerStackCreate(entity: Entity): number
|
|
254
|
+
animationLayerAdd(entity: Entity, name: string, blendMode: number): number
|
|
255
|
+
animationLayerSetWeight(entity: Entity, layerIndex: number, weight: number): number
|
|
256
|
+
animationLayerPlay(entity: Entity, layerIndex: number): number
|
|
257
|
+
animationLayerSetClip(entity: Entity, layerIndex: number, frameCount: number, frameDuration: number, mode: number): number
|
|
258
|
+
animationLayerAddFrame(entity: Entity, layerIndex: number, x: number, y: number, w: number, h: number): number
|
|
259
|
+
animationLayerReset(entity: Entity, layerIndex: number): number
|
|
260
|
+
animationClipAddEvent(entity: Entity, frameIndex: number, name: string, payloadType: number, payloadInt: number, payloadFloat: number, payloadString?: string | undefined | null): number
|
|
261
|
+
animationEventsCount(): number
|
|
262
|
+
animationEventsRead(index: number): NapiAnimationEventData
|
|
107
263
|
}
|
|
108
264
|
|
|
109
265
|
export declare class NativeEngineConfig {
|
|
@@ -114,10 +270,95 @@ export declare class NativeEngineConfig {
|
|
|
114
270
|
setFullscreen(enabled: boolean): boolean
|
|
115
271
|
setTargetFps(fps: number): boolean
|
|
116
272
|
setFpsOverlay(enabled: boolean): boolean
|
|
273
|
+
setPhysicsBackend2D(backend: number): boolean
|
|
274
|
+
setDebugger(debugger: NapiDebuggerConfig): boolean
|
|
117
275
|
build(): GoudGame
|
|
118
276
|
destroy(): void
|
|
119
277
|
}
|
|
120
278
|
|
|
279
|
+
export declare class NativePhysicsWorld2D {
|
|
280
|
+
constructor(gravityX: number, gravityY: number, backend?: number | undefined | null)
|
|
281
|
+
create(gravityX: number, gravityY: number): number
|
|
282
|
+
createWithBackend(gravityX: number, gravityY: number, backend: number): number
|
|
283
|
+
destroy(): number
|
|
284
|
+
setGravity(x: number, y: number): number
|
|
285
|
+
addRigidBody(bodyType: number, x: number, y: number, gravityScale: number): number
|
|
286
|
+
addRigidBodyEx(bodyType: number, x: number, y: number, gravityScale: number, ccdEnabled: boolean): number
|
|
287
|
+
addCollider(bodyHandle: number, shapeType: number, width: number, height: number, radius: number, friction: number, restitution: number): number
|
|
288
|
+
addColliderEx(bodyHandle: number, shapeType: number, width: number, height: number, radius: number, friction: number, restitution: number, isSensor: boolean, layer: number, mask: number): number
|
|
289
|
+
removeBody(handle: number): number
|
|
290
|
+
createJoint(bodyA: number, bodyB: number, kind: number, anchorAx: number, anchorAy: number, anchorBx: number, anchorBy: number, axisX: number, axisY: number, hasLimits: boolean, limitMin: number, limitMax: number, hasMotor: boolean, motorTargetVelocity: number, motorMaxForce: number): number
|
|
291
|
+
removeJoint(handle: number): number
|
|
292
|
+
step(dt: number): number
|
|
293
|
+
getPosition(handle: number): Vec2
|
|
294
|
+
getVelocity(handle: number): Vec2
|
|
295
|
+
setVelocity(handle: number, vx: number, vy: number): number
|
|
296
|
+
applyForce(handle: number, fx: number, fy: number): number
|
|
297
|
+
applyImpulse(handle: number, ix: number, iy: number): number
|
|
298
|
+
raycast(originX: number, originY: number, dirX: number, dirY: number, maxDist: number): Vec2
|
|
299
|
+
raycastEx(originX: number, originY: number, dirX: number, dirY: number, maxDist: number, layerMask: number): NapiPhysicsRaycastHit2D
|
|
300
|
+
collisionEventsCount(): number
|
|
301
|
+
collisionEventsRead(index: number): NapiPhysicsCollisionEvent2D
|
|
302
|
+
collisionEventCount(): number
|
|
303
|
+
collisionEventRead(index: number): NapiPhysicsCollisionEvent2D
|
|
304
|
+
setCollisionCallback(callbackPtr: number, userData: number): number
|
|
305
|
+
getGravity(): Vec2
|
|
306
|
+
setBodyGravityScale(handle: number, scale: number): number
|
|
307
|
+
getBodyGravityScale(handle: number): number
|
|
308
|
+
setColliderFriction(handle: number, friction: number): number
|
|
309
|
+
getColliderFriction(handle: number): number
|
|
310
|
+
setColliderRestitution(handle: number, restitution: number): number
|
|
311
|
+
getColliderRestitution(handle: number): number
|
|
312
|
+
setTimestep(dt: number): number
|
|
313
|
+
getTimestep(): number
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
export declare class NativePhysicsWorld3D {
|
|
317
|
+
constructor(gravityX: number, gravityY: number, gravityZ: number)
|
|
318
|
+
create(gravityX: number, gravityY: number, gravityZ: number): number
|
|
319
|
+
destroy(): number
|
|
320
|
+
setGravity(x: number, y: number, z: number): number
|
|
321
|
+
addRigidBody(bodyType: number, x: number, y: number, z: number, gravityScale: number): number
|
|
322
|
+
addCollider(bodyHandle: number, shapeType: number, width: number, height: number, depth: number, radius: number, friction: number, restitution: number): number
|
|
323
|
+
removeBody(handle: number): number
|
|
324
|
+
step(dt: number): number
|
|
325
|
+
getPosition(handle: number): Vec3
|
|
326
|
+
setVelocity(handle: number, vx: number, vy: number, vz: number): number
|
|
327
|
+
applyForce(handle: number, fx: number, fy: number, fz: number): number
|
|
328
|
+
applyImpulse(handle: number, ix: number, iy: number, iz: number): number
|
|
329
|
+
getGravity(): Vec3
|
|
330
|
+
setBodyGravityScale(handle: number, scale: number): number
|
|
331
|
+
getBodyGravityScale(handle: number): number
|
|
332
|
+
setColliderFriction(handle: number, friction: number): number
|
|
333
|
+
getColliderFriction(handle: number): number
|
|
334
|
+
setColliderRestitution(handle: number, restitution: number): number
|
|
335
|
+
getColliderRestitution(handle: number): number
|
|
336
|
+
setTimestep(dt: number): number
|
|
337
|
+
getTimestep(): number
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
export declare class UiManager {
|
|
341
|
+
constructor()
|
|
342
|
+
destroy(): void
|
|
343
|
+
update(): void
|
|
344
|
+
render(): void
|
|
345
|
+
nodeCount(): number
|
|
346
|
+
createNode(componentType: number): number
|
|
347
|
+
removeNode(nodeId: number): number
|
|
348
|
+
setParent(childId: number, parentId: number): number
|
|
349
|
+
getParent(nodeId: number): number
|
|
350
|
+
getChildCount(nodeId: number): number
|
|
351
|
+
getChildAt(nodeId: number, index: number): number
|
|
352
|
+
setWidget(nodeId: number, widgetKind: number): number
|
|
353
|
+
setStyle(nodeId: number, style: NapiUiStyle): number
|
|
354
|
+
setLabelText(nodeId: number, text: string): number
|
|
355
|
+
setButtonEnabled(nodeId: number, enabled: boolean): number
|
|
356
|
+
setImageTexturePath(nodeId: number, path: string): number
|
|
357
|
+
setSlider(nodeId: number, min: number, max: number, value: number, enabled: boolean): number
|
|
358
|
+
eventCount(): number
|
|
359
|
+
eventRead(index: number): NapiUiEvent | null
|
|
360
|
+
}
|
|
361
|
+
|
|
121
362
|
export interface Color {
|
|
122
363
|
r: number
|
|
123
364
|
g: number
|
|
@@ -157,6 +398,21 @@ export interface GameConfig {
|
|
|
157
398
|
height?: number
|
|
158
399
|
}
|
|
159
400
|
|
|
401
|
+
export interface NapiAnimationEventData {
|
|
402
|
+
entity: number
|
|
403
|
+
name: string
|
|
404
|
+
frameIndex: number
|
|
405
|
+
payloadType: number
|
|
406
|
+
payloadInt: number
|
|
407
|
+
payloadFloat: number
|
|
408
|
+
payloadString: string
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
export interface NapiAudioCapabilities {
|
|
412
|
+
supportsSpatial: boolean
|
|
413
|
+
maxChannels: number
|
|
414
|
+
}
|
|
415
|
+
|
|
160
416
|
export interface NapiContact {
|
|
161
417
|
pointX: number
|
|
162
418
|
pointY: number
|
|
@@ -165,6 +421,16 @@ export interface NapiContact {
|
|
|
165
421
|
penetration: number
|
|
166
422
|
}
|
|
167
423
|
|
|
424
|
+
export interface NapiContextConfig {
|
|
425
|
+
debugger: NapiDebuggerConfig
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
export interface NapiDebuggerConfig {
|
|
429
|
+
enabled: boolean
|
|
430
|
+
publishLocalAttach: boolean
|
|
431
|
+
routeLabel: string
|
|
432
|
+
}
|
|
433
|
+
|
|
168
434
|
export interface NapiFpsStats {
|
|
169
435
|
currentFps: number
|
|
170
436
|
minFps: number
|
|
@@ -173,6 +439,96 @@ export interface NapiFpsStats {
|
|
|
173
439
|
frameTimeMs: number
|
|
174
440
|
}
|
|
175
441
|
|
|
442
|
+
export interface NapiInputCapabilities {
|
|
443
|
+
supportsGamepad: boolean
|
|
444
|
+
supportsTouch: boolean
|
|
445
|
+
maxGamepads: number
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
export interface NapiMemoryCategoryStats {
|
|
449
|
+
currentBytes: number
|
|
450
|
+
peakBytes: number
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
export interface NapiMemorySummary {
|
|
454
|
+
rendering: NapiMemoryCategoryStats
|
|
455
|
+
assets: NapiMemoryCategoryStats
|
|
456
|
+
ecs: NapiMemoryCategoryStats
|
|
457
|
+
ui: NapiMemoryCategoryStats
|
|
458
|
+
audio: NapiMemoryCategoryStats
|
|
459
|
+
network: NapiMemoryCategoryStats
|
|
460
|
+
debugger: NapiMemoryCategoryStats
|
|
461
|
+
other: NapiMemoryCategoryStats
|
|
462
|
+
totalCurrentBytes: number
|
|
463
|
+
totalPeakBytes: number
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
export interface NapiNetworkCapabilities {
|
|
467
|
+
supportsHosting: boolean
|
|
468
|
+
maxConnections: number
|
|
469
|
+
maxChannels: number
|
|
470
|
+
maxMessageSize: number
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
export interface NapiNetworkConnectResult {
|
|
474
|
+
handle: number
|
|
475
|
+
peerId: number
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
export interface NapiNetworkPacket {
|
|
479
|
+
peerId: number
|
|
480
|
+
data: Buffer
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
export interface NapiNetworkSimulationConfig {
|
|
484
|
+
oneWayLatencyMs: number
|
|
485
|
+
jitterMs: number
|
|
486
|
+
packetLossPercent: number
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
export interface NapiNetworkStats {
|
|
490
|
+
bytesSent: number
|
|
491
|
+
bytesReceived: number
|
|
492
|
+
packetsSent: number
|
|
493
|
+
packetsReceived: number
|
|
494
|
+
packetsLost: number
|
|
495
|
+
rttMs: number
|
|
496
|
+
sendBandwidthBytesPerSec: number
|
|
497
|
+
receiveBandwidthBytesPerSec: number
|
|
498
|
+
packetLossPercent: number
|
|
499
|
+
jitterMs: number
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
export interface NapiPhysicsCapabilities {
|
|
503
|
+
supportsContinuousCollision: boolean
|
|
504
|
+
supportsJoints: boolean
|
|
505
|
+
maxBodies: number
|
|
506
|
+
}
|
|
507
|
+
|
|
508
|
+
export interface NapiPhysicsCollisionEvent2D {
|
|
509
|
+
bodyA: number
|
|
510
|
+
bodyB: number
|
|
511
|
+
kind: number
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
export interface NapiPhysicsRaycastHit2D {
|
|
515
|
+
bodyHandle: number
|
|
516
|
+
colliderHandle: number
|
|
517
|
+
pointX: number
|
|
518
|
+
pointY: number
|
|
519
|
+
normalX: number
|
|
520
|
+
normalY: number
|
|
521
|
+
distance: number
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
export interface NapiRenderCapabilities {
|
|
525
|
+
maxTextureUnits: number
|
|
526
|
+
maxTextureSize: number
|
|
527
|
+
supportsInstancing: boolean
|
|
528
|
+
supportsCompute: boolean
|
|
529
|
+
supportsMsaa: boolean
|
|
530
|
+
}
|
|
531
|
+
|
|
176
532
|
export interface NapiRenderStats {
|
|
177
533
|
drawCalls: number
|
|
178
534
|
triangles: number
|
|
@@ -180,6 +536,31 @@ export interface NapiRenderStats {
|
|
|
180
536
|
shaderBinds: number
|
|
181
537
|
}
|
|
182
538
|
|
|
539
|
+
export interface NapiUiColor {
|
|
540
|
+
r: number
|
|
541
|
+
g: number
|
|
542
|
+
b: number
|
|
543
|
+
a: number
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
export interface NapiUiEvent {
|
|
547
|
+
eventKind: number
|
|
548
|
+
nodeId: number
|
|
549
|
+
previousNodeId: number
|
|
550
|
+
currentNodeId: number
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
export interface NapiUiStyle {
|
|
554
|
+
backgroundColor?: NapiUiColor
|
|
555
|
+
foregroundColor?: NapiUiColor
|
|
556
|
+
borderColor?: NapiUiColor
|
|
557
|
+
borderWidth?: number
|
|
558
|
+
fontFamily?: string
|
|
559
|
+
fontSize?: number
|
|
560
|
+
texturePath?: string
|
|
561
|
+
widgetSpacing?: number
|
|
562
|
+
}
|
|
563
|
+
|
|
183
564
|
export interface Rect {
|
|
184
565
|
x: number
|
|
185
566
|
y: number
|