@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,131 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from 'events';
|
|
2
|
-
export type ComboId = string;
|
|
3
|
-
export type InputId = string;
|
|
4
|
-
export type ActionId = string;
|
|
5
|
-
export type EntityId = string;
|
|
6
|
-
export interface InputDefinition {
|
|
7
|
-
id: InputId;
|
|
8
|
-
name: string;
|
|
9
|
-
aliases?: string[];
|
|
10
|
-
}
|
|
11
|
-
export interface ComboStep {
|
|
12
|
-
inputs: InputId[];
|
|
13
|
-
timing?: TimingWindow;
|
|
14
|
-
action?: ActionId;
|
|
15
|
-
canCancel?: ActionId[];
|
|
16
|
-
holdDuration?: number;
|
|
17
|
-
release?: boolean;
|
|
18
|
-
}
|
|
19
|
-
export interface TimingWindow {
|
|
20
|
-
minDelay: number;
|
|
21
|
-
maxDelay: number;
|
|
22
|
-
}
|
|
23
|
-
export interface ComboDefinition {
|
|
24
|
-
id: ComboId;
|
|
25
|
-
name: string;
|
|
26
|
-
steps: ComboStep[];
|
|
27
|
-
priority?: number;
|
|
28
|
-
requirements?: ComboRequirements;
|
|
29
|
-
result: ComboResult;
|
|
30
|
-
tags?: string[];
|
|
31
|
-
}
|
|
32
|
-
export interface ComboRequirements {
|
|
33
|
-
minComboCount?: number;
|
|
34
|
-
minMeter?: number;
|
|
35
|
-
state?: string;
|
|
36
|
-
airborne?: boolean;
|
|
37
|
-
grounded?: boolean;
|
|
38
|
-
}
|
|
39
|
-
export interface ComboResult {
|
|
40
|
-
action: ActionId;
|
|
41
|
-
damage?: number;
|
|
42
|
-
meterGain?: number;
|
|
43
|
-
hitstun?: number;
|
|
44
|
-
knockback?: number;
|
|
45
|
-
properties?: Record<string, unknown>;
|
|
46
|
-
}
|
|
47
|
-
export interface BufferedInput {
|
|
48
|
-
inputId: InputId;
|
|
49
|
-
timestamp: number;
|
|
50
|
-
pressed: boolean;
|
|
51
|
-
released: boolean;
|
|
52
|
-
held: boolean;
|
|
53
|
-
holdDuration: number;
|
|
54
|
-
}
|
|
55
|
-
export interface ComboState {
|
|
56
|
-
entityId: EntityId;
|
|
57
|
-
currentCombo?: ComboId;
|
|
58
|
-
currentStep: number;
|
|
59
|
-
comboCount: number;
|
|
60
|
-
meter: number;
|
|
61
|
-
maxMeter: number;
|
|
62
|
-
multiplier: number;
|
|
63
|
-
inputBuffer: BufferedInput[];
|
|
64
|
-
lastActionTime: number;
|
|
65
|
-
inRecovery: boolean;
|
|
66
|
-
canCancel: boolean;
|
|
67
|
-
}
|
|
68
|
-
export interface ComboMatch {
|
|
69
|
-
comboId: ComboId;
|
|
70
|
-
matchedAt: number;
|
|
71
|
-
confidence: number;
|
|
72
|
-
}
|
|
73
|
-
export type ComboEventType = 'input-buffered' | 'combo-started' | 'combo-step' | 'combo-completed' | 'combo-dropped' | 'combo-extended' | 'meter-changed' | 'multiplier-changed';
|
|
74
|
-
export interface ComboEvent {
|
|
75
|
-
type: ComboEventType;
|
|
76
|
-
entityId: EntityId;
|
|
77
|
-
comboId?: ComboId;
|
|
78
|
-
step?: number;
|
|
79
|
-
comboCount?: number;
|
|
80
|
-
meter?: number;
|
|
81
|
-
multiplier?: number;
|
|
82
|
-
}
|
|
83
|
-
export interface ComboConfig {
|
|
84
|
-
bufferDuration?: number;
|
|
85
|
-
defaultTimingWindow?: TimingWindow;
|
|
86
|
-
maxComboCount?: number;
|
|
87
|
-
maxMeter?: number;
|
|
88
|
-
baseMultiplier?: number;
|
|
89
|
-
multiplierPerHit?: number;
|
|
90
|
-
dropTimeWindow?: number;
|
|
91
|
-
inputLeniency?: number;
|
|
92
|
-
}
|
|
93
|
-
export declare const DEFAULT_COMBO_CONFIG: ComboConfig;
|
|
94
|
-
export declare class NiceCombo extends EventEmitter {
|
|
95
|
-
private inputs;
|
|
96
|
-
private combos;
|
|
97
|
-
private entities;
|
|
98
|
-
private config;
|
|
99
|
-
constructor(config?: Partial<ComboConfig>);
|
|
100
|
-
registerInput(input: InputDefinition): void;
|
|
101
|
-
unregisterInput(inputId: InputId): boolean;
|
|
102
|
-
registerCombo(combo: ComboDefinition): void;
|
|
103
|
-
unregisterCombo(comboId: ComboId): boolean;
|
|
104
|
-
getCombo(comboId: ComboId): ComboDefinition | undefined;
|
|
105
|
-
registerEntity(entityId: EntityId): void;
|
|
106
|
-
unregisterEntity(entityId: EntityId): boolean;
|
|
107
|
-
getState(entityId: EntityId): ComboState | undefined;
|
|
108
|
-
bufferInput(entityId: EntityId, inputId: InputId, pressed: boolean, released?: boolean): void;
|
|
109
|
-
private processBuffer;
|
|
110
|
-
private matchStep;
|
|
111
|
-
private findMatches;
|
|
112
|
-
private meetsRequirements;
|
|
113
|
-
private startCombo;
|
|
114
|
-
private advanceStep;
|
|
115
|
-
private completeCombo;
|
|
116
|
-
dropCombo(entityId: EntityId): void;
|
|
117
|
-
canCancel(entityId: EntityId, intoAction: ActionId): boolean;
|
|
118
|
-
cancel(entityId: EntityId): void;
|
|
119
|
-
addMeter(entityId: EntityId, amount: number): void;
|
|
120
|
-
useMeter(entityId: EntityId, amount: number): boolean;
|
|
121
|
-
getMeter(entityId: EntityId): number;
|
|
122
|
-
getComboCount(entityId: EntityId): number;
|
|
123
|
-
getMultiplier(entityId: EntityId): number;
|
|
124
|
-
getCurrentCombo(entityId: EntityId): ComboDefinition | undefined;
|
|
125
|
-
isInCombo(entityId: EntityId): boolean;
|
|
126
|
-
update(_deltaTime: number): void;
|
|
127
|
-
}
|
|
128
|
-
export declare function createComboSystem(config?: Partial<ComboConfig>): NiceCombo;
|
|
129
|
-
export declare function defineCombo(id: ComboId, name: string, steps: ComboStep[], result: ComboResult, options?: Partial<Omit<ComboDefinition, 'id' | 'name' | 'steps' | 'result'>>): ComboDefinition;
|
|
130
|
-
export declare function step(inputs: InputId[], action?: ActionId, options?: Partial<Omit<ComboStep, 'inputs' | 'action'>>): ComboStep;
|
|
131
|
-
export default NiceCombo;
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
export type CommandId = string;
|
|
2
|
-
export interface Command {
|
|
3
|
-
id: CommandId;
|
|
4
|
-
name: string;
|
|
5
|
-
description?: string;
|
|
6
|
-
timestamp: number;
|
|
7
|
-
execute(): void;
|
|
8
|
-
undo(): void;
|
|
9
|
-
redo?(): void;
|
|
10
|
-
canMerge?(other: Command): boolean;
|
|
11
|
-
merge?(other: Command): Command;
|
|
12
|
-
}
|
|
13
|
-
export interface CommandHistoryEntry {
|
|
14
|
-
command: Command;
|
|
15
|
-
timestamp: number;
|
|
16
|
-
merged: boolean;
|
|
17
|
-
}
|
|
18
|
-
export interface Transaction {
|
|
19
|
-
id: string;
|
|
20
|
-
name: string;
|
|
21
|
-
commands: Command[];
|
|
22
|
-
active: boolean;
|
|
23
|
-
timestamp: number;
|
|
24
|
-
}
|
|
25
|
-
export type CommandEventType = 'command-executed' | 'command-undone' | 'command-redone' | 'history-changed' | 'transaction-started' | 'transaction-committed' | 'transaction-rolled-back';
|
|
26
|
-
export interface CommandEvent {
|
|
27
|
-
type: CommandEventType;
|
|
28
|
-
timestamp: number;
|
|
29
|
-
command?: Command;
|
|
30
|
-
data?: unknown;
|
|
31
|
-
}
|
|
32
|
-
export type CommandEventCallback = (event: CommandEvent) => void;
|
|
33
|
-
export interface CommandConfig {
|
|
34
|
-
maxHistory: number;
|
|
35
|
-
enableMerging: boolean;
|
|
36
|
-
mergeTimeout: number;
|
|
37
|
-
}
|
|
38
|
-
export declare const DEFAULT_COMMAND_CONFIG: CommandConfig;
|
|
39
|
-
export declare abstract class BaseCommand implements Command {
|
|
40
|
-
readonly id: CommandId;
|
|
41
|
-
readonly name: string;
|
|
42
|
-
readonly description?: string;
|
|
43
|
-
readonly timestamp: number;
|
|
44
|
-
constructor(name: string, description?: string);
|
|
45
|
-
abstract execute(): void;
|
|
46
|
-
abstract undo(): void;
|
|
47
|
-
redo(): void;
|
|
48
|
-
}
|
|
49
|
-
export declare class FunctionCommand extends BaseCommand {
|
|
50
|
-
private executeFn;
|
|
51
|
-
private undoFn;
|
|
52
|
-
constructor(name: string, executeFn: () => void, undoFn: () => void, description?: string);
|
|
53
|
-
execute(): void;
|
|
54
|
-
undo(): void;
|
|
55
|
-
}
|
|
56
|
-
export declare class PropertyCommand<T, K extends keyof T> extends BaseCommand {
|
|
57
|
-
private target;
|
|
58
|
-
private property;
|
|
59
|
-
private oldValue;
|
|
60
|
-
private newValue;
|
|
61
|
-
constructor(target: T, property: K, newValue: T[K], name?: string);
|
|
62
|
-
execute(): void;
|
|
63
|
-
undo(): void;
|
|
64
|
-
canMerge(other: Command): boolean;
|
|
65
|
-
merge(other: Command): Command;
|
|
66
|
-
}
|
|
67
|
-
export declare class BatchCommand extends BaseCommand {
|
|
68
|
-
private commands;
|
|
69
|
-
constructor(commands: Command[], name?: string);
|
|
70
|
-
execute(): void;
|
|
71
|
-
undo(): void;
|
|
72
|
-
getCommands(): Command[];
|
|
73
|
-
}
|
|
74
|
-
export declare class NiceCommand {
|
|
75
|
-
private config;
|
|
76
|
-
private undoStack;
|
|
77
|
-
private redoStack;
|
|
78
|
-
private activeTransaction;
|
|
79
|
-
private eventListeners;
|
|
80
|
-
private lastCommandTime;
|
|
81
|
-
constructor(config?: Partial<CommandConfig>);
|
|
82
|
-
on(event: CommandEventType, callback: CommandEventCallback): () => void;
|
|
83
|
-
private emit;
|
|
84
|
-
execute(command: Command): void;
|
|
85
|
-
run(name: string, executeFn: () => void, undoFn: () => void): void;
|
|
86
|
-
setProperty<T, K extends keyof T>(target: T, property: K, value: T[K]): void;
|
|
87
|
-
batch(commands: Command[], name?: string): void;
|
|
88
|
-
undo(): boolean;
|
|
89
|
-
redo(): boolean;
|
|
90
|
-
undoMultiple(count: number): number;
|
|
91
|
-
redoMultiple(count: number): number;
|
|
92
|
-
beginTransaction(name: string): string;
|
|
93
|
-
commitTransaction(): void;
|
|
94
|
-
rollbackTransaction(): void;
|
|
95
|
-
isInTransaction(): boolean;
|
|
96
|
-
canUndo(): boolean;
|
|
97
|
-
canRedo(): boolean;
|
|
98
|
-
getUndoCount(): number;
|
|
99
|
-
getRedoCount(): number;
|
|
100
|
-
getUndoStack(): Command[];
|
|
101
|
-
getRedoStack(): Command[];
|
|
102
|
-
getLastCommand(): Command | null;
|
|
103
|
-
getHistory(): CommandHistoryEntry[];
|
|
104
|
-
clear(): void;
|
|
105
|
-
clearRedo(): void;
|
|
106
|
-
destroy(): void;
|
|
107
|
-
}
|
|
108
|
-
export declare function createCommandSystem(config?: Partial<CommandConfig>): NiceCommand;
|
|
109
|
-
export declare function createCommand(name: string, execute: () => void, undo: () => void): Command;
|
|
110
|
-
export declare function createPropertyCommand<T, K extends keyof T>(target: T, property: K, value: T[K]): Command;
|
|
111
|
-
export declare function createBatchCommand(commands: Command[], name?: string): Command;
|
|
112
|
-
export declare function undoable(target: object, propertyKey: string, descriptor: PropertyDescriptor): PropertyDescriptor;
|
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
export type CompanionId = string;
|
|
2
|
-
export type AbilityId = string;
|
|
3
|
-
export type PersonalityTrait = string;
|
|
4
|
-
export type CompanionState = 'inactive' | 'active' | 'traveling' | 'waiting' | 'combat' | 'dead';
|
|
5
|
-
export type BehaviorMode = 'follow' | 'stay' | 'aggressive' | 'defensive' | 'passive' | 'support';
|
|
6
|
-
export type RelationshipLevel = 'stranger' | 'acquaintance' | 'friend' | 'close_friend' | 'companion' | 'soulmate';
|
|
7
|
-
export interface CompanionStats {
|
|
8
|
-
health: number;
|
|
9
|
-
maxHealth: number;
|
|
10
|
-
stamina: number;
|
|
11
|
-
maxStamina: number;
|
|
12
|
-
attack: number;
|
|
13
|
-
defense: number;
|
|
14
|
-
speed: number;
|
|
15
|
-
level: number;
|
|
16
|
-
experience: number;
|
|
17
|
-
}
|
|
18
|
-
export interface CompanionAbility {
|
|
19
|
-
id: AbilityId;
|
|
20
|
-
name: string;
|
|
21
|
-
description: string;
|
|
22
|
-
cooldown: number;
|
|
23
|
-
cost: number;
|
|
24
|
-
damage?: number;
|
|
25
|
-
healing?: number;
|
|
26
|
-
effect?: string;
|
|
27
|
-
unlockLevel: number;
|
|
28
|
-
}
|
|
29
|
-
export interface CompanionDefinition {
|
|
30
|
-
id: CompanionId;
|
|
31
|
-
name: string;
|
|
32
|
-
title?: string;
|
|
33
|
-
description: string;
|
|
34
|
-
portrait?: string;
|
|
35
|
-
model?: string;
|
|
36
|
-
baseStats: Omit<CompanionStats, 'level' | 'experience'>;
|
|
37
|
-
statsPerLevel: Partial<CompanionStats>;
|
|
38
|
-
maxLevel: number;
|
|
39
|
-
personality: PersonalityTrait[];
|
|
40
|
-
likes: string[];
|
|
41
|
-
dislikes: string[];
|
|
42
|
-
abilities: CompanionAbility[];
|
|
43
|
-
synergies?: Array<{
|
|
44
|
-
companionId: CompanionId;
|
|
45
|
-
bonusName: string;
|
|
46
|
-
bonusEffect: Record<string, number>;
|
|
47
|
-
}>;
|
|
48
|
-
recruitmentQuest?: string;
|
|
49
|
-
recruitmentCost?: {
|
|
50
|
-
type: string;
|
|
51
|
-
amount: number;
|
|
52
|
-
};
|
|
53
|
-
minPlayerLevel?: number;
|
|
54
|
-
voiceId?: string;
|
|
55
|
-
dialogueSet?: string;
|
|
56
|
-
tags?: string[];
|
|
57
|
-
}
|
|
58
|
-
export interface CompanionInstance {
|
|
59
|
-
companionId: CompanionId;
|
|
60
|
-
stats: CompanionStats;
|
|
61
|
-
currentHealth: number;
|
|
62
|
-
currentStamina: number;
|
|
63
|
-
state: CompanionState;
|
|
64
|
-
behaviorMode: BehaviorMode;
|
|
65
|
-
position: {
|
|
66
|
-
x: number;
|
|
67
|
-
y: number;
|
|
68
|
-
z?: number;
|
|
69
|
-
};
|
|
70
|
-
targetPosition?: {
|
|
71
|
-
x: number;
|
|
72
|
-
y: number;
|
|
73
|
-
z?: number;
|
|
74
|
-
};
|
|
75
|
-
affinity: number;
|
|
76
|
-
relationshipLevel: RelationshipLevel;
|
|
77
|
-
giftHistory: Array<{
|
|
78
|
-
itemId: string;
|
|
79
|
-
time: number;
|
|
80
|
-
}>;
|
|
81
|
-
conversationCount: number;
|
|
82
|
-
abilityCooldowns: Map<AbilityId, number>;
|
|
83
|
-
combatTarget?: string;
|
|
84
|
-
equipment?: Record<string, string>;
|
|
85
|
-
unlockedAbilities: AbilityId[];
|
|
86
|
-
perks?: string[];
|
|
87
|
-
}
|
|
88
|
-
export interface GiftPreference {
|
|
89
|
-
itemId: string;
|
|
90
|
-
affinityGain: number;
|
|
91
|
-
reaction: 'love' | 'like' | 'neutral' | 'dislike' | 'hate';
|
|
92
|
-
}
|
|
93
|
-
export interface RelationshipTier {
|
|
94
|
-
level: RelationshipLevel;
|
|
95
|
-
minAffinity: number;
|
|
96
|
-
bonuses: Record<string, number>;
|
|
97
|
-
unlocksDialogue?: string[];
|
|
98
|
-
unlocksQuest?: string;
|
|
99
|
-
}
|
|
100
|
-
export declare const DEFAULT_RELATIONSHIP_TIERS: RelationshipTier[];
|
|
101
|
-
export type CompanionEventType = 'companion-recruited' | 'companion-dismissed' | 'companion-activated' | 'companion-deactivated' | 'companion-leveled' | 'companion-ability-unlocked' | 'companion-ability-used' | 'companion-damaged' | 'companion-healed' | 'companion-died' | 'companion-revived' | 'affinity-changed' | 'relationship-leveled' | 'gift-given' | 'behavior-changed';
|
|
102
|
-
export interface CompanionEvent {
|
|
103
|
-
type: CompanionEventType;
|
|
104
|
-
timestamp: number;
|
|
105
|
-
companionId: CompanionId;
|
|
106
|
-
data?: unknown;
|
|
107
|
-
}
|
|
108
|
-
export type CompanionEventCallback = (event: CompanionEvent) => void;
|
|
109
|
-
export interface CompanionConfig {
|
|
110
|
-
maxActiveCompanions: number;
|
|
111
|
-
maxRecruitedCompanions: number;
|
|
112
|
-
experiencePerLevel: number[];
|
|
113
|
-
affinityDecayRate: number;
|
|
114
|
-
dailyGiftLimit: number;
|
|
115
|
-
reviveCost?: {
|
|
116
|
-
type: string;
|
|
117
|
-
amount: number;
|
|
118
|
-
};
|
|
119
|
-
storageKey: string;
|
|
120
|
-
}
|
|
121
|
-
export declare const DEFAULT_COMPANION_CONFIG: CompanionConfig;
|
|
122
|
-
export declare class NiceCompanion {
|
|
123
|
-
private config;
|
|
124
|
-
private definitions;
|
|
125
|
-
private giftPreferences;
|
|
126
|
-
private relationshipTiers;
|
|
127
|
-
private recruited;
|
|
128
|
-
private active;
|
|
129
|
-
private eventListeners;
|
|
130
|
-
constructor(config?: Partial<CompanionConfig>);
|
|
131
|
-
on(event: CompanionEventType, callback: CompanionEventCallback): () => void;
|
|
132
|
-
private emit;
|
|
133
|
-
registerCompanion(def: CompanionDefinition): void;
|
|
134
|
-
registerGiftPreferences(companionId: CompanionId, preferences: GiftPreference[]): void;
|
|
135
|
-
setRelationshipTiers(tiers: RelationshipTier[]): void;
|
|
136
|
-
recruit(companionId: CompanionId): boolean;
|
|
137
|
-
dismiss(companionId: CompanionId): boolean;
|
|
138
|
-
activate(companionId: CompanionId): boolean;
|
|
139
|
-
deactivate(companionId: CompanionId): boolean;
|
|
140
|
-
setBehavior(companionId: CompanionId, mode: BehaviorMode): boolean;
|
|
141
|
-
setPosition(companionId: CompanionId, position: {
|
|
142
|
-
x: number;
|
|
143
|
-
y: number;
|
|
144
|
-
z?: number;
|
|
145
|
-
}): void;
|
|
146
|
-
setTarget(companionId: CompanionId, target: {
|
|
147
|
-
x: number;
|
|
148
|
-
y: number;
|
|
149
|
-
z?: number;
|
|
150
|
-
} | undefined): void;
|
|
151
|
-
damage(companionId: CompanionId, amount: number): number;
|
|
152
|
-
heal(companionId: CompanionId, amount: number): number;
|
|
153
|
-
revive(companionId: CompanionId, healthPercent?: number): boolean;
|
|
154
|
-
useAbility(companionId: CompanionId, abilityId: AbilityId): boolean;
|
|
155
|
-
addExperience(companionId: CompanionId, amount: number): boolean;
|
|
156
|
-
private levelUp;
|
|
157
|
-
changeAffinity(companionId: CompanionId, amount: number): void;
|
|
158
|
-
giveGift(companionId: CompanionId, itemId: string): {
|
|
159
|
-
success: boolean;
|
|
160
|
-
reaction: string;
|
|
161
|
-
affinityGain: number;
|
|
162
|
-
};
|
|
163
|
-
private getRelationshipLevelForAffinity;
|
|
164
|
-
getRelationshipTier(companionId: CompanionId): RelationshipTier | undefined;
|
|
165
|
-
getActiveSynergies(): Array<{
|
|
166
|
-
companions: CompanionId[];
|
|
167
|
-
bonusName: string;
|
|
168
|
-
effects: Record<string, number>;
|
|
169
|
-
}>;
|
|
170
|
-
getCompanion(companionId: CompanionId): CompanionInstance | undefined;
|
|
171
|
-
getDefinition(companionId: CompanionId): CompanionDefinition | undefined;
|
|
172
|
-
getRecruited(): CompanionInstance[];
|
|
173
|
-
getActive(): CompanionInstance[];
|
|
174
|
-
isRecruited(companionId: CompanionId): boolean;
|
|
175
|
-
isActive(companionId: CompanionId): boolean;
|
|
176
|
-
update(deltaTime: number): void;
|
|
177
|
-
private save;
|
|
178
|
-
private load;
|
|
179
|
-
reset(): void;
|
|
180
|
-
destroy(): void;
|
|
181
|
-
}
|
|
182
|
-
export declare function createCompanionSystem(config?: Partial<CompanionConfig>): NiceCompanion;
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
export type ControllerId = number;
|
|
2
|
-
export type ProfileId = string;
|
|
3
|
-
export type StandardButton = 'a' | 'b' | 'x' | 'y' | 'lb' | 'rb' | 'lt' | 'rt' | 'back' | 'start' | 'ls' | 'rs' | 'dpad-up' | 'dpad-down' | 'dpad-left' | 'dpad-right' | 'home';
|
|
4
|
-
export type StandardAxis = 'left-x' | 'left-y' | 'right-x' | 'right-y';
|
|
5
|
-
export interface ButtonState {
|
|
6
|
-
pressed: boolean;
|
|
7
|
-
touched: boolean;
|
|
8
|
-
value: number;
|
|
9
|
-
justPressed: boolean;
|
|
10
|
-
justReleased: boolean;
|
|
11
|
-
heldTime: number;
|
|
12
|
-
}
|
|
13
|
-
export interface AxisState {
|
|
14
|
-
raw: number;
|
|
15
|
-
value: number;
|
|
16
|
-
deadzone: number;
|
|
17
|
-
inverted: boolean;
|
|
18
|
-
sensitivity: number;
|
|
19
|
-
}
|
|
20
|
-
export interface ControllerState {
|
|
21
|
-
id: ControllerId;
|
|
22
|
-
connected: boolean;
|
|
23
|
-
name: string;
|
|
24
|
-
mapping: string;
|
|
25
|
-
buttons: Map<StandardButton, ButtonState>;
|
|
26
|
-
axes: Map<StandardAxis, AxisState>;
|
|
27
|
-
lastActiveTime: number;
|
|
28
|
-
profileId?: ProfileId;
|
|
29
|
-
vibrating: boolean;
|
|
30
|
-
}
|
|
31
|
-
export interface StickVector {
|
|
32
|
-
x: number;
|
|
33
|
-
y: number;
|
|
34
|
-
magnitude: number;
|
|
35
|
-
angle: number;
|
|
36
|
-
}
|
|
37
|
-
export interface InputProfile {
|
|
38
|
-
id: ProfileId;
|
|
39
|
-
name: string;
|
|
40
|
-
buttonMappings: Map<StandardButton, StandardButton>;
|
|
41
|
-
axisDeadzones: Map<StandardAxis, number>;
|
|
42
|
-
axisInversions: Map<StandardAxis, boolean>;
|
|
43
|
-
axisSensitivities: Map<StandardAxis, number>;
|
|
44
|
-
triggerThreshold: number;
|
|
45
|
-
}
|
|
46
|
-
export interface VibrationPattern {
|
|
47
|
-
duration: number;
|
|
48
|
-
strongMagnitude: number;
|
|
49
|
-
weakMagnitude: number;
|
|
50
|
-
}
|
|
51
|
-
export interface VibrationSequence {
|
|
52
|
-
patterns: VibrationPattern[];
|
|
53
|
-
loop: boolean;
|
|
54
|
-
}
|
|
55
|
-
export interface ActionBinding {
|
|
56
|
-
action: string;
|
|
57
|
-
button?: StandardButton;
|
|
58
|
-
axis?: StandardAxis;
|
|
59
|
-
axisDirection?: 'positive' | 'negative';
|
|
60
|
-
threshold?: number;
|
|
61
|
-
}
|
|
62
|
-
export type ControllerEventType = 'controller-connected' | 'controller-disconnected' | 'button-pressed' | 'button-released' | 'button-held' | 'axis-changed' | 'stick-moved' | 'trigger-pressed' | 'trigger-released' | 'action-triggered' | 'vibration-started' | 'vibration-stopped';
|
|
63
|
-
export interface ControllerEvent {
|
|
64
|
-
type: ControllerEventType;
|
|
65
|
-
timestamp: number;
|
|
66
|
-
controllerId?: ControllerId;
|
|
67
|
-
data?: unknown;
|
|
68
|
-
}
|
|
69
|
-
export type ControllerEventCallback = (event: ControllerEvent) => void;
|
|
70
|
-
export interface ControllerConfig {
|
|
71
|
-
/** Default deadzone for sticks */
|
|
72
|
-
defaultDeadzone: number;
|
|
73
|
-
/** Default trigger threshold */
|
|
74
|
-
defaultTriggerThreshold: number;
|
|
75
|
-
/** Button hold time (ms) to trigger held event */
|
|
76
|
-
holdTime: number;
|
|
77
|
-
/** Enable vibration */
|
|
78
|
-
enableVibration: boolean;
|
|
79
|
-
/** Max controllers to track */
|
|
80
|
-
maxControllers: number;
|
|
81
|
-
/** Polling interval (ms, 0 = use requestAnimationFrame) */
|
|
82
|
-
pollingInterval: number;
|
|
83
|
-
/** Enable virtual gamepad */
|
|
84
|
-
enableVirtualGamepad: boolean;
|
|
85
|
-
}
|
|
86
|
-
export declare const DEFAULT_CONTROLLER_CONFIG: ControllerConfig;
|
|
87
|
-
export declare class NiceController {
|
|
88
|
-
private config;
|
|
89
|
-
private controllers;
|
|
90
|
-
private profiles;
|
|
91
|
-
private actionBindings;
|
|
92
|
-
private previousButtonStates;
|
|
93
|
-
private running;
|
|
94
|
-
private animationFrameId?;
|
|
95
|
-
private pollTimerId?;
|
|
96
|
-
private virtualGamepad?;
|
|
97
|
-
private eventListeners;
|
|
98
|
-
constructor(config?: Partial<ControllerConfig>);
|
|
99
|
-
on(event: ControllerEventType, callback: ControllerEventCallback): () => void;
|
|
100
|
-
private emit;
|
|
101
|
-
private createDefaultProfile;
|
|
102
|
-
private initVirtualGamepad;
|
|
103
|
-
setVirtualButton(button: StandardButton, pressed: boolean): void;
|
|
104
|
-
setVirtualAxis(axis: StandardAxis, value: number): void;
|
|
105
|
-
private createControllerState;
|
|
106
|
-
createProfile(id: ProfileId, name: string, options?: Partial<InputProfile>): InputProfile;
|
|
107
|
-
setControllerProfile(controllerId: ControllerId, profileId: ProfileId): void;
|
|
108
|
-
getProfile(profileId: ProfileId): InputProfile | undefined;
|
|
109
|
-
bindAction(action: string, binding: Omit<ActionBinding, 'action'>): void;
|
|
110
|
-
unbindAction(action: string): void;
|
|
111
|
-
clearBindings(): void;
|
|
112
|
-
isActionPressed(action: string, controllerId?: ControllerId): boolean;
|
|
113
|
-
getActionValue(action: string, controllerId?: ControllerId): number;
|
|
114
|
-
start(): void;
|
|
115
|
-
private poll;
|
|
116
|
-
stop(): void;
|
|
117
|
-
private scanGamepads;
|
|
118
|
-
private onGamepadConnected;
|
|
119
|
-
private onGamepadDisconnected;
|
|
120
|
-
private addController;
|
|
121
|
-
private removeController;
|
|
122
|
-
update(): void;
|
|
123
|
-
private updateVirtualGamepad;
|
|
124
|
-
private applyDeadzone;
|
|
125
|
-
private checkActionTriggers;
|
|
126
|
-
getController(controllerId: ControllerId): ControllerState | undefined;
|
|
127
|
-
getControllers(): ControllerState[];
|
|
128
|
-
getConnectedCount(): number;
|
|
129
|
-
isButtonPressed(controllerId: ControllerId, button: StandardButton): boolean;
|
|
130
|
-
isButtonJustPressed(controllerId: ControllerId, button: StandardButton): boolean;
|
|
131
|
-
getButtonValue(controllerId: ControllerId, button: StandardButton): number;
|
|
132
|
-
getAxisValue(controllerId: ControllerId, axis: StandardAxis): number;
|
|
133
|
-
getStick(controllerId: ControllerId, stick: 'left' | 'right'): StickVector | null;
|
|
134
|
-
vibrate(controllerId: ControllerId, duration: number, options?: {
|
|
135
|
-
strong?: number;
|
|
136
|
-
weak?: number;
|
|
137
|
-
}): void;
|
|
138
|
-
vibratePattern(controllerId: ControllerId, sequence: VibrationSequence): void;
|
|
139
|
-
private playVibrationSequence;
|
|
140
|
-
private vibrateGamepad;
|
|
141
|
-
stopVibration(controllerId: ControllerId): void;
|
|
142
|
-
destroy(): void;
|
|
143
|
-
}
|
|
144
|
-
export declare function createControllerSystem(config?: Partial<ControllerConfig>): NiceController;
|