@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,157 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from 'events';
|
|
2
|
-
export type ProjectileId = string;
|
|
3
|
-
export type ProjectileType = string;
|
|
4
|
-
export type EntityId = string;
|
|
5
|
-
export interface Vector2 {
|
|
6
|
-
x: number;
|
|
7
|
-
y: number;
|
|
8
|
-
}
|
|
9
|
-
export type MovementPattern = LinearMovement | HomingMovement | ArcMovement | SineMovement | SpiralMovement | BoomerangMovement;
|
|
10
|
-
export interface LinearMovement {
|
|
11
|
-
type: 'linear';
|
|
12
|
-
speed: number;
|
|
13
|
-
acceleration?: number;
|
|
14
|
-
maxSpeed?: number;
|
|
15
|
-
}
|
|
16
|
-
export interface HomingMovement {
|
|
17
|
-
type: 'homing';
|
|
18
|
-
speed: number;
|
|
19
|
-
turnRate: number;
|
|
20
|
-
targetId?: EntityId;
|
|
21
|
-
targetPosition?: Vector2;
|
|
22
|
-
delay?: number;
|
|
23
|
-
}
|
|
24
|
-
export interface ArcMovement {
|
|
25
|
-
type: 'arc';
|
|
26
|
-
speed: number;
|
|
27
|
-
gravity: number;
|
|
28
|
-
height?: number;
|
|
29
|
-
}
|
|
30
|
-
export interface SineMovement {
|
|
31
|
-
type: 'sine';
|
|
32
|
-
speed: number;
|
|
33
|
-
amplitude: number;
|
|
34
|
-
frequency: number;
|
|
35
|
-
}
|
|
36
|
-
export interface SpiralMovement {
|
|
37
|
-
type: 'spiral';
|
|
38
|
-
speed: number;
|
|
39
|
-
radius: number;
|
|
40
|
-
expansionRate: number;
|
|
41
|
-
}
|
|
42
|
-
export interface BoomerangMovement {
|
|
43
|
-
type: 'boomerang';
|
|
44
|
-
speed: number;
|
|
45
|
-
returnDistance: number;
|
|
46
|
-
returnSpeed?: number;
|
|
47
|
-
}
|
|
48
|
-
export interface ProjectileDefinition {
|
|
49
|
-
type: ProjectileType;
|
|
50
|
-
movement: MovementPattern;
|
|
51
|
-
damage: number;
|
|
52
|
-
lifetime: number;
|
|
53
|
-
size: number;
|
|
54
|
-
penetration?: number;
|
|
55
|
-
bounceCount?: number;
|
|
56
|
-
bounceSpeedLoss?: number;
|
|
57
|
-
splitOnHit?: ProjectileType;
|
|
58
|
-
splitCount?: number;
|
|
59
|
-
explosionRadius?: number;
|
|
60
|
-
tags?: string[];
|
|
61
|
-
trailConfig?: TrailConfig;
|
|
62
|
-
}
|
|
63
|
-
export interface TrailConfig {
|
|
64
|
-
enabled: boolean;
|
|
65
|
-
length: number;
|
|
66
|
-
width: number;
|
|
67
|
-
color: string;
|
|
68
|
-
fadeOut: boolean;
|
|
69
|
-
}
|
|
70
|
-
export interface ProjectileInstance {
|
|
71
|
-
id: ProjectileId;
|
|
72
|
-
type: ProjectileType;
|
|
73
|
-
ownerId: EntityId;
|
|
74
|
-
position: Vector2;
|
|
75
|
-
velocity: Vector2;
|
|
76
|
-
direction: number;
|
|
77
|
-
spawnTime: number;
|
|
78
|
-
state: ProjectileState;
|
|
79
|
-
penetrationsLeft: number;
|
|
80
|
-
bouncesLeft: number;
|
|
81
|
-
distanceTraveled: number;
|
|
82
|
-
hitEntities: Set<EntityId>;
|
|
83
|
-
trailPoints: Vector2[];
|
|
84
|
-
homingTarget?: EntityId | Vector2;
|
|
85
|
-
returning?: boolean;
|
|
86
|
-
sinePhase?: number;
|
|
87
|
-
spiralAngle?: number;
|
|
88
|
-
}
|
|
89
|
-
export type ProjectileState = 'active' | 'exploding' | 'destroyed';
|
|
90
|
-
export interface CollisionResult {
|
|
91
|
-
entityId: EntityId;
|
|
92
|
-
position: Vector2;
|
|
93
|
-
normal?: Vector2;
|
|
94
|
-
}
|
|
95
|
-
export type ProjectileEventType = 'projectile-spawned' | 'projectile-hit' | 'projectile-bounced' | 'projectile-penetrated' | 'projectile-exploded' | 'projectile-destroyed' | 'projectile-split';
|
|
96
|
-
export interface ProjectileEvent {
|
|
97
|
-
type: ProjectileEventType;
|
|
98
|
-
projectileId: ProjectileId;
|
|
99
|
-
projectileType?: ProjectileType;
|
|
100
|
-
position?: Vector2;
|
|
101
|
-
targetId?: EntityId;
|
|
102
|
-
damage?: number;
|
|
103
|
-
}
|
|
104
|
-
export interface ProjectileConfig {
|
|
105
|
-
maxProjectiles?: number;
|
|
106
|
-
defaultLifetime?: number;
|
|
107
|
-
trailMaxLength?: number;
|
|
108
|
-
usePooling?: boolean;
|
|
109
|
-
}
|
|
110
|
-
export declare const DEFAULT_PROJECTILE_CONFIG: ProjectileConfig;
|
|
111
|
-
export declare class NiceProjectile extends EventEmitter {
|
|
112
|
-
private definitions;
|
|
113
|
-
private projectiles;
|
|
114
|
-
private pool;
|
|
115
|
-
private nextId;
|
|
116
|
-
private config;
|
|
117
|
-
private collisionChecker?;
|
|
118
|
-
constructor(config?: Partial<ProjectileConfig>);
|
|
119
|
-
register(definition: ProjectileDefinition): void;
|
|
120
|
-
unregister(type: ProjectileType): boolean;
|
|
121
|
-
getDefinition(type: ProjectileType): ProjectileDefinition | undefined;
|
|
122
|
-
setCollisionChecker(checker: (projectile: ProjectileInstance, definition: ProjectileDefinition) => CollisionResult[]): void;
|
|
123
|
-
spawn(type: ProjectileType, ownerId: EntityId, position: Vector2, direction: number, options?: Partial<{
|
|
124
|
-
targetId: EntityId;
|
|
125
|
-
targetPosition: Vector2;
|
|
126
|
-
speedMultiplier: number;
|
|
127
|
-
damageMultiplier: number;
|
|
128
|
-
}>): ProjectileId | null;
|
|
129
|
-
private getSpeed;
|
|
130
|
-
private createInstance;
|
|
131
|
-
private getFromPool;
|
|
132
|
-
private returnToPool;
|
|
133
|
-
update(deltaTime: number): void;
|
|
134
|
-
private updateMovement;
|
|
135
|
-
private updateLinear;
|
|
136
|
-
private updateHoming;
|
|
137
|
-
private updateArc;
|
|
138
|
-
private updateSine;
|
|
139
|
-
private updateSpiral;
|
|
140
|
-
private updateBoomerang;
|
|
141
|
-
private updateTrail;
|
|
142
|
-
private handleCollision;
|
|
143
|
-
private bounce;
|
|
144
|
-
private split;
|
|
145
|
-
private explode;
|
|
146
|
-
destroy(id: ProjectileId): boolean;
|
|
147
|
-
destroyAll(): void;
|
|
148
|
-
destroyByOwner(ownerId: EntityId): void;
|
|
149
|
-
getProjectile(id: ProjectileId): ProjectileInstance | undefined;
|
|
150
|
-
getProjectilesByType(type: ProjectileType): ProjectileInstance[];
|
|
151
|
-
getProjectilesByOwner(ownerId: EntityId): ProjectileInstance[];
|
|
152
|
-
getAllProjectiles(): ProjectileInstance[];
|
|
153
|
-
getCount(): number;
|
|
154
|
-
}
|
|
155
|
-
export declare function createProjectileSystem(config?: Partial<ProjectileConfig>): NiceProjectile;
|
|
156
|
-
export declare function defineProjectile(type: ProjectileType, movement: MovementPattern, damage: number, lifetime: number, options?: Partial<Omit<ProjectileDefinition, 'type' | 'movement' | 'damage' | 'lifetime'>>): ProjectileDefinition;
|
|
157
|
-
export default NiceProjectile;
|
|
@@ -1,199 +0,0 @@
|
|
|
1
|
-
export type MatchId = string;
|
|
2
|
-
export type PlayerId = string;
|
|
3
|
-
export type TeamId = string;
|
|
4
|
-
export type SeasonId = string;
|
|
5
|
-
export type MatchType = 'duel' | 'arena' | 'battleground' | 'tournament' | 'custom';
|
|
6
|
-
export type MatchStatus = 'pending' | 'starting' | 'active' | 'completed' | 'cancelled';
|
|
7
|
-
export type MatchResult = 'victory' | 'defeat' | 'draw' | 'abandoned';
|
|
8
|
-
export interface PvPPlayer {
|
|
9
|
-
id: PlayerId;
|
|
10
|
-
name: string;
|
|
11
|
-
level: number;
|
|
12
|
-
character?: string;
|
|
13
|
-
class?: string;
|
|
14
|
-
mmr: number;
|
|
15
|
-
rank: number;
|
|
16
|
-
seasonPoints: number;
|
|
17
|
-
wins: number;
|
|
18
|
-
losses: number;
|
|
19
|
-
draws: number;
|
|
20
|
-
winStreak: number;
|
|
21
|
-
bestWinStreak: number;
|
|
22
|
-
totalKills: number;
|
|
23
|
-
totalDeaths: number;
|
|
24
|
-
totalAssists: number;
|
|
25
|
-
totalDamage: number;
|
|
26
|
-
totalHealing: number;
|
|
27
|
-
isOnline: boolean;
|
|
28
|
-
inMatch: boolean;
|
|
29
|
-
lastMatchTime?: number;
|
|
30
|
-
}
|
|
31
|
-
export interface MatchPlayer {
|
|
32
|
-
playerId: PlayerId;
|
|
33
|
-
name: string;
|
|
34
|
-
teamId?: TeamId;
|
|
35
|
-
character?: string;
|
|
36
|
-
kills: number;
|
|
37
|
-
deaths: number;
|
|
38
|
-
assists: number;
|
|
39
|
-
damage: number;
|
|
40
|
-
healing: number;
|
|
41
|
-
score: number;
|
|
42
|
-
connected: boolean;
|
|
43
|
-
ready: boolean;
|
|
44
|
-
}
|
|
45
|
-
export interface Team {
|
|
46
|
-
id: TeamId;
|
|
47
|
-
name: string;
|
|
48
|
-
players: PlayerId[];
|
|
49
|
-
score: number;
|
|
50
|
-
color?: string;
|
|
51
|
-
}
|
|
52
|
-
export interface MatchConfig {
|
|
53
|
-
type: MatchType;
|
|
54
|
-
name: string;
|
|
55
|
-
description?: string;
|
|
56
|
-
minPlayers: number;
|
|
57
|
-
maxPlayers: number;
|
|
58
|
-
teamCount?: number;
|
|
59
|
-
playersPerTeam?: number;
|
|
60
|
-
scoreToWin?: number;
|
|
61
|
-
timeLimit?: number;
|
|
62
|
-
respawnEnabled: boolean;
|
|
63
|
-
respawnTime?: number;
|
|
64
|
-
maxDeaths?: number;
|
|
65
|
-
mapId?: string;
|
|
66
|
-
mapName?: string;
|
|
67
|
-
winReward?: {
|
|
68
|
-
type: string;
|
|
69
|
-
amount: number;
|
|
70
|
-
};
|
|
71
|
-
loseReward?: {
|
|
72
|
-
type: string;
|
|
73
|
-
amount: number;
|
|
74
|
-
};
|
|
75
|
-
isRanked: boolean;
|
|
76
|
-
minRank?: number;
|
|
77
|
-
maxRank?: number;
|
|
78
|
-
}
|
|
79
|
-
export interface Match {
|
|
80
|
-
id: MatchId;
|
|
81
|
-
config: MatchConfig;
|
|
82
|
-
status: MatchStatus;
|
|
83
|
-
players: Map<PlayerId, MatchPlayer>;
|
|
84
|
-
teams?: Team[];
|
|
85
|
-
createdAt: number;
|
|
86
|
-
startedAt?: number;
|
|
87
|
-
endedAt?: number;
|
|
88
|
-
currentScore: Record<string, number>;
|
|
89
|
-
timeRemaining?: number;
|
|
90
|
-
round?: number;
|
|
91
|
-
winnerId?: PlayerId | TeamId;
|
|
92
|
-
results?: Map<PlayerId, MatchResult>;
|
|
93
|
-
spectators: PlayerId[];
|
|
94
|
-
}
|
|
95
|
-
export interface QueueEntry {
|
|
96
|
-
playerId: PlayerId;
|
|
97
|
-
mmr: number;
|
|
98
|
-
queueType: MatchType;
|
|
99
|
-
joinedAt: number;
|
|
100
|
-
expandRange: number;
|
|
101
|
-
}
|
|
102
|
-
export interface MatchmakingConfig {
|
|
103
|
-
mmrRange: number;
|
|
104
|
-
mmrExpandRate: number;
|
|
105
|
-
maxWaitTime: number;
|
|
106
|
-
minMatchSize: Record<MatchType, number>;
|
|
107
|
-
maxMatchSize: Record<MatchType, number>;
|
|
108
|
-
}
|
|
109
|
-
export interface PvPSeason {
|
|
110
|
-
id: SeasonId;
|
|
111
|
-
name: string;
|
|
112
|
-
startDate: number;
|
|
113
|
-
endDate: number;
|
|
114
|
-
ranks: Array<{
|
|
115
|
-
tier: string;
|
|
116
|
-
division: number;
|
|
117
|
-
minPoints: number;
|
|
118
|
-
icon?: string;
|
|
119
|
-
}>;
|
|
120
|
-
seasonRewards: Array<{
|
|
121
|
-
minRank: number;
|
|
122
|
-
rewards: Array<{
|
|
123
|
-
type: string;
|
|
124
|
-
itemId: string;
|
|
125
|
-
quantity: number;
|
|
126
|
-
}>;
|
|
127
|
-
}>;
|
|
128
|
-
}
|
|
129
|
-
export type PvPEventType = 'queue-joined' | 'queue-left' | 'match-found' | 'match-started' | 'match-ended' | 'player-joined' | 'player-left' | 'player-killed' | 'player-respawned' | 'score-updated' | 'rank-changed' | 'season-ended';
|
|
130
|
-
export interface PvPEvent {
|
|
131
|
-
type: PvPEventType;
|
|
132
|
-
timestamp: number;
|
|
133
|
-
matchId?: MatchId;
|
|
134
|
-
data?: unknown;
|
|
135
|
-
}
|
|
136
|
-
export type PvPEventCallback = (event: PvPEvent) => void;
|
|
137
|
-
export interface PvPConfig {
|
|
138
|
-
matchmaking: MatchmakingConfig;
|
|
139
|
-
mmrK: number;
|
|
140
|
-
mmrDefault: number;
|
|
141
|
-
winStreakBonus: number;
|
|
142
|
-
maxWinStreakBonus: number;
|
|
143
|
-
afkTimeout: number;
|
|
144
|
-
storageKey: string;
|
|
145
|
-
}
|
|
146
|
-
export declare const DEFAULT_PVP_CONFIG: PvPConfig;
|
|
147
|
-
export declare class NicePvP {
|
|
148
|
-
private config;
|
|
149
|
-
private players;
|
|
150
|
-
private matches;
|
|
151
|
-
private queue;
|
|
152
|
-
private matchConfigs;
|
|
153
|
-
private seasons;
|
|
154
|
-
private currentSeasonId;
|
|
155
|
-
private eventListeners;
|
|
156
|
-
private matchCounter;
|
|
157
|
-
constructor(config?: Partial<PvPConfig>);
|
|
158
|
-
private initializeQueues;
|
|
159
|
-
on(event: PvPEventType, callback: PvPEventCallback): () => void;
|
|
160
|
-
private emit;
|
|
161
|
-
registerPlayer(playerId: PlayerId, data?: Partial<PvPPlayer>): PvPPlayer;
|
|
162
|
-
getPlayer(playerId: PlayerId): PvPPlayer | undefined;
|
|
163
|
-
setPlayerOnline(playerId: PlayerId, online: boolean): void;
|
|
164
|
-
registerMatchConfig(config: MatchConfig): void;
|
|
165
|
-
joinQueue(playerId: PlayerId, matchType: MatchType): boolean;
|
|
166
|
-
leaveQueue(playerId: PlayerId): boolean;
|
|
167
|
-
processMatchmaking(): Match[];
|
|
168
|
-
private findMatchGroup;
|
|
169
|
-
createMatch(config: MatchConfig, playerIds: PlayerId[]): Match | null;
|
|
170
|
-
startMatch(matchId: MatchId): boolean;
|
|
171
|
-
recordKill(matchId: MatchId, killerId: PlayerId, victimId: PlayerId, damage: number, assistIds?: PlayerId[]): void;
|
|
172
|
-
private checkWinCondition;
|
|
173
|
-
endMatch(matchId: MatchId, winnerId?: PlayerId | TeamId): void;
|
|
174
|
-
private processMatchResults;
|
|
175
|
-
private updateMMR;
|
|
176
|
-
private updateRankings;
|
|
177
|
-
registerSeason(season: PvPSeason): void;
|
|
178
|
-
startSeason(seasonId: SeasonId): boolean;
|
|
179
|
-
endSeason(): PvPSeason | null;
|
|
180
|
-
getPlayerRank(playerId: PlayerId): {
|
|
181
|
-
tier: string;
|
|
182
|
-
division: number;
|
|
183
|
-
} | null;
|
|
184
|
-
spectate(matchId: MatchId, spectatorId: PlayerId): boolean;
|
|
185
|
-
stopSpectating(matchId: MatchId, spectatorId: PlayerId): void;
|
|
186
|
-
getMatch(matchId: MatchId): Match | undefined;
|
|
187
|
-
getActiveMatches(type?: MatchType): Match[];
|
|
188
|
-
getLeaderboard(limit?: number): PvPPlayer[];
|
|
189
|
-
getPlayerMatchHistory(playerId: PlayerId, limit?: number): Match[];
|
|
190
|
-
getQueueStatus(matchType: MatchType): {
|
|
191
|
-
inQueue: number;
|
|
192
|
-
estimatedWait: number;
|
|
193
|
-
};
|
|
194
|
-
private save;
|
|
195
|
-
private load;
|
|
196
|
-
reset(): void;
|
|
197
|
-
destroy(): void;
|
|
198
|
-
}
|
|
199
|
-
export declare function createPvPSystem(config?: Partial<PvPConfig>): NicePvP;
|
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from 'events';
|
|
2
|
-
export type QTEId = string;
|
|
3
|
-
export type SequenceId = string;
|
|
4
|
-
export type PromptId = string;
|
|
5
|
-
export type InputType = 'button' | 'hold' | 'mash' | 'sequence' | 'analog' | 'directional' | 'rhythm';
|
|
6
|
-
export type ButtonInput = 'action' | 'jump' | 'attack' | 'dodge' | 'interact' | 'primary' | 'secondary' | 'dpad_up' | 'dpad_down' | 'dpad_left' | 'dpad_right' | string;
|
|
7
|
-
export type Direction = 'up' | 'down' | 'left' | 'right' | 'neutral';
|
|
8
|
-
export interface QTEPrompt {
|
|
9
|
-
id: PromptId;
|
|
10
|
-
type: InputType;
|
|
11
|
-
button?: ButtonInput;
|
|
12
|
-
buttons?: ButtonInput[];
|
|
13
|
-
direction?: Direction;
|
|
14
|
-
analogThreshold?: number;
|
|
15
|
-
mashCount?: number;
|
|
16
|
-
holdDuration?: number;
|
|
17
|
-
timeWindow: number;
|
|
18
|
-
earlyWindow?: number;
|
|
19
|
-
perfectWindow?: number;
|
|
20
|
-
lateWindow?: number;
|
|
21
|
-
position?: {
|
|
22
|
-
x: number;
|
|
23
|
-
y: number;
|
|
24
|
-
};
|
|
25
|
-
visual?: QTEVisual;
|
|
26
|
-
}
|
|
27
|
-
export interface QTEVisual {
|
|
28
|
-
icon?: string;
|
|
29
|
-
text?: string;
|
|
30
|
-
animation?: string;
|
|
31
|
-
color?: string;
|
|
32
|
-
scale?: number;
|
|
33
|
-
showTimer?: boolean;
|
|
34
|
-
}
|
|
35
|
-
export interface QTESequence {
|
|
36
|
-
id: SequenceId;
|
|
37
|
-
name: string;
|
|
38
|
-
prompts: QTEPrompt[];
|
|
39
|
-
allowSkip?: boolean;
|
|
40
|
-
resetOnFail?: boolean;
|
|
41
|
-
maxFailures?: number;
|
|
42
|
-
timeBetweenPrompts?: number;
|
|
43
|
-
bonusTimePerSuccess?: number;
|
|
44
|
-
difficultyScaling?: boolean;
|
|
45
|
-
}
|
|
46
|
-
export interface QTEDefinition {
|
|
47
|
-
id: QTEId;
|
|
48
|
-
name: string;
|
|
49
|
-
type: 'single' | 'sequence' | 'parallel';
|
|
50
|
-
sequences?: SequenceId[];
|
|
51
|
-
prompt?: QTEPrompt;
|
|
52
|
-
globalTimeLimit?: number;
|
|
53
|
-
pauseGame?: boolean;
|
|
54
|
-
slowMotionFactor?: number;
|
|
55
|
-
onStart?: () => void;
|
|
56
|
-
onSuccess?: (result: QTEResult) => void;
|
|
57
|
-
onFailure?: (result: QTEResult) => void;
|
|
58
|
-
onComplete?: (result: QTEResult) => void;
|
|
59
|
-
}
|
|
60
|
-
export interface ActiveQTE {
|
|
61
|
-
id: QTEId;
|
|
62
|
-
definition: QTEDefinition;
|
|
63
|
-
state: QTEState;
|
|
64
|
-
currentSequenceIndex: number;
|
|
65
|
-
currentPromptIndex: number;
|
|
66
|
-
startTime: number;
|
|
67
|
-
timeRemaining: number;
|
|
68
|
-
successCount: number;
|
|
69
|
-
failureCount: number;
|
|
70
|
-
perfectCount: number;
|
|
71
|
-
mashProgress: number;
|
|
72
|
-
holdProgress: number;
|
|
73
|
-
analogValue: number;
|
|
74
|
-
inputBuffer: InputRecord[];
|
|
75
|
-
results: PromptResult[];
|
|
76
|
-
}
|
|
77
|
-
export type QTEState = 'pending' | 'active' | 'waiting_input' | 'succeeded' | 'failed' | 'completed' | 'cancelled';
|
|
78
|
-
export interface InputRecord {
|
|
79
|
-
button: ButtonInput | Direction;
|
|
80
|
-
timestamp: number;
|
|
81
|
-
held: boolean;
|
|
82
|
-
}
|
|
83
|
-
export interface PromptResult {
|
|
84
|
-
promptId: PromptId;
|
|
85
|
-
success: boolean;
|
|
86
|
-
timing: 'early' | 'perfect' | 'late' | 'missed';
|
|
87
|
-
reactionTime: number;
|
|
88
|
-
}
|
|
89
|
-
export interface QTEResult {
|
|
90
|
-
qteId: QTEId;
|
|
91
|
-
success: boolean;
|
|
92
|
-
totalPrompts: number;
|
|
93
|
-
successfulPrompts: number;
|
|
94
|
-
perfectPrompts: number;
|
|
95
|
-
failedPrompts: number;
|
|
96
|
-
averageReactionTime: number;
|
|
97
|
-
totalTime: number;
|
|
98
|
-
promptResults: PromptResult[];
|
|
99
|
-
}
|
|
100
|
-
export type QTEEventType = 'qte-started' | 'qte-completed' | 'qte-cancelled' | 'prompt-shown' | 'prompt-success' | 'prompt-perfect' | 'prompt-failed' | 'prompt-timeout' | 'sequence-started' | 'sequence-completed' | 'mash-progress' | 'hold-progress' | 'time-warning';
|
|
101
|
-
export interface QTEEvent {
|
|
102
|
-
type: QTEEventType;
|
|
103
|
-
qteId: QTEId;
|
|
104
|
-
promptId?: PromptId;
|
|
105
|
-
data?: Record<string, unknown>;
|
|
106
|
-
}
|
|
107
|
-
export interface QTESystemConfig {
|
|
108
|
-
defaultTimeWindow?: number;
|
|
109
|
-
perfectWindowRatio?: number;
|
|
110
|
-
inputBufferTime?: number;
|
|
111
|
-
visualFeedbackDuration?: number;
|
|
112
|
-
difficultyCurve?: number;
|
|
113
|
-
autoFailOnTimeout?: boolean;
|
|
114
|
-
allowInputQueue?: boolean;
|
|
115
|
-
hapticFeedback?: boolean;
|
|
116
|
-
}
|
|
117
|
-
export declare const DEFAULT_QTE_CONFIG: QTESystemConfig;
|
|
118
|
-
export declare class NiceQTE extends EventEmitter {
|
|
119
|
-
private definitions;
|
|
120
|
-
private sequences;
|
|
121
|
-
private activeQTEs;
|
|
122
|
-
private currentInputs;
|
|
123
|
-
private inputBuffer;
|
|
124
|
-
private config;
|
|
125
|
-
private qteIdCounter;
|
|
126
|
-
private isPaused;
|
|
127
|
-
constructor(config?: Partial<QTESystemConfig>);
|
|
128
|
-
defineQTE(definition: QTEDefinition): void;
|
|
129
|
-
defineSequence(sequence: QTESequence): void;
|
|
130
|
-
getDefinition(id: QTEId): QTEDefinition | undefined;
|
|
131
|
-
getSequence(id: SequenceId): QTESequence | undefined;
|
|
132
|
-
startQTE(definitionId: QTEId): ActiveQTE | null;
|
|
133
|
-
startQuickQTE(prompt: QTEPrompt): ActiveQTE;
|
|
134
|
-
cancelQTE(qteId: QTEId): void;
|
|
135
|
-
private showNextPrompt;
|
|
136
|
-
private getCurrentPrompt;
|
|
137
|
-
buttonPressed(button: ButtonInput): void;
|
|
138
|
-
buttonReleased(button: ButtonInput): void;
|
|
139
|
-
directionInput(direction: Direction): void;
|
|
140
|
-
analogInput(x: number, y: number): void;
|
|
141
|
-
private checkInput;
|
|
142
|
-
private matchesSequence;
|
|
143
|
-
private promptSuccess;
|
|
144
|
-
private promptFailed;
|
|
145
|
-
private evaluateTiming;
|
|
146
|
-
private getCurrentSequence;
|
|
147
|
-
private advanceQTE;
|
|
148
|
-
private completeQTE;
|
|
149
|
-
private calculateAverageReactionTime;
|
|
150
|
-
update(deltaTime: number): void;
|
|
151
|
-
isQTEActive(): boolean;
|
|
152
|
-
getActiveQTE(qteId: QTEId): ActiveQTE | undefined;
|
|
153
|
-
getAllActiveQTEs(): ActiveQTE[];
|
|
154
|
-
isGamePaused(): boolean;
|
|
155
|
-
getSlowMotionFactor(): number;
|
|
156
|
-
}
|
|
157
|
-
export declare function createQTESystem(config?: Partial<QTESystemConfig>): NiceQTE;
|
|
158
|
-
export declare function defineQTEPrompt(options: QTEPrompt): QTEPrompt;
|
|
159
|
-
export declare function defineQTESequence(options: QTESequence): QTESequence;
|
|
160
|
-
export default NiceQTE;
|