@nice2dev/game-engine 1.3.12 → 1.3.14
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/CHANGELOG.md +8 -0
- package/package.json +2 -2
- package/dist/types/accessibility/index.d.ts +0 -1
- package/dist/types/ai/index.d.ts +0 -1
- package/dist/types/animation/index.d.ts +0 -1
- package/dist/types/audio/HRTFAudio.d.ts +0 -180
- package/dist/types/audio/index.d.ts +0 -2
- package/dist/types/community/Community.d.ts +0 -112
- package/dist/types/community/index.d.ts +0 -1
- package/dist/types/core/TypeSafety.d.ts +0 -190
- package/dist/types/core/index.d.ts +0 -7
- package/dist/types/devtools/AssetStore.d.ts +0 -133
- package/dist/types/devtools/index.d.ts +0 -3
- package/dist/types/dialogue/index.d.ts +0 -2
- package/dist/types/docs/APIPlayground.d.ts +0 -26
- package/dist/types/docs/Cookbook.d.ts +0 -18
- package/dist/types/docs/Guides.d.ts +0 -18
- package/dist/types/docs/index.d.ts +0 -4
- package/dist/types/ecs/ECSOptimized.d.ts +0 -131
- package/dist/types/ecs/index.d.ts +0 -2
- package/dist/types/editor/NiceAnimationTimeline.d.ts +0 -114
- package/dist/types/editor/NiceLevelEditor.d.ts +0 -232
- package/dist/types/editor/NiceMaterialEditor.d.ts +0 -105
- package/dist/types/editor/NiceNodeGraph.d.ts +0 -87
- package/dist/types/editor/NiceParticleEditor.d.ts +0 -127
- package/dist/types/editor/behavior-tree/BTDebugPanel.d.ts +0 -102
- package/dist/types/editor/behavior-tree/BTEditorCanvas.d.ts +0 -79
- package/dist/types/editor/behavior-tree/BTEditorNode.d.ts +0 -58
- package/dist/types/editor/behavior-tree/BTEditorToolbar.d.ts +0 -75
- package/dist/types/editor/behavior-tree/BTNodePalette.d.ts +0 -72
- package/dist/types/editor/behavior-tree/BTPropertyPanel.d.ts +0 -66
- package/dist/types/editor/behavior-tree/BehaviorTreeEditor.d.ts +0 -186
- package/dist/types/editor/behavior-tree/index.d.ts +0 -14
- package/dist/types/editor/behavior-tree/serialization.d.ts +0 -30
- package/dist/types/editor/behavior-tree/types.d.ts +0 -299
- package/dist/types/editor/index.d.ts +0 -20
- package/dist/types/editor/state-machine/SMEditorCanvas.d.ts +0 -61
- package/dist/types/editor/state-machine/StateMachineEditor.d.ts +0 -139
- package/dist/types/editor/state-machine/index.d.ts +0 -11
- package/dist/types/editor/state-machine/serialization.d.ts +0 -23
- package/dist/types/editor/state-machine/types.d.ts +0 -241
- package/dist/types/engine/index.d.ts +0 -2
- package/dist/types/enterprise/index.d.ts +0 -1
- package/dist/types/epic/index.d.ts +0 -10
- package/dist/types/i18n/index.d.ts +0 -2
- package/dist/types/input/index.d.ts +0 -3
- package/dist/types/kids/index.d.ts +0 -2
- package/dist/types/legendary/index.d.ts +0 -57
- package/dist/types/monetization/index.d.ts +0 -1
- package/dist/types/multiplayer/NiceNetcode.d.ts +0 -434
- package/dist/types/multiplayer/index.d.ts +0 -5
- package/dist/types/network/index.d.ts +0 -2
- package/dist/types/pathfinding/index.d.ts +0 -1
- package/dist/types/performance/AssetCompression.d.ts +0 -137
- package/dist/types/performance/WASMModules.d.ts +0 -65
- package/dist/types/performance/WebGPUCompute.d.ts +0 -71
- package/dist/types/performance/index.d.ts +0 -1
- package/dist/types/physics/RapierIntegration.d.ts +0 -404
- package/dist/types/physics/index.d.ts +0 -2
- package/dist/types/plugins/index.d.ts +0 -2
- package/dist/types/procedural/index.d.ts +0 -2
- package/dist/types/release/index.d.ts +0 -1
- package/dist/types/rendering/WebGPUv2.d.ts +0 -173
- package/dist/types/rendering/index.d.ts +0 -3
- package/dist/types/runtime3d/index.d.ts +0 -2
- package/dist/types/scene/index.d.ts +0 -2
- package/dist/types/scripting/WasmCompiler.d.ts +0 -182
- package/dist/types/scripting/index.d.ts +0 -19
- package/dist/types/social/index.d.ts +0 -1
- package/dist/types/systems/NiceAI.d.ts +0 -637
- package/dist/types/systems/NiceAbility.d.ts +0 -225
- package/dist/types/systems/NiceAccessibility.d.ts +0 -230
- package/dist/types/systems/NiceAchievement.d.ts +0 -153
- package/dist/types/systems/NiceAchievementUI.d.ts +0 -196
- package/dist/types/systems/NiceAchievements.d.ts +0 -230
- package/dist/types/systems/NiceAction.d.ts +0 -81
- package/dist/types/systems/NiceAlchemy.d.ts +0 -195
- package/dist/types/systems/NiceAnalytics.d.ts +0 -493
- package/dist/types/systems/NiceAnimation.d.ts +0 -350
- package/dist/types/systems/NiceArena.d.ts +0 -215
- package/dist/types/systems/NiceAssetLoader.d.ts +0 -136
- package/dist/types/systems/NiceAuction.d.ts +0 -157
- package/dist/types/systems/NiceAudio.d.ts +0 -224
- package/dist/types/systems/NiceAugment.d.ts +0 -187
- package/dist/types/systems/NiceAura.d.ts +0 -193
- package/dist/types/systems/NiceBank.d.ts +0 -158
- package/dist/types/systems/NiceBattlePass.d.ts +0 -150
- package/dist/types/systems/NiceBehavior.d.ts +0 -160
- package/dist/types/systems/NiceBinding.d.ts +0 -96
- package/dist/types/systems/NiceBlacksmith.d.ts +0 -221
- package/dist/types/systems/NiceBuff.d.ts +0 -177
- package/dist/types/systems/NiceBuilding.d.ts +0 -207
- package/dist/types/systems/NiceBullet.d.ts +0 -167
- package/dist/types/systems/NiceCamera.d.ts +0 -252
- package/dist/types/systems/NiceCard.d.ts +0 -171
- package/dist/types/systems/NiceChat.d.ts +0 -148
- package/dist/types/systems/NiceCheat.d.ts +0 -375
- package/dist/types/systems/NiceClimbing.d.ts +0 -186
- package/dist/types/systems/NiceCloud.d.ts +0 -422
- package/dist/types/systems/NiceCollision.d.ts +0 -238
- package/dist/types/systems/NiceCombo.d.ts +0 -131
- package/dist/types/systems/NiceCommand.d.ts +0 -112
- package/dist/types/systems/NiceCompanion.d.ts +0 -182
- package/dist/types/systems/NiceController.d.ts +0 -144
- package/dist/types/systems/NiceCooking.d.ts +0 -193
- package/dist/types/systems/NiceCoroutine.d.ts +0 -101
- package/dist/types/systems/NiceCrafting.d.ts +0 -228
- package/dist/types/systems/NiceCutscene.d.ts +0 -437
- package/dist/types/systems/NiceDaily.d.ts +0 -133
- package/dist/types/systems/NiceDamage.d.ts +0 -271
- package/dist/types/systems/NiceDayNight.d.ts +0 -126
- package/dist/types/systems/NiceDebug.d.ts +0 -255
- package/dist/types/systems/NiceDestructible.d.ts +0 -150
- package/dist/types/systems/NiceDialogue.d.ts +0 -629
- package/dist/types/systems/NiceDungeon.d.ts +0 -202
- package/dist/types/systems/NiceECS.d.ts +0 -151
- package/dist/types/systems/NiceEnchant.d.ts +0 -148
- package/dist/types/systems/NiceEntityPool.d.ts +0 -127
- package/dist/types/systems/NiceEquipment.d.ts +0 -137
- package/dist/types/systems/NiceEvent.d.ts +0 -202
- package/dist/types/systems/NiceEventBus.d.ts +0 -164
- package/dist/types/systems/NiceFaction.d.ts +0 -173
- package/dist/types/systems/NiceFarming.d.ts +0 -163
- package/dist/types/systems/NiceFishing.d.ts +0 -196
- package/dist/types/systems/NiceFlocking.d.ts +0 -156
- package/dist/types/systems/NiceFog.d.ts +0 -137
- package/dist/types/systems/NiceFormation.d.ts +0 -140
- package/dist/types/systems/NiceGacha.d.ts +0 -134
- package/dist/types/systems/NiceGambling.d.ts +0 -175
- package/dist/types/systems/NiceGem.d.ts +0 -165
- package/dist/types/systems/NiceGesture.d.ts +0 -502
- package/dist/types/systems/NiceGrappling.d.ts +0 -154
- package/dist/types/systems/NiceGrid.d.ts +0 -142
- package/dist/types/systems/NiceGuild.d.ts +0 -162
- package/dist/types/systems/NiceHaptics.d.ts +0 -112
- package/dist/types/systems/NiceHousing.d.ts +0 -197
- package/dist/types/systems/NiceInput.d.ts +0 -280
- package/dist/types/systems/NiceInventory.d.ts +0 -534
- package/dist/types/systems/NiceLOD.d.ts +0 -144
- package/dist/types/systems/NiceLeaderboard.d.ts +0 -191
- package/dist/types/systems/NiceLevel.d.ts +0 -304
- package/dist/types/systems/NiceLighting.d.ts +0 -214
- package/dist/types/systems/NiceLocalization.d.ts +0 -148
- package/dist/types/systems/NiceLocomotion.d.ts +0 -398
- package/dist/types/systems/NiceLogger.d.ts +0 -117
- package/dist/types/systems/NiceLoot.d.ts +0 -176
- package/dist/types/systems/NiceMail.d.ts +0 -164
- package/dist/types/systems/NiceMap.d.ts +0 -234
- package/dist/types/systems/NiceMarriage.d.ts +0 -150
- package/dist/types/systems/NiceMastery.d.ts +0 -171
- package/dist/types/systems/NiceMatch.d.ts +0 -196
- package/dist/types/systems/NiceMatch3.d.ts +0 -118
- package/dist/types/systems/NiceMessageBus.d.ts +0 -115
- package/dist/types/systems/NiceMinimap.d.ts +0 -258
- package/dist/types/systems/NiceMining.d.ts +0 -175
- package/dist/types/systems/NiceModding.d.ts +0 -452
- package/dist/types/systems/NiceMount.d.ts +0 -152
- package/dist/types/systems/NiceNavigation.d.ts +0 -307
- package/dist/types/systems/NiceNetwork.d.ts +0 -568
- package/dist/types/systems/NiceNotification.d.ts +0 -438
- package/dist/types/systems/NiceObjective.d.ts +0 -395
- package/dist/types/systems/NiceParticle.d.ts +0 -639
- package/dist/types/systems/NiceParty.d.ts +0 -168
- package/dist/types/systems/NicePerformance.d.ts +0 -144
- package/dist/types/systems/NicePet.d.ts +0 -167
- package/dist/types/systems/NicePhotoMode.d.ts +0 -270
- package/dist/types/systems/NicePhysics.d.ts +0 -326
- package/dist/types/systems/NicePlatformer.d.ts +0 -158
- package/dist/types/systems/NicePool.d.ts +0 -128
- package/dist/types/systems/NicePortal.d.ts +0 -178
- package/dist/types/systems/NicePostProcess.d.ts +0 -254
- package/dist/types/systems/NiceProcedural.d.ts +0 -202
- package/dist/types/systems/NiceProfile.d.ts +0 -223
- package/dist/types/systems/NiceProjectile.d.ts +0 -157
- package/dist/types/systems/NicePvP.d.ts +0 -199
- package/dist/types/systems/NiceQTE.d.ts +0 -160
- package/dist/types/systems/NiceQuest.d.ts +0 -620
- package/dist/types/systems/NiceRaid.d.ts +0 -215
- package/dist/types/systems/NiceRanking.d.ts +0 -399
- package/dist/types/systems/NiceReplay.d.ts +0 -180
- package/dist/types/systems/NiceReputation.d.ts +0 -151
- package/dist/types/systems/NiceResource.d.ts +0 -200
- package/dist/types/systems/NiceRhythm.d.ts +0 -148
- package/dist/types/systems/NiceRoguelike.d.ts +0 -276
- package/dist/types/systems/NiceRune.d.ts +0 -202
- package/dist/types/systems/NiceSaveSystem.d.ts +0 -194
- package/dist/types/systems/NiceSceneManager.d.ts +0 -112
- package/dist/types/systems/NiceScore.d.ts +0 -186
- package/dist/types/systems/NiceScreenFX.d.ts +0 -235
- package/dist/types/systems/NiceScreenshot.d.ts +0 -443
- package/dist/types/systems/NiceScribe.d.ts +0 -239
- package/dist/types/systems/NiceSeason.d.ts +0 -176
- package/dist/types/systems/NiceSerialization.d.ts +0 -89
- package/dist/types/systems/NiceServiceLocator.d.ts +0 -94
- package/dist/types/systems/NiceShop.d.ts +0 -528
- package/dist/types/systems/NiceSignal.d.ts +0 -112
- package/dist/types/systems/NiceSkillTree.d.ts +0 -237
- package/dist/types/systems/NiceSocial.d.ts +0 -580
- package/dist/types/systems/NiceSpawner.d.ts +0 -237
- package/dist/types/systems/NiceSpell.d.ts +0 -216
- package/dist/types/systems/NiceState.d.ts +0 -224
- package/dist/types/systems/NiceStateMachine.d.ts +0 -108
- package/dist/types/systems/NiceStatus.d.ts +0 -116
- package/dist/types/systems/NiceStealth.d.ts +0 -204
- package/dist/types/systems/NiceSteam.d.ts +0 -255
- package/dist/types/systems/NiceStreaming.d.ts +0 -173
- package/dist/types/systems/NiceSwimming.d.ts +0 -166
- package/dist/types/systems/NiceTalent.d.ts +0 -154
- package/dist/types/systems/NiceTarget.d.ts +0 -121
- package/dist/types/systems/NiceTerrain.d.ts +0 -143
- package/dist/types/systems/NiceTilemap.d.ts +0 -218
- package/dist/types/systems/NiceTimer.d.ts +0 -153
- package/dist/types/systems/NiceTournament.d.ts +0 -190
- package/dist/types/systems/NiceTrading.d.ts +0 -238
- package/dist/types/systems/NiceTransmog.d.ts +0 -142
- package/dist/types/systems/NiceTutorial.d.ts +0 -248
- package/dist/types/systems/NiceTween.d.ts +0 -164
- package/dist/types/systems/NiceUI.d.ts +0 -364
- package/dist/types/systems/NiceVFX.d.ts +0 -333
- package/dist/types/systems/NiceVehicle.d.ts +0 -176
- package/dist/types/systems/NiceVoice.d.ts +0 -502
- package/dist/types/systems/NiceWater.d.ts +0 -162
- package/dist/types/systems/NiceWave.d.ts +0 -174
- package/dist/types/systems/NiceWaypoint.d.ts +0 -165
- package/dist/types/systems/NiceWeather.d.ts +0 -225
- package/dist/types/systems/NiceXR.d.ts +0 -187
- package/dist/types/systems/index.d.ts +0 -182
- package/dist/types/templates/index.d.ts +0 -2
- package/dist/types/tilemap/index.d.ts +0 -1
- package/dist/types/tutorials/TutorialEditor.d.ts +0 -43
- package/dist/types/tutorials/VoiceNarration.d.ts +0 -75
- package/dist/types/tutorials/content/Tutorials_T04.d.ts +0 -3
- package/dist/types/tutorials/content/UITutorials.d.ts +0 -14
- package/dist/types/tutorials/content/index.d.ts +0 -5
- package/dist/types/tutorials/index.d.ts +0 -6
- package/dist/types/ui/index.d.ts +0 -2
- package/dist/types/visual-scripting/VisualScriptDebugger.d.ts +0 -145
- package/dist/types/visual-scripting/VisualScriptExecutor.d.ts +0 -100
- package/dist/types/visual-scripting/VisualScriptGraph.d.ts +0 -173
- package/dist/types/visual-scripting/VisualScriptNode.d.ts +0 -157
- package/dist/types/visual-scripting/index.d.ts +0 -6
- package/dist/types/visual-scripting/nodes/ActionNodes.d.ts +0 -152
- package/dist/types/visual-scripting/nodes/EventNodes.d.ts +0 -95
- package/dist/types/visual-scripting/nodes/FlowControlNodes.d.ts +0 -134
- package/dist/types/visual-scripting/nodes/LogicNodes.d.ts +0 -122
- package/dist/types/visual-scripting/nodes/MathNodes.d.ts +0 -170
- package/dist/types/visual-scripting/nodes/UtilityNodes.d.ts +0 -131
- package/dist/types/visual-scripting/nodes/VariableNodes.d.ts +0 -107
- package/dist/types/visual-scripting/nodes/index.d.ts +0 -21
- package/dist/types/visual-scripting/nodes/registerNodes.d.ts +0 -29
- package/dist/types/visual-scripting/types.d.ts +0 -402
- package/dist/types/xr/WebXRLayers.d.ts +0 -319
- package/dist/types/xr/index.d.ts +0 -2
|
@@ -1,422 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* NiceCloud - Cloud Save & Sync System
|
|
3
|
-
*
|
|
4
|
-
* Comprehensive cloud storage system for save games, settings,
|
|
5
|
-
* and player data synchronization across devices.
|
|
6
|
-
*
|
|
7
|
-
* Features:
|
|
8
|
-
* - Cloud save management
|
|
9
|
-
* - Auto-sync
|
|
10
|
-
* - Conflict resolution
|
|
11
|
-
* - Offline support
|
|
12
|
-
* - Data compression
|
|
13
|
-
* - Encryption
|
|
14
|
-
* - Version control
|
|
15
|
-
* - Selective sync
|
|
16
|
-
* - Bandwidth management
|
|
17
|
-
* - Progress tracking
|
|
18
|
-
* - Multi-device support
|
|
19
|
-
* - Backup & restore
|
|
20
|
-
*
|
|
21
|
-
* @packageDocumentation
|
|
22
|
-
*/
|
|
23
|
-
import { EventEmitter } from 'events';
|
|
24
|
-
/** Unique save ID */
|
|
25
|
-
export type SaveId = string;
|
|
26
|
-
/** Unique device ID */
|
|
27
|
-
export type DeviceId = string;
|
|
28
|
-
/** Sync state */
|
|
29
|
-
export type SyncState = 'idle' | 'syncing' | 'uploading' | 'downloading' | 'error' | 'offline' | 'conflict';
|
|
30
|
-
/** Conflict resolution strategy */
|
|
31
|
-
export type ConflictResolution = 'local_wins' | 'remote_wins' | 'newest_wins' | 'merge' | 'manual';
|
|
32
|
-
/** Save type */
|
|
33
|
-
export type SaveType = 'auto' | 'manual' | 'checkpoint' | 'quicksave' | 'settings' | 'profile' | 'custom';
|
|
34
|
-
/** Save metadata */
|
|
35
|
-
export interface SaveMetadata {
|
|
36
|
-
id: SaveId;
|
|
37
|
-
name: string;
|
|
38
|
-
type: SaveType;
|
|
39
|
-
version: number;
|
|
40
|
-
size: number;
|
|
41
|
-
compressed: boolean;
|
|
42
|
-
encrypted: boolean;
|
|
43
|
-
checksum: string;
|
|
44
|
-
createdAt: number;
|
|
45
|
-
modifiedAt: number;
|
|
46
|
-
uploadedAt?: number;
|
|
47
|
-
deviceId: DeviceId;
|
|
48
|
-
deviceName: string;
|
|
49
|
-
gameVersion: string;
|
|
50
|
-
playtime?: number;
|
|
51
|
-
level?: number;
|
|
52
|
-
location?: string;
|
|
53
|
-
screenshot?: string;
|
|
54
|
-
tags?: string[];
|
|
55
|
-
customData?: Record<string, unknown>;
|
|
56
|
-
}
|
|
57
|
-
/** Cloud save data */
|
|
58
|
-
export interface CloudSave {
|
|
59
|
-
metadata: SaveMetadata;
|
|
60
|
-
data: unknown;
|
|
61
|
-
localPath?: string;
|
|
62
|
-
cloudPath?: string;
|
|
63
|
-
syncStatus: 'synced' | 'pending_upload' | 'pending_download' | 'conflict' | 'local_only';
|
|
64
|
-
lastSyncTime?: number;
|
|
65
|
-
}
|
|
66
|
-
/** Sync conflict */
|
|
67
|
-
export interface SyncConflict {
|
|
68
|
-
saveId: SaveId;
|
|
69
|
-
localSave: CloudSave;
|
|
70
|
-
remoteSave: CloudSave;
|
|
71
|
-
detectedAt: number;
|
|
72
|
-
resolved: boolean;
|
|
73
|
-
resolution?: ConflictResolution;
|
|
74
|
-
}
|
|
75
|
-
/** Sync progress */
|
|
76
|
-
export interface SyncProgress {
|
|
77
|
-
operation: 'upload' | 'download';
|
|
78
|
-
saveId: SaveId;
|
|
79
|
-
bytesTransferred: number;
|
|
80
|
-
totalBytes: number;
|
|
81
|
-
percentage: number;
|
|
82
|
-
startedAt: number;
|
|
83
|
-
estimatedTime?: number;
|
|
84
|
-
}
|
|
85
|
-
/** Device info */
|
|
86
|
-
export interface DeviceInfo {
|
|
87
|
-
id: DeviceId;
|
|
88
|
-
name: string;
|
|
89
|
-
platform: string;
|
|
90
|
-
lastSeen: number;
|
|
91
|
-
lastSyncTime?: number;
|
|
92
|
-
isCurrentDevice: boolean;
|
|
93
|
-
}
|
|
94
|
-
/** Quota info */
|
|
95
|
-
export interface QuotaInfo {
|
|
96
|
-
used: number;
|
|
97
|
-
total: number;
|
|
98
|
-
remaining: number;
|
|
99
|
-
percentage: number;
|
|
100
|
-
saveCount: number;
|
|
101
|
-
maxSaves?: number;
|
|
102
|
-
}
|
|
103
|
-
/** Sync options */
|
|
104
|
-
export interface SyncOptions {
|
|
105
|
-
force?: boolean;
|
|
106
|
-
selective?: SaveId[];
|
|
107
|
-
conflictResolution?: ConflictResolution;
|
|
108
|
-
compress?: boolean;
|
|
109
|
-
encrypt?: boolean;
|
|
110
|
-
priority?: 'low' | 'normal' | 'high';
|
|
111
|
-
timeout?: number;
|
|
112
|
-
}
|
|
113
|
-
/** Upload options */
|
|
114
|
-
export interface UploadOptions extends SyncOptions {
|
|
115
|
-
overwrite?: boolean;
|
|
116
|
-
screenshot?: string;
|
|
117
|
-
tags?: string[];
|
|
118
|
-
}
|
|
119
|
-
/** Download options */
|
|
120
|
-
export interface DownloadOptions extends SyncOptions {
|
|
121
|
-
createBackup?: boolean;
|
|
122
|
-
}
|
|
123
|
-
/** Cloud provider interface */
|
|
124
|
-
export interface CloudProvider {
|
|
125
|
-
name: string;
|
|
126
|
-
isAuthenticated: () => Promise<boolean>;
|
|
127
|
-
authenticate: () => Promise<boolean>;
|
|
128
|
-
logout: () => Promise<void>;
|
|
129
|
-
listSaves: () => Promise<SaveMetadata[]>;
|
|
130
|
-
uploadSave: (save: CloudSave, options?: UploadOptions) => Promise<boolean>;
|
|
131
|
-
downloadSave: (saveId: SaveId, options?: DownloadOptions) => Promise<CloudSave | undefined>;
|
|
132
|
-
deleteSave: (saveId: SaveId) => Promise<boolean>;
|
|
133
|
-
getQuota: () => Promise<QuotaInfo>;
|
|
134
|
-
onProgress?: (progress: SyncProgress) => void;
|
|
135
|
-
}
|
|
136
|
-
/** Backup info */
|
|
137
|
-
export interface BackupInfo {
|
|
138
|
-
id: string;
|
|
139
|
-
saveId: SaveId;
|
|
140
|
-
timestamp: number;
|
|
141
|
-
size: number;
|
|
142
|
-
compressed: boolean;
|
|
143
|
-
data?: unknown;
|
|
144
|
-
}
|
|
145
|
-
/** Cloud statistics */
|
|
146
|
-
export interface CloudStatistics {
|
|
147
|
-
totalUploads: number;
|
|
148
|
-
totalDownloads: number;
|
|
149
|
-
bytesUploaded: number;
|
|
150
|
-
bytesDownloaded: number;
|
|
151
|
-
conflictsResolved: number;
|
|
152
|
-
lastSyncTime?: number;
|
|
153
|
-
syncErrors: number;
|
|
154
|
-
offlineSaves: number;
|
|
155
|
-
}
|
|
156
|
-
/** Encryption key info */
|
|
157
|
-
export interface EncryptionKeyInfo {
|
|
158
|
-
id: string;
|
|
159
|
-
algorithm: string;
|
|
160
|
-
createdAt: number;
|
|
161
|
-
}
|
|
162
|
-
/** Cloud event types */
|
|
163
|
-
export type CloudEventType = 'sync_started' | 'sync_completed' | 'sync_failed' | 'upload_started' | 'upload_progress' | 'upload_completed' | 'upload_failed' | 'download_started' | 'download_progress' | 'download_completed' | 'download_failed' | 'conflict_detected' | 'conflict_resolved' | 'save_created' | 'save_deleted' | 'quota_warning' | 'offline_mode' | 'online_mode' | 'auth_required';
|
|
164
|
-
/** Cloud event data */
|
|
165
|
-
export interface CloudEvent {
|
|
166
|
-
type: CloudEventType;
|
|
167
|
-
timestamp: number;
|
|
168
|
-
saveId?: SaveId;
|
|
169
|
-
data?: unknown;
|
|
170
|
-
error?: string;
|
|
171
|
-
}
|
|
172
|
-
/** Cloud event callback */
|
|
173
|
-
export type CloudEventCallback = (event: CloudEvent) => void;
|
|
174
|
-
/** Cloud system configuration */
|
|
175
|
-
export interface CloudConfig {
|
|
176
|
-
autoSync: boolean;
|
|
177
|
-
autoSyncInterval: number;
|
|
178
|
-
syncOnSave: boolean;
|
|
179
|
-
syncOnLoad: boolean;
|
|
180
|
-
offlineSupport: boolean;
|
|
181
|
-
compressionEnabled: boolean;
|
|
182
|
-
compressionThreshold: number;
|
|
183
|
-
encryptionEnabled: boolean;
|
|
184
|
-
conflictResolution: ConflictResolution;
|
|
185
|
-
maxBackups: number;
|
|
186
|
-
retryAttempts: number;
|
|
187
|
-
retryDelay: number;
|
|
188
|
-
quotaWarningThreshold: number;
|
|
189
|
-
timeoutMs: number;
|
|
190
|
-
}
|
|
191
|
-
/** Default configuration */
|
|
192
|
-
export declare const DEFAULT_CLOUD_CONFIG: CloudConfig;
|
|
193
|
-
/**
|
|
194
|
-
* Cloud save and sync system
|
|
195
|
-
*/
|
|
196
|
-
export declare class NiceCloud extends EventEmitter {
|
|
197
|
-
private config;
|
|
198
|
-
private provider?;
|
|
199
|
-
private saves;
|
|
200
|
-
private conflicts;
|
|
201
|
-
private backups;
|
|
202
|
-
private devices;
|
|
203
|
-
private currentDeviceId;
|
|
204
|
-
private currentDeviceName;
|
|
205
|
-
private syncState;
|
|
206
|
-
private isOnline;
|
|
207
|
-
private syncQueue;
|
|
208
|
-
private syncInterval?;
|
|
209
|
-
private statistics;
|
|
210
|
-
private encryptionKey?;
|
|
211
|
-
private pendingOperations;
|
|
212
|
-
constructor(config?: Partial<CloudConfig>);
|
|
213
|
-
/**
|
|
214
|
-
* Emit cloud event
|
|
215
|
-
*/
|
|
216
|
-
private emitEvent;
|
|
217
|
-
/**
|
|
218
|
-
* Generate device ID
|
|
219
|
-
*/
|
|
220
|
-
private generateDeviceId;
|
|
221
|
-
/**
|
|
222
|
-
* Get device name
|
|
223
|
-
*/
|
|
224
|
-
private getDeviceName;
|
|
225
|
-
/**
|
|
226
|
-
* Setup network listener
|
|
227
|
-
*/
|
|
228
|
-
private setupNetworkListener;
|
|
229
|
-
/**
|
|
230
|
-
* Load local state
|
|
231
|
-
*/
|
|
232
|
-
private loadLocalState;
|
|
233
|
-
/**
|
|
234
|
-
* Save local state
|
|
235
|
-
*/
|
|
236
|
-
private saveLocalState;
|
|
237
|
-
/**
|
|
238
|
-
* Set cloud provider
|
|
239
|
-
*/
|
|
240
|
-
setProvider(provider: CloudProvider): void;
|
|
241
|
-
/**
|
|
242
|
-
* Get provider
|
|
243
|
-
*/
|
|
244
|
-
getProvider(): CloudProvider | undefined;
|
|
245
|
-
/**
|
|
246
|
-
* Check authentication
|
|
247
|
-
*/
|
|
248
|
-
isAuthenticated(): Promise<boolean>;
|
|
249
|
-
/**
|
|
250
|
-
* Authenticate
|
|
251
|
-
*/
|
|
252
|
-
authenticate(): Promise<boolean>;
|
|
253
|
-
/**
|
|
254
|
-
* Logout
|
|
255
|
-
*/
|
|
256
|
-
logout(): Promise<void>;
|
|
257
|
-
/**
|
|
258
|
-
* Start auto sync
|
|
259
|
-
*/
|
|
260
|
-
startAutoSync(): void;
|
|
261
|
-
/**
|
|
262
|
-
* Stop auto sync
|
|
263
|
-
*/
|
|
264
|
-
stopAutoSync(): void;
|
|
265
|
-
/**
|
|
266
|
-
* Full sync
|
|
267
|
-
*/
|
|
268
|
-
sync(options?: SyncOptions): Promise<boolean>;
|
|
269
|
-
/**
|
|
270
|
-
* Sync pending saves (after coming online)
|
|
271
|
-
*/
|
|
272
|
-
private syncPendingSaves;
|
|
273
|
-
/**
|
|
274
|
-
* Create cloud save
|
|
275
|
-
*/
|
|
276
|
-
createSave(name: string, data: unknown, type?: SaveType, options?: UploadOptions): Promise<CloudSave | undefined>;
|
|
277
|
-
/**
|
|
278
|
-
* Update save
|
|
279
|
-
*/
|
|
280
|
-
updateSave(saveId: SaveId, data: unknown, options?: UploadOptions): Promise<boolean>;
|
|
281
|
-
/**
|
|
282
|
-
* Upload save to cloud
|
|
283
|
-
*/
|
|
284
|
-
uploadSave(saveId: SaveId, options?: UploadOptions): Promise<boolean>;
|
|
285
|
-
/**
|
|
286
|
-
* Perform upload with retries
|
|
287
|
-
*/
|
|
288
|
-
private performUpload;
|
|
289
|
-
/**
|
|
290
|
-
* Download save from cloud
|
|
291
|
-
*/
|
|
292
|
-
downloadSave(saveId: SaveId, options?: DownloadOptions): Promise<CloudSave | undefined>;
|
|
293
|
-
/**
|
|
294
|
-
* Delete save
|
|
295
|
-
*/
|
|
296
|
-
deleteSave(saveId: SaveId, deleteFromCloud?: boolean): Promise<boolean>;
|
|
297
|
-
/**
|
|
298
|
-
* Get save
|
|
299
|
-
*/
|
|
300
|
-
getSave(saveId: SaveId): CloudSave | undefined;
|
|
301
|
-
/**
|
|
302
|
-
* Get all saves
|
|
303
|
-
*/
|
|
304
|
-
getAllSaves(type?: SaveType): CloudSave[];
|
|
305
|
-
/**
|
|
306
|
-
* List cloud saves
|
|
307
|
-
*/
|
|
308
|
-
listCloudSaves(): Promise<SaveMetadata[]>;
|
|
309
|
-
/**
|
|
310
|
-
* Handle conflict
|
|
311
|
-
*/
|
|
312
|
-
handleConflict(saveId: SaveId, resolution?: ConflictResolution): Promise<boolean>;
|
|
313
|
-
/**
|
|
314
|
-
* Resolve conflict
|
|
315
|
-
*/
|
|
316
|
-
resolveConflict(saveId: SaveId, resolution: ConflictResolution): Promise<boolean>;
|
|
317
|
-
/**
|
|
318
|
-
* Merge saves (simple merge strategy)
|
|
319
|
-
*/
|
|
320
|
-
private mergeSaves;
|
|
321
|
-
/**
|
|
322
|
-
* Get conflicts
|
|
323
|
-
*/
|
|
324
|
-
getConflicts(): SyncConflict[];
|
|
325
|
-
/**
|
|
326
|
-
* Create backup
|
|
327
|
-
*/
|
|
328
|
-
createBackup(saveId: SaveId): Promise<BackupInfo | undefined>;
|
|
329
|
-
/**
|
|
330
|
-
* Restore from backup
|
|
331
|
-
*/
|
|
332
|
-
restoreBackup(saveId: SaveId, backupId: string): Promise<boolean>;
|
|
333
|
-
/**
|
|
334
|
-
* Get backups for save
|
|
335
|
-
*/
|
|
336
|
-
getBackups(saveId: SaveId): BackupInfo[];
|
|
337
|
-
/**
|
|
338
|
-
* Get quota info
|
|
339
|
-
*/
|
|
340
|
-
getQuota(): Promise<QuotaInfo | undefined>;
|
|
341
|
-
/**
|
|
342
|
-
* Check quota and warn if necessary
|
|
343
|
-
*/
|
|
344
|
-
private checkQuota;
|
|
345
|
-
/**
|
|
346
|
-
* Set encryption key
|
|
347
|
-
*/
|
|
348
|
-
setEncryptionKey(password: string): Promise<void>;
|
|
349
|
-
/**
|
|
350
|
-
* Encrypt data
|
|
351
|
-
*/
|
|
352
|
-
private encrypt;
|
|
353
|
-
/**
|
|
354
|
-
* Decrypt data
|
|
355
|
-
*/
|
|
356
|
-
private decrypt;
|
|
357
|
-
/**
|
|
358
|
-
* Compress data
|
|
359
|
-
*/
|
|
360
|
-
private compress;
|
|
361
|
-
/**
|
|
362
|
-
* Decompress data
|
|
363
|
-
*/
|
|
364
|
-
private decompress;
|
|
365
|
-
/**
|
|
366
|
-
* Calculate size
|
|
367
|
-
*/
|
|
368
|
-
private calculateSize;
|
|
369
|
-
/**
|
|
370
|
-
* Calculate checksum
|
|
371
|
-
*/
|
|
372
|
-
private calculateChecksum;
|
|
373
|
-
/**
|
|
374
|
-
* Create timeout promise
|
|
375
|
-
*/
|
|
376
|
-
private createTimeout;
|
|
377
|
-
/**
|
|
378
|
-
* Delay helper
|
|
379
|
-
*/
|
|
380
|
-
private delay;
|
|
381
|
-
/**
|
|
382
|
-
* Schedule retry
|
|
383
|
-
*/
|
|
384
|
-
private scheduleRetry;
|
|
385
|
-
/**
|
|
386
|
-
* Load from storage
|
|
387
|
-
*/
|
|
388
|
-
private loadFromStorage;
|
|
389
|
-
/**
|
|
390
|
-
* Save to storage
|
|
391
|
-
*/
|
|
392
|
-
private saveToStorage;
|
|
393
|
-
/**
|
|
394
|
-
* Get sync state
|
|
395
|
-
*/
|
|
396
|
-
getSyncState(): SyncState;
|
|
397
|
-
/**
|
|
398
|
-
* Is online
|
|
399
|
-
*/
|
|
400
|
-
isOnlineStatus(): boolean;
|
|
401
|
-
/**
|
|
402
|
-
* Get statistics
|
|
403
|
-
*/
|
|
404
|
-
getStatistics(): CloudStatistics;
|
|
405
|
-
/**
|
|
406
|
-
* Get devices
|
|
407
|
-
*/
|
|
408
|
-
getDevices(): DeviceInfo[];
|
|
409
|
-
/**
|
|
410
|
-
* Get current device ID
|
|
411
|
-
*/
|
|
412
|
-
getCurrentDeviceId(): DeviceId;
|
|
413
|
-
/**
|
|
414
|
-
* Destroy cloud system
|
|
415
|
-
*/
|
|
416
|
-
destroy(): void;
|
|
417
|
-
}
|
|
418
|
-
/**
|
|
419
|
-
* Create cloud system instance
|
|
420
|
-
*/
|
|
421
|
-
export declare function createCloudSystem(config?: Partial<CloudConfig>): NiceCloud;
|
|
422
|
-
export default NiceCloud;
|
|
@@ -1,238 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* NiceCollision - Game Engine Collision Detection System
|
|
3
|
-
*
|
|
4
|
-
* Comprehensive collision detection supporting:
|
|
5
|
-
* - AABB, Circle, OBB, Polygon colliders
|
|
6
|
-
* - Spatial partitioning (Grid, QuadTree)
|
|
7
|
-
* - Broad phase + Narrow phase detection
|
|
8
|
-
* - Collision layers and masks
|
|
9
|
-
* - Trigger vs solid collisions
|
|
10
|
-
* - Raycasting and shape casting
|
|
11
|
-
* - Collision manifolds with contact points
|
|
12
|
-
* - Continuous collision detection (CCD)
|
|
13
|
-
*
|
|
14
|
-
* @packageDocumentation
|
|
15
|
-
*/
|
|
16
|
-
import { EventEmitter } from 'events';
|
|
17
|
-
export type ColliderId = string;
|
|
18
|
-
export type LayerId = number;
|
|
19
|
-
export type BodyId = string;
|
|
20
|
-
export type ColliderType = 'aabb' | 'circle' | 'obb' | 'polygon' | 'capsule';
|
|
21
|
-
export interface Vec2 {
|
|
22
|
-
x: number;
|
|
23
|
-
y: number;
|
|
24
|
-
}
|
|
25
|
-
export interface AABB {
|
|
26
|
-
type: 'aabb';
|
|
27
|
-
min: Vec2;
|
|
28
|
-
max: Vec2;
|
|
29
|
-
}
|
|
30
|
-
export interface Circle {
|
|
31
|
-
type: 'circle';
|
|
32
|
-
center: Vec2;
|
|
33
|
-
radius: number;
|
|
34
|
-
}
|
|
35
|
-
export interface OBB {
|
|
36
|
-
type: 'obb';
|
|
37
|
-
center: Vec2;
|
|
38
|
-
halfExtents: Vec2;
|
|
39
|
-
rotation: number;
|
|
40
|
-
}
|
|
41
|
-
export interface Polygon {
|
|
42
|
-
type: 'polygon';
|
|
43
|
-
vertices: Vec2[];
|
|
44
|
-
center?: Vec2;
|
|
45
|
-
}
|
|
46
|
-
export interface Capsule {
|
|
47
|
-
type: 'capsule';
|
|
48
|
-
start: Vec2;
|
|
49
|
-
end: Vec2;
|
|
50
|
-
radius: number;
|
|
51
|
-
}
|
|
52
|
-
export type Shape = AABB | Circle | OBB | Polygon | Capsule;
|
|
53
|
-
export interface Collider {
|
|
54
|
-
id: ColliderId;
|
|
55
|
-
bodyId: BodyId;
|
|
56
|
-
shape: Shape;
|
|
57
|
-
offset: Vec2;
|
|
58
|
-
isTrigger: boolean;
|
|
59
|
-
layer: LayerId;
|
|
60
|
-
mask: number;
|
|
61
|
-
userData?: unknown;
|
|
62
|
-
enabled: boolean;
|
|
63
|
-
}
|
|
64
|
-
export interface CollisionBody {
|
|
65
|
-
id: BodyId;
|
|
66
|
-
position: Vec2;
|
|
67
|
-
rotation: number;
|
|
68
|
-
velocity: Vec2;
|
|
69
|
-
colliders: ColliderId[];
|
|
70
|
-
isStatic: boolean;
|
|
71
|
-
userData?: unknown;
|
|
72
|
-
enabled: boolean;
|
|
73
|
-
}
|
|
74
|
-
export interface ContactPoint {
|
|
75
|
-
position: Vec2;
|
|
76
|
-
normal: Vec2;
|
|
77
|
-
penetration: number;
|
|
78
|
-
}
|
|
79
|
-
export interface CollisionManifold {
|
|
80
|
-
colliderA: ColliderId;
|
|
81
|
-
colliderB: ColliderId;
|
|
82
|
-
bodyA: BodyId;
|
|
83
|
-
bodyB: BodyId;
|
|
84
|
-
contacts: ContactPoint[];
|
|
85
|
-
normal: Vec2;
|
|
86
|
-
penetration: number;
|
|
87
|
-
isTrigger: boolean;
|
|
88
|
-
}
|
|
89
|
-
export interface RaycastHit {
|
|
90
|
-
colliderId: ColliderId;
|
|
91
|
-
bodyId: BodyId;
|
|
92
|
-
point: Vec2;
|
|
93
|
-
normal: Vec2;
|
|
94
|
-
distance: number;
|
|
95
|
-
fraction: number;
|
|
96
|
-
}
|
|
97
|
-
export interface ShapeCastHit extends RaycastHit {
|
|
98
|
-
shape: Shape;
|
|
99
|
-
}
|
|
100
|
-
export type SpatialStructure = 'none' | 'grid' | 'quadtree';
|
|
101
|
-
export interface GridCell {
|
|
102
|
-
x: number;
|
|
103
|
-
y: number;
|
|
104
|
-
colliders: Set<ColliderId>;
|
|
105
|
-
}
|
|
106
|
-
export interface QuadTreeNode {
|
|
107
|
-
bounds: AABB;
|
|
108
|
-
colliders: Set<ColliderId>;
|
|
109
|
-
children?: QuadTreeNode[];
|
|
110
|
-
depth: number;
|
|
111
|
-
}
|
|
112
|
-
export type CollisionEventType = 'collision-enter' | 'collision-stay' | 'collision-exit' | 'trigger-enter' | 'trigger-stay' | 'trigger-exit';
|
|
113
|
-
export interface CollisionEvent {
|
|
114
|
-
type: CollisionEventType;
|
|
115
|
-
manifold?: CollisionManifold;
|
|
116
|
-
colliderA: ColliderId;
|
|
117
|
-
colliderB: ColliderId;
|
|
118
|
-
bodyA: BodyId;
|
|
119
|
-
bodyB: BodyId;
|
|
120
|
-
}
|
|
121
|
-
export type CollisionEventCallback = (event: CollisionEvent) => void;
|
|
122
|
-
export interface CollisionConfig {
|
|
123
|
-
spatialStructure: SpatialStructure;
|
|
124
|
-
gridCellSize: number;
|
|
125
|
-
quadTreeMaxDepth: number;
|
|
126
|
-
quadTreeMaxObjects: number;
|
|
127
|
-
worldBounds: AABB;
|
|
128
|
-
enableCCD: boolean;
|
|
129
|
-
ccdIterations: number;
|
|
130
|
-
maxCollisionPairs: number;
|
|
131
|
-
}
|
|
132
|
-
export declare const DEFAULT_COLLISION_CONFIG: CollisionConfig;
|
|
133
|
-
export declare class NiceCollision extends EventEmitter {
|
|
134
|
-
private config;
|
|
135
|
-
private colliders;
|
|
136
|
-
private bodies;
|
|
137
|
-
private activeCollisions;
|
|
138
|
-
private previousCollisions;
|
|
139
|
-
private grid;
|
|
140
|
-
private quadTree;
|
|
141
|
-
private nextColliderId;
|
|
142
|
-
private nextBodyId;
|
|
143
|
-
private destroyed;
|
|
144
|
-
constructor(config?: Partial<CollisionConfig>);
|
|
145
|
-
private initializeSpatialStructure;
|
|
146
|
-
private createQuadTreeNode;
|
|
147
|
-
createBody(options?: {
|
|
148
|
-
position?: Vec2;
|
|
149
|
-
rotation?: number;
|
|
150
|
-
velocity?: Vec2;
|
|
151
|
-
isStatic?: boolean;
|
|
152
|
-
userData?: unknown;
|
|
153
|
-
}): BodyId;
|
|
154
|
-
getBody(bodyId: BodyId): CollisionBody | undefined;
|
|
155
|
-
removeBody(bodyId: BodyId): void;
|
|
156
|
-
setBodyPosition(bodyId: BodyId, position: Vec2): void;
|
|
157
|
-
setBodyRotation(bodyId: BodyId, rotation: number): void;
|
|
158
|
-
setBodyVelocity(bodyId: BodyId, velocity: Vec2): void;
|
|
159
|
-
setBodyEnabled(bodyId: BodyId, enabled: boolean): void;
|
|
160
|
-
private updateBodyColliders;
|
|
161
|
-
createCollider(bodyId: BodyId, shape: Shape, options?: {
|
|
162
|
-
offset?: Vec2;
|
|
163
|
-
isTrigger?: boolean;
|
|
164
|
-
layer?: LayerId;
|
|
165
|
-
mask?: number;
|
|
166
|
-
userData?: unknown;
|
|
167
|
-
}): ColliderId;
|
|
168
|
-
getCollider(colliderId: ColliderId): Collider | undefined;
|
|
169
|
-
removeCollider(colliderId: ColliderId): void;
|
|
170
|
-
setColliderEnabled(colliderId: ColliderId, enabled: boolean): void;
|
|
171
|
-
createAABB(width: number, height: number, centerOffset?: Vec2): AABB;
|
|
172
|
-
createCircle(radius: number, centerOffset?: Vec2): Circle;
|
|
173
|
-
createOBB(width: number, height: number, rotation?: number): OBB;
|
|
174
|
-
createPolygon(vertices: Vec2[]): Polygon;
|
|
175
|
-
createCapsule(length: number, radius: number): Capsule;
|
|
176
|
-
private getColliderWorldBounds;
|
|
177
|
-
private getWorldShape;
|
|
178
|
-
private getShapeBounds;
|
|
179
|
-
private getOBBCorners;
|
|
180
|
-
private insertIntoSpatialStructure;
|
|
181
|
-
private removeFromSpatialStructure;
|
|
182
|
-
private updateSpatialStructure;
|
|
183
|
-
private getCellKey;
|
|
184
|
-
private insertIntoGrid;
|
|
185
|
-
private removeFromGrid;
|
|
186
|
-
private insertIntoQuadTree;
|
|
187
|
-
private insertIntoQuadTreeNode;
|
|
188
|
-
private subdivideQuadTree;
|
|
189
|
-
private removeFromQuadTree;
|
|
190
|
-
private removeFromQuadTreeNode;
|
|
191
|
-
update(): CollisionManifold[];
|
|
192
|
-
private getPairKey;
|
|
193
|
-
private broadPhase;
|
|
194
|
-
private queryQuadTreePairs;
|
|
195
|
-
private shouldCheckPair;
|
|
196
|
-
private narrowPhase;
|
|
197
|
-
private testShapes;
|
|
198
|
-
private testAABBvsAABB;
|
|
199
|
-
private aabbIntersects;
|
|
200
|
-
private testCircleVsCircle;
|
|
201
|
-
private testAABBvsCircle;
|
|
202
|
-
private testOBBvsShape;
|
|
203
|
-
private testPolygonVsShape;
|
|
204
|
-
private testCapsuleVsShape;
|
|
205
|
-
private testCapsuleVsCapsule;
|
|
206
|
-
private testCapsuleVsCircle;
|
|
207
|
-
private closestPointOnSegment;
|
|
208
|
-
private closestPointsOnSegments;
|
|
209
|
-
private getShapeAxes;
|
|
210
|
-
private projectShape;
|
|
211
|
-
private getOverlap;
|
|
212
|
-
private getShapeCenter;
|
|
213
|
-
private emitCollisionEvents;
|
|
214
|
-
raycast(origin: Vec2, direction: Vec2, maxDistance?: number, layerMask?: number): RaycastHit[];
|
|
215
|
-
private raycastShape;
|
|
216
|
-
private raycastAABB;
|
|
217
|
-
private raycastCircle;
|
|
218
|
-
private raycastOBB;
|
|
219
|
-
private raycastPolygon;
|
|
220
|
-
private raycastSegment;
|
|
221
|
-
private raycastCapsule;
|
|
222
|
-
queryPoint(point: Vec2, layerMask?: number): ColliderId[];
|
|
223
|
-
private pointInShape;
|
|
224
|
-
private pointInPolygon;
|
|
225
|
-
queryAABB(aabb: AABB, layerMask?: number): ColliderId[];
|
|
226
|
-
queryCircle(center: Vec2, radius: number, layerMask?: number): ColliderId[];
|
|
227
|
-
getStats(): {
|
|
228
|
-
bodies: number;
|
|
229
|
-
colliders: number;
|
|
230
|
-
activeCollisions: number;
|
|
231
|
-
gridCells: number;
|
|
232
|
-
};
|
|
233
|
-
clear(): void;
|
|
234
|
-
on(event: 'collision', callback: CollisionEventCallback): this;
|
|
235
|
-
off(event: 'collision', callback: CollisionEventCallback): this;
|
|
236
|
-
destroy(): void;
|
|
237
|
-
}
|
|
238
|
-
export declare function createCollisionSystem(config?: Partial<CollisionConfig>): NiceCollision;
|