@nice2dev/game-engine 1.3.13 → 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 +4 -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,502 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* NiceGesture - Touch Gesture Recognition System
|
|
3
|
-
*
|
|
4
|
-
* Comprehensive gesture recognition system for touch and
|
|
5
|
-
* mouse input with support for custom gestures.
|
|
6
|
-
*
|
|
7
|
-
* Features:
|
|
8
|
-
* - Multi-touch support
|
|
9
|
-
* - Built-in gestures (tap, swipe, pinch, rotate)
|
|
10
|
-
* - Custom gesture recognition
|
|
11
|
-
* - Gesture recording
|
|
12
|
-
* - Pattern matching
|
|
13
|
-
* - Gesture combos
|
|
14
|
-
* - Motion detection
|
|
15
|
-
* - Device orientation
|
|
16
|
-
* - Haptic feedback
|
|
17
|
-
* - Gesture visualization
|
|
18
|
-
*
|
|
19
|
-
* @packageDocumentation
|
|
20
|
-
*/
|
|
21
|
-
/** Local minimal EventEmitter wrapper that tolerates loose .on/.off signatures used by NiceGesture. */
|
|
22
|
-
declare class NiceGestureEmitter {
|
|
23
|
-
private _emitter;
|
|
24
|
-
emit(event: string, ...args: unknown[]): boolean;
|
|
25
|
-
removeAllListeners(event?: string): void;
|
|
26
|
-
}
|
|
27
|
-
/** Unique gesture ID */
|
|
28
|
-
export type GestureId = string;
|
|
29
|
-
/** Touch ID */
|
|
30
|
-
export type TouchId = number;
|
|
31
|
-
/** Gesture type */
|
|
32
|
-
export type GestureType = 'tap' | 'double_tap' | 'long_press' | 'swipe' | 'pan' | 'pinch' | 'rotate' | 'two_finger_tap' | 'three_finger_tap' | 'shake' | 'tilt' | 'custom';
|
|
33
|
-
/** Gesture state */
|
|
34
|
-
export type GestureState = 'possible' | 'began' | 'changed' | 'ended' | 'cancelled' | 'failed';
|
|
35
|
-
/** Swipe direction */
|
|
36
|
-
export type SwipeDirection = 'up' | 'down' | 'left' | 'right';
|
|
37
|
-
/** Gesture priority */
|
|
38
|
-
export type GesturePriority = 'low' | 'normal' | 'high' | 'exclusive';
|
|
39
|
-
/** Point */
|
|
40
|
-
export interface Point {
|
|
41
|
-
x: number;
|
|
42
|
-
y: number;
|
|
43
|
-
}
|
|
44
|
-
/** Touch point */
|
|
45
|
-
export interface TouchPoint extends Point {
|
|
46
|
-
id: TouchId;
|
|
47
|
-
force: number;
|
|
48
|
-
radius: number;
|
|
49
|
-
timestamp: number;
|
|
50
|
-
}
|
|
51
|
-
/** Gesture data */
|
|
52
|
-
export interface GestureData {
|
|
53
|
-
id: GestureId;
|
|
54
|
-
type: GestureType;
|
|
55
|
-
state: GestureState;
|
|
56
|
-
timestamp: number;
|
|
57
|
-
touches: TouchPoint[];
|
|
58
|
-
center: Point;
|
|
59
|
-
startCenter?: Point;
|
|
60
|
-
velocity: Point;
|
|
61
|
-
direction?: SwipeDirection;
|
|
62
|
-
scale?: number;
|
|
63
|
-
rotation?: number;
|
|
64
|
-
deltaX: number;
|
|
65
|
-
deltaY: number;
|
|
66
|
-
distance: number;
|
|
67
|
-
duration: number;
|
|
68
|
-
target?: Element;
|
|
69
|
-
metadata?: Record<string, unknown>;
|
|
70
|
-
}
|
|
71
|
-
/** Gesture recognizer config */
|
|
72
|
-
export interface GestureRecognizerConfig {
|
|
73
|
-
id: string;
|
|
74
|
-
type: GestureType;
|
|
75
|
-
enabled: boolean;
|
|
76
|
-
priority: GesturePriority;
|
|
77
|
-
minTouches: number;
|
|
78
|
-
maxTouches: number;
|
|
79
|
-
threshold: number;
|
|
80
|
-
options: Record<string, unknown>;
|
|
81
|
-
}
|
|
82
|
-
/** Tap config */
|
|
83
|
-
export interface TapConfig {
|
|
84
|
-
maxDuration: number;
|
|
85
|
-
maxMovement: number;
|
|
86
|
-
numberOfTaps: number;
|
|
87
|
-
numberOfTouches: number;
|
|
88
|
-
tapInterval: number;
|
|
89
|
-
}
|
|
90
|
-
/** Swipe config */
|
|
91
|
-
export interface SwipeConfig {
|
|
92
|
-
minVelocity: number;
|
|
93
|
-
minDistance: number;
|
|
94
|
-
maxDuration: number;
|
|
95
|
-
direction: SwipeDirection | 'any' | 'horizontal' | 'vertical';
|
|
96
|
-
}
|
|
97
|
-
/** Pan config */
|
|
98
|
-
export interface PanConfig {
|
|
99
|
-
minDistance: number;
|
|
100
|
-
direction: 'any' | 'horizontal' | 'vertical';
|
|
101
|
-
}
|
|
102
|
-
/** Pinch config */
|
|
103
|
-
export interface PinchConfig {
|
|
104
|
-
minScale: number;
|
|
105
|
-
}
|
|
106
|
-
/** Rotate config */
|
|
107
|
-
export interface RotateConfig {
|
|
108
|
-
minRotation: number;
|
|
109
|
-
}
|
|
110
|
-
/** Long press config */
|
|
111
|
-
export interface LongPressConfig {
|
|
112
|
-
minDuration: number;
|
|
113
|
-
maxMovement: number;
|
|
114
|
-
numberOfTouches: number;
|
|
115
|
-
}
|
|
116
|
-
/** Custom gesture pattern */
|
|
117
|
-
export interface CustomGesturePattern {
|
|
118
|
-
id: GestureId;
|
|
119
|
-
name: string;
|
|
120
|
-
points: Point[];
|
|
121
|
-
normalized: Point[];
|
|
122
|
-
direction?: number;
|
|
123
|
-
aspectRatio?: number;
|
|
124
|
-
}
|
|
125
|
-
/** Gesture combo */
|
|
126
|
-
export interface GestureCombo {
|
|
127
|
-
id: string;
|
|
128
|
-
name: string;
|
|
129
|
-
gestures: GestureType[];
|
|
130
|
-
maxDelay: number;
|
|
131
|
-
callback?: (data: GestureData[]) => void;
|
|
132
|
-
}
|
|
133
|
-
/** Motion data */
|
|
134
|
-
export interface MotionData {
|
|
135
|
-
acceleration: {
|
|
136
|
-
x: number;
|
|
137
|
-
y: number;
|
|
138
|
-
z: number;
|
|
139
|
-
};
|
|
140
|
-
accelerationWithGravity: {
|
|
141
|
-
x: number;
|
|
142
|
-
y: number;
|
|
143
|
-
z: number;
|
|
144
|
-
};
|
|
145
|
-
rotationRate: {
|
|
146
|
-
alpha: number;
|
|
147
|
-
beta: number;
|
|
148
|
-
gamma: number;
|
|
149
|
-
};
|
|
150
|
-
interval: number;
|
|
151
|
-
}
|
|
152
|
-
/** Orientation data */
|
|
153
|
-
export interface OrientationData {
|
|
154
|
-
alpha: number;
|
|
155
|
-
beta: number;
|
|
156
|
-
gamma: number;
|
|
157
|
-
}
|
|
158
|
-
/** Haptic pattern */
|
|
159
|
-
export interface HapticPattern {
|
|
160
|
-
type: 'light' | 'medium' | 'heavy' | 'selection' | 'notification' | 'custom';
|
|
161
|
-
duration?: number;
|
|
162
|
-
intensity?: number;
|
|
163
|
-
pattern?: number[];
|
|
164
|
-
}
|
|
165
|
-
/** Gesture handler */
|
|
166
|
-
export interface GestureHandler {
|
|
167
|
-
id: string;
|
|
168
|
-
type: GestureType | GestureType[];
|
|
169
|
-
target?: HTMLElement | string;
|
|
170
|
-
callback: (data: GestureData) => void;
|
|
171
|
-
priority?: GesturePriority;
|
|
172
|
-
}
|
|
173
|
-
/** Recorded gesture */
|
|
174
|
-
export interface RecordedGesture {
|
|
175
|
-
id: string;
|
|
176
|
-
name: string;
|
|
177
|
-
points: Point[];
|
|
178
|
-
timestamps: number[];
|
|
179
|
-
duration: number;
|
|
180
|
-
recordedAt: number;
|
|
181
|
-
}
|
|
182
|
-
/** Gesture event types */
|
|
183
|
-
export type GestureEventType = 'gesture_started' | 'gesture_changed' | 'gesture_ended' | 'gesture_cancelled' | 'gesture_recognized' | 'custom_gesture_matched' | 'combo_triggered' | 'motion_detected' | 'orientation_changed' | 'shake_detected';
|
|
184
|
-
/** Gesture event */
|
|
185
|
-
export interface GestureEvent {
|
|
186
|
-
type: GestureEventType;
|
|
187
|
-
timestamp: number;
|
|
188
|
-
gesture?: GestureData;
|
|
189
|
-
data?: unknown;
|
|
190
|
-
}
|
|
191
|
-
/** Gesture event callback */
|
|
192
|
-
export type GestureEventCallback = (event: GestureEvent) => void;
|
|
193
|
-
/** Gesture system configuration */
|
|
194
|
-
export interface GestureConfig {
|
|
195
|
-
tap: TapConfig;
|
|
196
|
-
swipe: SwipeConfig;
|
|
197
|
-
pan: PanConfig;
|
|
198
|
-
pinch: PinchConfig;
|
|
199
|
-
rotate: RotateConfig;
|
|
200
|
-
longPress: LongPressConfig;
|
|
201
|
-
motionEnabled: boolean;
|
|
202
|
-
shakeThreshold: number;
|
|
203
|
-
shakeMinMotions: number;
|
|
204
|
-
orientationEnabled: boolean;
|
|
205
|
-
hapticEnabled: boolean;
|
|
206
|
-
debugMode: boolean;
|
|
207
|
-
preventDefaults: boolean;
|
|
208
|
-
touchSlop: number;
|
|
209
|
-
}
|
|
210
|
-
/** Default tap config */
|
|
211
|
-
export declare const DEFAULT_TAP_CONFIG: TapConfig;
|
|
212
|
-
/** Default swipe config */
|
|
213
|
-
export declare const DEFAULT_SWIPE_CONFIG: SwipeConfig;
|
|
214
|
-
/** Default pan config */
|
|
215
|
-
export declare const DEFAULT_PAN_CONFIG: PanConfig;
|
|
216
|
-
/** Default pinch config */
|
|
217
|
-
export declare const DEFAULT_PINCH_CONFIG: PinchConfig;
|
|
218
|
-
/** Default rotate config */
|
|
219
|
-
export declare const DEFAULT_ROTATE_CONFIG: RotateConfig;
|
|
220
|
-
/** Default long press config */
|
|
221
|
-
export declare const DEFAULT_LONG_PRESS_CONFIG: LongPressConfig;
|
|
222
|
-
/** Default configuration */
|
|
223
|
-
export declare const DEFAULT_GESTURE_CONFIG: GestureConfig;
|
|
224
|
-
/**
|
|
225
|
-
* Touch gesture recognition system
|
|
226
|
-
*/
|
|
227
|
-
export declare class NiceGesture extends NiceGestureEmitter {
|
|
228
|
-
private config;
|
|
229
|
-
private handlers;
|
|
230
|
-
private customPatterns;
|
|
231
|
-
private combos;
|
|
232
|
-
private targets;
|
|
233
|
-
private activeTouches;
|
|
234
|
-
private gestureState;
|
|
235
|
-
private startPosition;
|
|
236
|
-
private tapCount;
|
|
237
|
-
private lastTapTime;
|
|
238
|
-
private longPressTimer?;
|
|
239
|
-
private isLongPressActive;
|
|
240
|
-
private initialDistance;
|
|
241
|
-
private initialAngle;
|
|
242
|
-
private currentScale;
|
|
243
|
-
private currentRotation;
|
|
244
|
-
private recentGestures;
|
|
245
|
-
private recordedPoints;
|
|
246
|
-
private isRecording;
|
|
247
|
-
private recordingStartTime;
|
|
248
|
-
private shakeCount;
|
|
249
|
-
private lastShakeTime;
|
|
250
|
-
private lastMotion;
|
|
251
|
-
private lastOrientation;
|
|
252
|
-
private boundElement?;
|
|
253
|
-
constructor(config?: Partial<GestureConfig>);
|
|
254
|
-
/**
|
|
255
|
-
* Emit gesture event
|
|
256
|
-
*/
|
|
257
|
-
private emitEvent;
|
|
258
|
-
/**
|
|
259
|
-
* Initialize gesture system
|
|
260
|
-
*/
|
|
261
|
-
private initialize;
|
|
262
|
-
/**
|
|
263
|
-
* Bind to element
|
|
264
|
-
*/
|
|
265
|
-
bind(element: HTMLElement | string): void;
|
|
266
|
-
/**
|
|
267
|
-
* Unbind from element
|
|
268
|
-
*/
|
|
269
|
-
unbind(): void;
|
|
270
|
-
/**
|
|
271
|
-
* Register gesture handler
|
|
272
|
-
*/
|
|
273
|
-
on(type: GestureType | GestureType[], callback: (data: GestureData) => void, options?: {
|
|
274
|
-
target?: HTMLElement | string;
|
|
275
|
-
priority?: GesturePriority;
|
|
276
|
-
}): string;
|
|
277
|
-
/**
|
|
278
|
-
* Unregister handler
|
|
279
|
-
*/
|
|
280
|
-
off(handlerId: string): void;
|
|
281
|
-
/**
|
|
282
|
-
* Register tap handler
|
|
283
|
-
*/
|
|
284
|
-
onTap(callback: (data: GestureData) => void, options?: {
|
|
285
|
-
numberOfTaps?: number;
|
|
286
|
-
}): string;
|
|
287
|
-
/**
|
|
288
|
-
* Register double tap handler
|
|
289
|
-
*/
|
|
290
|
-
onDoubleTap(callback: (data: GestureData) => void): string;
|
|
291
|
-
/**
|
|
292
|
-
* Register long press handler
|
|
293
|
-
*/
|
|
294
|
-
onLongPress(callback: (data: GestureData) => void): string;
|
|
295
|
-
/**
|
|
296
|
-
* Register swipe handler
|
|
297
|
-
*/
|
|
298
|
-
onSwipe(callback: (data: GestureData) => void, direction?: SwipeDirection | 'horizontal' | 'vertical'): string;
|
|
299
|
-
/**
|
|
300
|
-
* Register pan handler
|
|
301
|
-
*/
|
|
302
|
-
onPan(callback: (data: GestureData) => void): string;
|
|
303
|
-
/**
|
|
304
|
-
* Register pinch handler
|
|
305
|
-
*/
|
|
306
|
-
onPinch(callback: (data: GestureData) => void): string;
|
|
307
|
-
/**
|
|
308
|
-
* Register rotate handler
|
|
309
|
-
*/
|
|
310
|
-
onRotate(callback: (data: GestureData) => void): string;
|
|
311
|
-
/**
|
|
312
|
-
* Handle touch start
|
|
313
|
-
*/
|
|
314
|
-
private handleTouchStart;
|
|
315
|
-
/**
|
|
316
|
-
* Handle touch move
|
|
317
|
-
*/
|
|
318
|
-
private handleTouchMove;
|
|
319
|
-
/**
|
|
320
|
-
* Handle touch end
|
|
321
|
-
*/
|
|
322
|
-
private handleTouchEnd;
|
|
323
|
-
/**
|
|
324
|
-
* Handle touch cancel
|
|
325
|
-
*/
|
|
326
|
-
private handleTouchCancel;
|
|
327
|
-
private isMouseDown;
|
|
328
|
-
private mouseStartPoint?;
|
|
329
|
-
/**
|
|
330
|
-
* Handle mouse down
|
|
331
|
-
*/
|
|
332
|
-
private handleMouseDown;
|
|
333
|
-
/**
|
|
334
|
-
* Handle mouse move
|
|
335
|
-
*/
|
|
336
|
-
private handleMouseMove;
|
|
337
|
-
/**
|
|
338
|
-
* Handle mouse up
|
|
339
|
-
*/
|
|
340
|
-
private handleMouseUp;
|
|
341
|
-
/**
|
|
342
|
-
* Process tap
|
|
343
|
-
*/
|
|
344
|
-
private processTap;
|
|
345
|
-
/**
|
|
346
|
-
* Start long press timer
|
|
347
|
-
*/
|
|
348
|
-
private startLongPressTimer;
|
|
349
|
-
/**
|
|
350
|
-
* Cancel long press
|
|
351
|
-
*/
|
|
352
|
-
private cancelLongPress;
|
|
353
|
-
/**
|
|
354
|
-
* Process swipe
|
|
355
|
-
*/
|
|
356
|
-
private processSwipe;
|
|
357
|
-
/**
|
|
358
|
-
* Get swipe direction
|
|
359
|
-
*/
|
|
360
|
-
private getSwipeDirection;
|
|
361
|
-
/**
|
|
362
|
-
* Process pan
|
|
363
|
-
*/
|
|
364
|
-
private processPan;
|
|
365
|
-
/**
|
|
366
|
-
* End pan
|
|
367
|
-
*/
|
|
368
|
-
private endPan;
|
|
369
|
-
/**
|
|
370
|
-
* Process pinch
|
|
371
|
-
*/
|
|
372
|
-
private processPinch;
|
|
373
|
-
/**
|
|
374
|
-
* End pinch
|
|
375
|
-
*/
|
|
376
|
-
private endPinch;
|
|
377
|
-
/**
|
|
378
|
-
* Process rotate
|
|
379
|
-
*/
|
|
380
|
-
private processRotate;
|
|
381
|
-
/**
|
|
382
|
-
* End rotate
|
|
383
|
-
*/
|
|
384
|
-
private endRotate;
|
|
385
|
-
/**
|
|
386
|
-
* Start recording gesture
|
|
387
|
-
*/
|
|
388
|
-
startRecording(): void;
|
|
389
|
-
/**
|
|
390
|
-
* Stop recording
|
|
391
|
-
*/
|
|
392
|
-
stopRecording(): RecordedGesture | undefined;
|
|
393
|
-
/**
|
|
394
|
-
* Register custom gesture
|
|
395
|
-
*/
|
|
396
|
-
registerCustomGesture(name: string, points: Point[]): CustomGesturePattern;
|
|
397
|
-
/**
|
|
398
|
-
* Unregister custom gesture
|
|
399
|
-
*/
|
|
400
|
-
unregisterCustomGesture(gestureId: GestureId): void;
|
|
401
|
-
/**
|
|
402
|
-
* Match custom gesture
|
|
403
|
-
*/
|
|
404
|
-
matchCustomGesture(points: Point[], threshold?: number): CustomGesturePattern | undefined;
|
|
405
|
-
/**
|
|
406
|
-
* Normalize points
|
|
407
|
-
*/
|
|
408
|
-
private normalizePoints;
|
|
409
|
-
/**
|
|
410
|
-
* Compare patterns
|
|
411
|
-
*/
|
|
412
|
-
private comparePatterns;
|
|
413
|
-
/**
|
|
414
|
-
* Resample points
|
|
415
|
-
*/
|
|
416
|
-
private resample;
|
|
417
|
-
/**
|
|
418
|
-
* Register combo
|
|
419
|
-
*/
|
|
420
|
-
registerCombo(name: string, gestures: GestureType[], callback: (data: GestureData[]) => void, maxDelay?: number): string;
|
|
421
|
-
/**
|
|
422
|
-
* Unregister combo
|
|
423
|
-
*/
|
|
424
|
-
unregisterCombo(comboId: string): void;
|
|
425
|
-
/**
|
|
426
|
-
* Add to recent gestures and check combos
|
|
427
|
-
*/
|
|
428
|
-
private addToRecentGestures;
|
|
429
|
-
/**
|
|
430
|
-
* Check combos
|
|
431
|
-
*/
|
|
432
|
-
private checkCombos;
|
|
433
|
-
/**
|
|
434
|
-
* Match combo
|
|
435
|
-
*/
|
|
436
|
-
private matchCombo;
|
|
437
|
-
/**
|
|
438
|
-
* Handle motion
|
|
439
|
-
*/
|
|
440
|
-
private handleMotion;
|
|
441
|
-
/**
|
|
442
|
-
* Detect shake
|
|
443
|
-
*/
|
|
444
|
-
private detectShake;
|
|
445
|
-
/**
|
|
446
|
-
* Handle orientation
|
|
447
|
-
*/
|
|
448
|
-
private handleOrientation;
|
|
449
|
-
/**
|
|
450
|
-
* Get motion data
|
|
451
|
-
*/
|
|
452
|
-
getMotionData(): MotionData | null;
|
|
453
|
-
/**
|
|
454
|
-
* Get orientation data
|
|
455
|
-
*/
|
|
456
|
-
getOrientationData(): OrientationData | null;
|
|
457
|
-
/**
|
|
458
|
-
* Trigger haptic feedback
|
|
459
|
-
*/
|
|
460
|
-
hapticFeedback(pattern: HapticPattern): void;
|
|
461
|
-
/**
|
|
462
|
-
* Get active touch points
|
|
463
|
-
*/
|
|
464
|
-
private getActivePoints;
|
|
465
|
-
/**
|
|
466
|
-
* Calculate center
|
|
467
|
-
*/
|
|
468
|
-
private calculateCenter;
|
|
469
|
-
/**
|
|
470
|
-
* Calculate distance
|
|
471
|
-
*/
|
|
472
|
-
private calculateDistance;
|
|
473
|
-
/**
|
|
474
|
-
* Calculate angle
|
|
475
|
-
*/
|
|
476
|
-
private calculateAngle;
|
|
477
|
-
/**
|
|
478
|
-
* Create gesture data
|
|
479
|
-
*/
|
|
480
|
-
private createGestureData;
|
|
481
|
-
/**
|
|
482
|
-
* Trigger gesture handlers
|
|
483
|
-
*/
|
|
484
|
-
private triggerGesture;
|
|
485
|
-
/**
|
|
486
|
-
* Get config
|
|
487
|
-
*/
|
|
488
|
-
getConfig(): GestureConfig;
|
|
489
|
-
/**
|
|
490
|
-
* Update config
|
|
491
|
-
*/
|
|
492
|
-
updateConfig(config: Partial<GestureConfig>): void;
|
|
493
|
-
/**
|
|
494
|
-
* Destroy gesture system
|
|
495
|
-
*/
|
|
496
|
-
destroy(): void;
|
|
497
|
-
}
|
|
498
|
-
/**
|
|
499
|
-
* Create gesture system instance
|
|
500
|
-
*/
|
|
501
|
-
export declare function createGestureSystem(config?: Partial<GestureConfig>): NiceGesture;
|
|
502
|
-
export default NiceGesture;
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from 'events';
|
|
2
|
-
export type EntityId = string;
|
|
3
|
-
export type HookId = string;
|
|
4
|
-
export type AnchorId = string;
|
|
5
|
-
export interface Vector3 {
|
|
6
|
-
x: number;
|
|
7
|
-
y: number;
|
|
8
|
-
z: number;
|
|
9
|
-
}
|
|
10
|
-
export type HookType = 'grapple' | 'pull' | 'swing' | 'zip_line' | 'tether' | 'harpoon' | 'custom';
|
|
11
|
-
export type HookState = 'ready' | 'firing' | 'extending' | 'attached' | 'retracting' | 'swinging' | 'cooldown';
|
|
12
|
-
export interface GrapplingHook {
|
|
13
|
-
id: HookId;
|
|
14
|
-
type: HookType;
|
|
15
|
-
ownerId: EntityId;
|
|
16
|
-
state: HookState;
|
|
17
|
-
position: Vector3;
|
|
18
|
-
target?: Vector3;
|
|
19
|
-
velocity: Vector3;
|
|
20
|
-
attachedTo?: AnchorId;
|
|
21
|
-
ropeLength: number;
|
|
22
|
-
maxRopeLength: number;
|
|
23
|
-
ropeSpeed: number;
|
|
24
|
-
pullForce: number;
|
|
25
|
-
durability: number;
|
|
26
|
-
maxDurability: number;
|
|
27
|
-
cooldown: number;
|
|
28
|
-
currentCooldown: number;
|
|
29
|
-
canPullObjects: boolean;
|
|
30
|
-
canPullSelf: boolean;
|
|
31
|
-
swingEnabled: boolean;
|
|
32
|
-
}
|
|
33
|
-
export interface HookData {
|
|
34
|
-
type: HookType;
|
|
35
|
-
maxRopeLength: number;
|
|
36
|
-
ropeSpeed: number;
|
|
37
|
-
pullForce: number;
|
|
38
|
-
durability: number;
|
|
39
|
-
cooldown: number;
|
|
40
|
-
canPullObjects: boolean;
|
|
41
|
-
canPullSelf: boolean;
|
|
42
|
-
swingEnabled: boolean;
|
|
43
|
-
}
|
|
44
|
-
export type AnchorType = 'surface' | 'ring' | 'beam' | 'entity' | 'dynamic' | 'breakable';
|
|
45
|
-
export interface GrappleAnchor {
|
|
46
|
-
id: AnchorId;
|
|
47
|
-
type: AnchorType;
|
|
48
|
-
position: Vector3;
|
|
49
|
-
normal: Vector3;
|
|
50
|
-
isEnabled: boolean;
|
|
51
|
-
strength: number;
|
|
52
|
-
maxLoad?: number;
|
|
53
|
-
entityId?: EntityId;
|
|
54
|
-
pullable?: boolean;
|
|
55
|
-
breakOnDetach?: boolean;
|
|
56
|
-
}
|
|
57
|
-
export interface RopeSegment {
|
|
58
|
-
index: number;
|
|
59
|
-
position: Vector3;
|
|
60
|
-
previousPosition: Vector3;
|
|
61
|
-
velocity: Vector3;
|
|
62
|
-
}
|
|
63
|
-
export interface RopePhysics {
|
|
64
|
-
segments: RopeSegment[];
|
|
65
|
-
stiffness: number;
|
|
66
|
-
damping: number;
|
|
67
|
-
gravity: number;
|
|
68
|
-
maxStretch: number;
|
|
69
|
-
collisionEnabled: boolean;
|
|
70
|
-
}
|
|
71
|
-
export interface Grappler {
|
|
72
|
-
entityId: EntityId;
|
|
73
|
-
position: Vector3;
|
|
74
|
-
velocity: Vector3;
|
|
75
|
-
mass: number;
|
|
76
|
-
hooks: HookId[];
|
|
77
|
-
maxHooks: number;
|
|
78
|
-
activeSwing?: HookId;
|
|
79
|
-
skills: GrapplerSkills;
|
|
80
|
-
}
|
|
81
|
-
export interface GrapplerSkills {
|
|
82
|
-
accuracy: number;
|
|
83
|
-
swingControl: number;
|
|
84
|
-
ropeClimbing: number;
|
|
85
|
-
momentum: number;
|
|
86
|
-
}
|
|
87
|
-
export type GrapplingEventType = 'hook-fired' | 'hook-attached' | 'hook-detached' | 'hook-missed' | 'hook-retracted' | 'swing-started' | 'swing-ended' | 'pull-started' | 'pull-completed' | 'object-pulled' | 'rope-broke' | 'anchor-destroyed';
|
|
88
|
-
export interface GrapplingEvent {
|
|
89
|
-
type: GrapplingEventType;
|
|
90
|
-
entityId: EntityId;
|
|
91
|
-
hookId?: HookId;
|
|
92
|
-
anchorId?: AnchorId;
|
|
93
|
-
data?: Record<string, unknown>;
|
|
94
|
-
}
|
|
95
|
-
export interface GrapplingSystemConfig {
|
|
96
|
-
defaultMaxRopeLength?: number;
|
|
97
|
-
defaultRopeSpeed?: number;
|
|
98
|
-
defaultPullForce?: number;
|
|
99
|
-
ropeGravity?: number;
|
|
100
|
-
ropeSegmentCount?: number;
|
|
101
|
-
ropeStiffness?: number;
|
|
102
|
-
ropeDamping?: number;
|
|
103
|
-
maxHooksPerEntity?: number;
|
|
104
|
-
swingDamping?: number;
|
|
105
|
-
autoDetachOnLand?: boolean;
|
|
106
|
-
hookDetectionRadius?: number;
|
|
107
|
-
}
|
|
108
|
-
export declare const DEFAULT_GRAPPLING_CONFIG: GrapplingSystemConfig;
|
|
109
|
-
export declare class NiceGrappling extends EventEmitter {
|
|
110
|
-
private hooks;
|
|
111
|
-
private anchors;
|
|
112
|
-
private grapplers;
|
|
113
|
-
private ropes;
|
|
114
|
-
private config;
|
|
115
|
-
private hookIdCounter;
|
|
116
|
-
constructor(config?: Partial<GrapplingSystemConfig>);
|
|
117
|
-
registerAnchor(anchor: GrappleAnchor): void;
|
|
118
|
-
unregisterAnchor(id: AnchorId): void;
|
|
119
|
-
getAnchor(id: AnchorId): GrappleAnchor | undefined;
|
|
120
|
-
findAnchorsInRange(position: Vector3, range: number): GrappleAnchor[];
|
|
121
|
-
updateAnchorPosition(id: AnchorId, position: Vector3): void;
|
|
122
|
-
registerGrappler(entityId: EntityId, position: Vector3, skills?: Partial<GrapplerSkills>): void;
|
|
123
|
-
unregisterGrappler(entityId: EntityId): void;
|
|
124
|
-
getGrappler(entityId: EntityId): Grappler | undefined;
|
|
125
|
-
updateGrapplerPosition(entityId: EntityId, position: Vector3): void;
|
|
126
|
-
createHook(entityId: EntityId, data?: Partial<HookData>): HookId | null;
|
|
127
|
-
getHook(id: HookId): GrapplingHook | undefined;
|
|
128
|
-
fireHook(hookId: HookId, targetPosition: Vector3): boolean;
|
|
129
|
-
fireAtAnchor(hookId: HookId, anchorId: AnchorId): boolean;
|
|
130
|
-
retractHook(hookId: HookId): void;
|
|
131
|
-
detachHook(hookId: HookId): void;
|
|
132
|
-
startSwing(hookId: HookId): boolean;
|
|
133
|
-
applySwingForce(entityId: EntityId, direction: Vector3, force: number): void;
|
|
134
|
-
pullSelf(hookId: HookId): boolean;
|
|
135
|
-
pullObject(hookId: HookId): boolean;
|
|
136
|
-
climbRope(hookId: HookId, direction: number): boolean;
|
|
137
|
-
adjustRopeLength(hookId: HookId, delta: number): void;
|
|
138
|
-
update(deltaTime: number): void;
|
|
139
|
-
private updateHook;
|
|
140
|
-
private attachHook;
|
|
141
|
-
private breakAnchor;
|
|
142
|
-
private updateSwingingGrappler;
|
|
143
|
-
private initializeRope;
|
|
144
|
-
private updateRopePhysics;
|
|
145
|
-
getRopePositions(hookId: HookId): Vector3[];
|
|
146
|
-
private findAnchorAtPosition;
|
|
147
|
-
private calculateDistance;
|
|
148
|
-
private normalizeVector;
|
|
149
|
-
private getTangentVector;
|
|
150
|
-
}
|
|
151
|
-
export declare function createGrapplingSystem(config?: Partial<GrapplingSystemConfig>): NiceGrappling;
|
|
152
|
-
export declare function defineGrappleAnchor(options: GrappleAnchor): GrappleAnchor;
|
|
153
|
-
export declare function defineHookType(options: HookData): HookData;
|
|
154
|
-
export default NiceGrappling;
|