@nice2dev/game-engine 1.3.13 → 1.3.15
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,225 +0,0 @@
|
|
|
1
|
-
export type EntityId = string;
|
|
2
|
-
export type AbilityId = string;
|
|
3
|
-
export type ResourceId = string;
|
|
4
|
-
export type UpgradeId = string;
|
|
5
|
-
export type ComboId = string;
|
|
6
|
-
export interface ResourceDefinition {
|
|
7
|
-
id: ResourceId;
|
|
8
|
-
name: string;
|
|
9
|
-
color?: string;
|
|
10
|
-
maxValue: number;
|
|
11
|
-
regeneration: number;
|
|
12
|
-
/** Regen only when not casting */
|
|
13
|
-
regenOutOfCombat: boolean;
|
|
14
|
-
}
|
|
15
|
-
export interface EntityResources {
|
|
16
|
-
[resourceId: string]: {
|
|
17
|
-
current: number;
|
|
18
|
-
max: number;
|
|
19
|
-
regen: number;
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
export type TargetingType = 'self' | 'single-enemy' | 'single-ally' | 'single-any' | 'aoe-position' | 'aoe-enemy' | 'aoe-ally' | 'aoe-all' | 'cone' | 'line' | 'none';
|
|
23
|
-
export interface TargetingConfig {
|
|
24
|
-
type: TargetingType;
|
|
25
|
-
range: number;
|
|
26
|
-
radius?: number;
|
|
27
|
-
angle?: number;
|
|
28
|
-
width?: number;
|
|
29
|
-
length?: number;
|
|
30
|
-
maxTargets?: number;
|
|
31
|
-
requiresLineOfSight?: boolean;
|
|
32
|
-
piercing?: boolean;
|
|
33
|
-
}
|
|
34
|
-
export type AbilityType = 'active' | 'passive' | 'toggle' | 'channeled';
|
|
35
|
-
export interface AbilityCost {
|
|
36
|
-
resourceId: ResourceId;
|
|
37
|
-
amount: number;
|
|
38
|
-
/** Cost per second for channeled */
|
|
39
|
-
perSecond?: number;
|
|
40
|
-
}
|
|
41
|
-
export interface AbilityEffect {
|
|
42
|
-
type: string;
|
|
43
|
-
value: number;
|
|
44
|
-
duration?: number;
|
|
45
|
-
scaling?: {
|
|
46
|
-
stat: string;
|
|
47
|
-
ratio: number;
|
|
48
|
-
}[];
|
|
49
|
-
[key: string]: unknown;
|
|
50
|
-
}
|
|
51
|
-
export interface AbilityDefinition {
|
|
52
|
-
id: AbilityId;
|
|
53
|
-
name: string;
|
|
54
|
-
description: string;
|
|
55
|
-
icon?: string;
|
|
56
|
-
type: AbilityType;
|
|
57
|
-
/** Resource costs */
|
|
58
|
-
costs: AbilityCost[];
|
|
59
|
-
/** Cooldown in seconds */
|
|
60
|
-
cooldown: number;
|
|
61
|
-
/** Max charges (0 = no charges) */
|
|
62
|
-
maxCharges: number;
|
|
63
|
-
/** Charge recharge time */
|
|
64
|
-
chargeRechargeTime: number;
|
|
65
|
-
/** Cast time (0 = instant) */
|
|
66
|
-
castTime: number;
|
|
67
|
-
/** Can cast while moving */
|
|
68
|
-
castWhileMoving: boolean;
|
|
69
|
-
/** Interruptible */
|
|
70
|
-
interruptible: boolean;
|
|
71
|
-
/** Channel duration (for channeled abilities) */
|
|
72
|
-
channelDuration?: number;
|
|
73
|
-
/** Channel ticks */
|
|
74
|
-
channelTicks?: number;
|
|
75
|
-
/** Global cooldown */
|
|
76
|
-
triggersGlobalCooldown: boolean;
|
|
77
|
-
globalCooldownDuration?: number;
|
|
78
|
-
/** Targeting configuration */
|
|
79
|
-
targeting: TargetingConfig;
|
|
80
|
-
/** Effects applied */
|
|
81
|
-
effects: AbilityEffect[];
|
|
82
|
-
/** Tags for filtering */
|
|
83
|
-
tags: string[];
|
|
84
|
-
/** Unlock level */
|
|
85
|
-
unlockLevel: number;
|
|
86
|
-
/** Animation to play */
|
|
87
|
-
animation?: string;
|
|
88
|
-
/** Sound to play */
|
|
89
|
-
sound?: string;
|
|
90
|
-
/** Visual effect */
|
|
91
|
-
vfx?: string;
|
|
92
|
-
/** Combo chain info */
|
|
93
|
-
comboChain?: ComboId;
|
|
94
|
-
comboWindow?: number;
|
|
95
|
-
}
|
|
96
|
-
export interface AbilityState {
|
|
97
|
-
abilityId: AbilityId;
|
|
98
|
-
currentCooldown: number;
|
|
99
|
-
charges: number;
|
|
100
|
-
chargeRechargeTimer: number;
|
|
101
|
-
isToggled: boolean;
|
|
102
|
-
upgrades: UpgradeId[];
|
|
103
|
-
/** Combo state */
|
|
104
|
-
comboStep: number;
|
|
105
|
-
comboTimer: number;
|
|
106
|
-
}
|
|
107
|
-
export interface CastState {
|
|
108
|
-
abilityId: AbilityId;
|
|
109
|
-
casterId: EntityId;
|
|
110
|
-
targetId?: EntityId;
|
|
111
|
-
targetPosition?: {
|
|
112
|
-
x: number;
|
|
113
|
-
y: number;
|
|
114
|
-
z?: number;
|
|
115
|
-
};
|
|
116
|
-
castProgress: number;
|
|
117
|
-
castDuration: number;
|
|
118
|
-
channelProgress?: number;
|
|
119
|
-
channelDuration?: number;
|
|
120
|
-
currentTick?: number;
|
|
121
|
-
isCasting: boolean;
|
|
122
|
-
isChanneling: boolean;
|
|
123
|
-
startTime: number;
|
|
124
|
-
}
|
|
125
|
-
export interface AbilityUpgrade {
|
|
126
|
-
id: UpgradeId;
|
|
127
|
-
abilityId: AbilityId;
|
|
128
|
-
name: string;
|
|
129
|
-
description: string;
|
|
130
|
-
icon?: string;
|
|
131
|
-
/** Effects modified */
|
|
132
|
-
modifiers: {
|
|
133
|
-
property: string;
|
|
134
|
-
operation: 'add' | 'multiply' | 'set';
|
|
135
|
-
value: number;
|
|
136
|
-
}[];
|
|
137
|
-
/** Prerequisites */
|
|
138
|
-
prerequisites: UpgradeId[];
|
|
139
|
-
cost: number;
|
|
140
|
-
}
|
|
141
|
-
export interface ComboDefinition {
|
|
142
|
-
id: ComboId;
|
|
143
|
-
name: string;
|
|
144
|
-
/** Abilities in sequence */
|
|
145
|
-
abilities: AbilityId[];
|
|
146
|
-
/** Window to continue combo */
|
|
147
|
-
comboWindow: number;
|
|
148
|
-
/** Bonus on completion */
|
|
149
|
-
finisherBonus?: AbilityEffect;
|
|
150
|
-
}
|
|
151
|
-
export type AbilityEventType = 'ability-cast-start' | 'ability-cast-complete' | 'ability-cast-interrupted' | 'ability-channel-start' | 'ability-channel-tick' | 'ability-channel-complete' | 'ability-cooldown-start' | 'ability-cooldown-ready' | 'ability-charge-gained' | 'ability-toggled' | 'ability-upgraded' | 'combo-advanced' | 'combo-completed' | 'combo-broken' | 'resource-changed' | 'global-cooldown-start';
|
|
152
|
-
export interface AbilityEvent {
|
|
153
|
-
type: AbilityEventType;
|
|
154
|
-
timestamp: number;
|
|
155
|
-
entityId?: EntityId;
|
|
156
|
-
abilityId?: AbilityId;
|
|
157
|
-
data?: unknown;
|
|
158
|
-
}
|
|
159
|
-
export type AbilityEventCallback = (event: AbilityEvent) => void;
|
|
160
|
-
export interface AbilityConfig {
|
|
161
|
-
/** Default global cooldown */
|
|
162
|
-
defaultGlobalCooldown: number;
|
|
163
|
-
/** Allow queueing abilities */
|
|
164
|
-
abilityQueue: boolean;
|
|
165
|
-
/** Queue window before cast ends */
|
|
166
|
-
queueWindow: number;
|
|
167
|
-
/** Auto-target if single target */
|
|
168
|
-
autoTargetSingleEnemy: boolean;
|
|
169
|
-
}
|
|
170
|
-
export declare const DEFAULT_ABILITY_CONFIG: AbilityConfig;
|
|
171
|
-
export declare class NiceAbility {
|
|
172
|
-
private config;
|
|
173
|
-
private abilities;
|
|
174
|
-
private resources;
|
|
175
|
-
private upgrades;
|
|
176
|
-
private combos;
|
|
177
|
-
private entityAbilities;
|
|
178
|
-
private entityResources;
|
|
179
|
-
private entityCasts;
|
|
180
|
-
private globalCooldowns;
|
|
181
|
-
private queuedAbilities;
|
|
182
|
-
private eventListeners;
|
|
183
|
-
constructor(config?: Partial<AbilityConfig>);
|
|
184
|
-
on(event: AbilityEventType, callback: AbilityEventCallback): () => void;
|
|
185
|
-
private emit;
|
|
186
|
-
registerAbility(ability: AbilityDefinition): void;
|
|
187
|
-
registerResource(resource: ResourceDefinition): void;
|
|
188
|
-
registerUpgrade(upgrade: AbilityUpgrade): void;
|
|
189
|
-
registerCombo(combo: ComboDefinition): void;
|
|
190
|
-
registerEntity(entityId: EntityId, abilityIds?: AbilityId[], resourceOverrides?: EntityResources): void;
|
|
191
|
-
unregisterEntity(entityId: EntityId): void;
|
|
192
|
-
grantAbility(entityId: EntityId, abilityId: AbilityId): void;
|
|
193
|
-
revokeAbility(entityId: EntityId, abilityId: AbilityId): void;
|
|
194
|
-
canUseAbility(entityId: EntityId, abilityId: AbilityId): {
|
|
195
|
-
canUse: boolean;
|
|
196
|
-
reason?: string;
|
|
197
|
-
};
|
|
198
|
-
getCooldownRemaining(entityId: EntityId, abilityId: AbilityId): number;
|
|
199
|
-
getCooldownPercent(entityId: EntityId, abilityId: AbilityId): number;
|
|
200
|
-
getCharges(entityId: EntityId, abilityId: AbilityId): number;
|
|
201
|
-
getResource(entityId: EntityId, resourceId: ResourceId): {
|
|
202
|
-
current: number;
|
|
203
|
-
max: number;
|
|
204
|
-
} | undefined;
|
|
205
|
-
useAbility(entityId: EntityId, abilityId: AbilityId, targetId?: EntityId, targetPosition?: {
|
|
206
|
-
x: number;
|
|
207
|
-
y: number;
|
|
208
|
-
z?: number;
|
|
209
|
-
}): boolean;
|
|
210
|
-
private executeAbility;
|
|
211
|
-
interruptCast(entityId: EntityId): boolean;
|
|
212
|
-
queueAbility(entityId: EntityId, abilityId: AbilityId, targetId?: EntityId): void;
|
|
213
|
-
private advanceCombo;
|
|
214
|
-
applyUpgrade(entityId: EntityId, upgradeId: UpgradeId): boolean;
|
|
215
|
-
getUpgradedValue(entityId: EntityId, abilityId: AbilityId, property: string): number | undefined;
|
|
216
|
-
update(deltaTime: number): void;
|
|
217
|
-
getEntityAbilities(entityId: EntityId): AbilityId[];
|
|
218
|
-
getAbilityState(entityId: EntityId, abilityId: AbilityId): AbilityState | undefined;
|
|
219
|
-
getCastState(entityId: EntityId): CastState | undefined;
|
|
220
|
-
resetCooldown(entityId: EntityId, abilityId: AbilityId): void;
|
|
221
|
-
resetAllCooldowns(entityId: EntityId): void;
|
|
222
|
-
setResource(entityId: EntityId, resourceId: ResourceId, value: number): void;
|
|
223
|
-
destroy(): void;
|
|
224
|
-
}
|
|
225
|
-
export declare function createAbilitySystem(config?: Partial<AbilityConfig>): NiceAbility;
|
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from 'events';
|
|
2
|
-
export type EntityId = string;
|
|
3
|
-
export type ProfileId = string;
|
|
4
|
-
export type ColorBlindMode = 'none' | 'protanopia' | 'deuteranopia' | 'tritanopia' | 'achromatopsia' | 'custom';
|
|
5
|
-
export interface ColorTransform {
|
|
6
|
-
mode: ColorBlindMode;
|
|
7
|
-
intensity: number;
|
|
8
|
-
customMatrix?: number[][];
|
|
9
|
-
}
|
|
10
|
-
export interface HighContrastSettings {
|
|
11
|
-
enabled: boolean;
|
|
12
|
-
theme: 'dark' | 'light' | 'custom';
|
|
13
|
-
outlineStrength: number;
|
|
14
|
-
backgroundColor?: string;
|
|
15
|
-
foregroundColor?: string;
|
|
16
|
-
accentColor?: string;
|
|
17
|
-
}
|
|
18
|
-
export interface VisualSettings {
|
|
19
|
-
colorBlind: ColorTransform;
|
|
20
|
-
highContrast: HighContrastSettings;
|
|
21
|
-
textSize: number;
|
|
22
|
-
uiScale: number;
|
|
23
|
-
reduceMotion: boolean;
|
|
24
|
-
reduceFlashing: boolean;
|
|
25
|
-
flashingThreshold: number;
|
|
26
|
-
screenShake: number;
|
|
27
|
-
cameraBobbing: number;
|
|
28
|
-
hudOpacity: number;
|
|
29
|
-
iconHighlighting: boolean;
|
|
30
|
-
objectOutlines: boolean;
|
|
31
|
-
depthIndicators: boolean;
|
|
32
|
-
}
|
|
33
|
-
export interface AudioAccessibilitySettings {
|
|
34
|
-
visualSoundIndicators: boolean;
|
|
35
|
-
spatialAudioVisualization: boolean;
|
|
36
|
-
monoAudio: boolean;
|
|
37
|
-
audioDescriptions: boolean;
|
|
38
|
-
speechEnhancement: boolean;
|
|
39
|
-
dynamicRangeCompression: number;
|
|
40
|
-
frequencyShift: number;
|
|
41
|
-
alertVolume: number;
|
|
42
|
-
}
|
|
43
|
-
export type SubtitleStyle = 'minimal' | 'standard' | 'detailed';
|
|
44
|
-
export type CaptionType = 'dialogue' | 'effect' | 'music' | 'directional';
|
|
45
|
-
export interface SubtitleSettings {
|
|
46
|
-
enabled: boolean;
|
|
47
|
-
style: SubtitleStyle;
|
|
48
|
-
fontSize: number;
|
|
49
|
-
fontFamily: string;
|
|
50
|
-
textColor: string;
|
|
51
|
-
backgroundColor: string;
|
|
52
|
-
backgroundOpacity: number;
|
|
53
|
-
showSpeakerNames: boolean;
|
|
54
|
-
showSpeakerColors: boolean;
|
|
55
|
-
showEmotions: boolean;
|
|
56
|
-
maxLines: number;
|
|
57
|
-
position: 'top' | 'bottom';
|
|
58
|
-
wordWrap: boolean;
|
|
59
|
-
letterSpacing: number;
|
|
60
|
-
lineSpacing: number;
|
|
61
|
-
}
|
|
62
|
-
export interface CaptionSettings {
|
|
63
|
-
showSoundEffects: boolean;
|
|
64
|
-
showMusicCues: boolean;
|
|
65
|
-
showDirectionalIndicators: boolean;
|
|
66
|
-
effectIconSize: number;
|
|
67
|
-
effectDuration: number;
|
|
68
|
-
}
|
|
69
|
-
export interface Subtitle {
|
|
70
|
-
id: string;
|
|
71
|
-
text: string;
|
|
72
|
-
speaker?: string;
|
|
73
|
-
speakerColor?: string;
|
|
74
|
-
emotion?: string;
|
|
75
|
-
type: CaptionType;
|
|
76
|
-
direction?: number;
|
|
77
|
-
startTime: number;
|
|
78
|
-
duration: number;
|
|
79
|
-
priority: number;
|
|
80
|
-
}
|
|
81
|
-
export interface InputAccessibilitySettings {
|
|
82
|
-
stickyKeys: boolean;
|
|
83
|
-
keyRepeatDelay: number;
|
|
84
|
-
keyRepeatRate: number;
|
|
85
|
-
holdToToggle: boolean;
|
|
86
|
-
holdThreshold: number;
|
|
87
|
-
tapAssist: boolean;
|
|
88
|
-
tapWindow: number;
|
|
89
|
-
autoAim: boolean;
|
|
90
|
-
autoAimStrength: number;
|
|
91
|
-
aimAssist: boolean;
|
|
92
|
-
aimAssistStrength: number;
|
|
93
|
-
oneHandedMode: boolean;
|
|
94
|
-
preferredHand: 'left' | 'right';
|
|
95
|
-
simplifiedControls: boolean;
|
|
96
|
-
autoRun: boolean;
|
|
97
|
-
autoSprint: boolean;
|
|
98
|
-
}
|
|
99
|
-
export interface InputRemapping {
|
|
100
|
-
actionId: string;
|
|
101
|
-
primaryKey?: string;
|
|
102
|
-
secondaryKey?: string;
|
|
103
|
-
gamepadButton?: string;
|
|
104
|
-
touchGesture?: string;
|
|
105
|
-
isHold: boolean;
|
|
106
|
-
isToggle: boolean;
|
|
107
|
-
}
|
|
108
|
-
export interface CognitiveSettings {
|
|
109
|
-
tutorialDetail: 'minimal' | 'standard' | 'detailed' | 'always';
|
|
110
|
-
objectiveReminders: boolean;
|
|
111
|
-
reminderInterval: number;
|
|
112
|
-
autoNavigation: boolean;
|
|
113
|
-
pathHighlighting: boolean;
|
|
114
|
-
interactionHighlighting: boolean;
|
|
115
|
-
puzzleHints: boolean;
|
|
116
|
-
hintDelay: number;
|
|
117
|
-
readableFont: boolean;
|
|
118
|
-
dyslexicFont: boolean;
|
|
119
|
-
simplifiedHud: boolean;
|
|
120
|
-
pauseOnFocusLoss: boolean;
|
|
121
|
-
extendedTimers: number;
|
|
122
|
-
skipQTE: boolean;
|
|
123
|
-
}
|
|
124
|
-
export interface DifficultyModifiers {
|
|
125
|
-
damageReceived: number;
|
|
126
|
-
damageDealt: number;
|
|
127
|
-
healingReceived: number;
|
|
128
|
-
resourceGain: number;
|
|
129
|
-
enemyAggression: number;
|
|
130
|
-
enemyAccuracy: number;
|
|
131
|
-
parryWindow: number;
|
|
132
|
-
dodgeWindow: number;
|
|
133
|
-
regenRate: number;
|
|
134
|
-
respawnPenalty: number;
|
|
135
|
-
invincibilityTime: number;
|
|
136
|
-
}
|
|
137
|
-
export interface AccessibilityProfile {
|
|
138
|
-
id: ProfileId;
|
|
139
|
-
name: string;
|
|
140
|
-
visual: VisualSettings;
|
|
141
|
-
audio: AudioAccessibilitySettings;
|
|
142
|
-
subtitles: SubtitleSettings;
|
|
143
|
-
captions: CaptionSettings;
|
|
144
|
-
input: InputAccessibilitySettings;
|
|
145
|
-
inputRemaps: Map<string, InputRemapping>;
|
|
146
|
-
cognitive: CognitiveSettings;
|
|
147
|
-
difficulty: DifficultyModifiers;
|
|
148
|
-
createdAt: number;
|
|
149
|
-
updatedAt: number;
|
|
150
|
-
}
|
|
151
|
-
export type AccessibilityEventType = 'settings-changed' | 'profile-created' | 'profile-loaded' | 'profile-deleted' | 'subtitle-shown' | 'subtitle-hidden' | 'sound-visualized' | 'navigation-assist' | 'hint-requested' | 'screen-reader-text';
|
|
152
|
-
export interface AccessibilityEvent {
|
|
153
|
-
type: AccessibilityEventType;
|
|
154
|
-
profileId?: ProfileId;
|
|
155
|
-
data?: Record<string, unknown>;
|
|
156
|
-
}
|
|
157
|
-
export interface AccessibilitySystemConfig {
|
|
158
|
-
maxSubtitlesOnScreen?: number;
|
|
159
|
-
defaultSubtitleDuration?: number;
|
|
160
|
-
soundIndicatorDuration?: number;
|
|
161
|
-
screenReaderEnabled?: boolean;
|
|
162
|
-
autoDetectSettings?: boolean;
|
|
163
|
-
}
|
|
164
|
-
export declare const DEFAULT_ACCESSIBILITY_CONFIG: AccessibilitySystemConfig;
|
|
165
|
-
export declare function getDefaultVisualSettings(): VisualSettings;
|
|
166
|
-
export declare function getDefaultAudioSettings(): AudioAccessibilitySettings;
|
|
167
|
-
export declare function getDefaultSubtitleSettings(): SubtitleSettings;
|
|
168
|
-
export declare function getDefaultCaptionSettings(): CaptionSettings;
|
|
169
|
-
export declare function getDefaultInputSettings(): InputAccessibilitySettings;
|
|
170
|
-
export declare function getDefaultCognitiveSettings(): CognitiveSettings;
|
|
171
|
-
export declare function getDefaultDifficultyModifiers(): DifficultyModifiers;
|
|
172
|
-
export declare class NiceAccessibility extends EventEmitter {
|
|
173
|
-
private profiles;
|
|
174
|
-
private entityProfiles;
|
|
175
|
-
private activeSubtitles;
|
|
176
|
-
private soundIndicators;
|
|
177
|
-
private config;
|
|
178
|
-
private nextProfileId;
|
|
179
|
-
constructor(config?: Partial<AccessibilitySystemConfig>);
|
|
180
|
-
createProfile(name: string): ProfileId;
|
|
181
|
-
deleteProfile(profileId: ProfileId): boolean;
|
|
182
|
-
getProfile(profileId: ProfileId): AccessibilityProfile | undefined;
|
|
183
|
-
getEntityProfile(entityId: EntityId): AccessibilityProfile | undefined;
|
|
184
|
-
setEntityProfile(entityId: EntityId, profileId: ProfileId): boolean;
|
|
185
|
-
getAllProfiles(): AccessibilityProfile[];
|
|
186
|
-
updateVisualSettings(profileId: ProfileId, updates: Partial<VisualSettings>): void;
|
|
187
|
-
updateAudioSettings(profileId: ProfileId, updates: Partial<AudioAccessibilitySettings>): void;
|
|
188
|
-
updateSubtitleSettings(profileId: ProfileId, updates: Partial<SubtitleSettings>): void;
|
|
189
|
-
updateCaptionSettings(profileId: ProfileId, updates: Partial<CaptionSettings>): void;
|
|
190
|
-
updateInputSettings(profileId: ProfileId, updates: Partial<InputAccessibilitySettings>): void;
|
|
191
|
-
updateCognitiveSettings(profileId: ProfileId, updates: Partial<CognitiveSettings>): void;
|
|
192
|
-
updateDifficultyModifiers(profileId: ProfileId, updates: Partial<DifficultyModifiers>): void;
|
|
193
|
-
setInputRemap(profileId: ProfileId, remap: InputRemapping): void;
|
|
194
|
-
removeInputRemap(profileId: ProfileId, actionId: string): void;
|
|
195
|
-
getInputRemap(profileId: ProfileId, actionId: string): InputRemapping | undefined;
|
|
196
|
-
resetInputRemaps(profileId: ProfileId): void;
|
|
197
|
-
showSubtitle(subtitle: Omit<Subtitle, 'id'>): string;
|
|
198
|
-
hideSubtitle(subtitleId: string): void;
|
|
199
|
-
getActiveSubtitles(): Subtitle[];
|
|
200
|
-
visualizeSound(direction: number, type: string): void;
|
|
201
|
-
getSoundIndicators(): {
|
|
202
|
-
direction: number;
|
|
203
|
-
type: string;
|
|
204
|
-
}[];
|
|
205
|
-
announce(text: string, priority?: 'polite' | 'assertive'): void;
|
|
206
|
-
describeElement(elementId: string, description: string): void;
|
|
207
|
-
requestNavigationAssist(fromPosition: {
|
|
208
|
-
x: number;
|
|
209
|
-
y: number;
|
|
210
|
-
z: number;
|
|
211
|
-
}, toTarget: string | {
|
|
212
|
-
x: number;
|
|
213
|
-
y: number;
|
|
214
|
-
z: number;
|
|
215
|
-
}): void;
|
|
216
|
-
requestHint(context: string): void;
|
|
217
|
-
transformColor(r: number, g: number, b: number, mode: ColorBlindMode, intensity: number): {
|
|
218
|
-
r: number;
|
|
219
|
-
g: number;
|
|
220
|
-
b: number;
|
|
221
|
-
};
|
|
222
|
-
applyDamageModifier(profileId: ProfileId, damage: number, isReceived: boolean): number;
|
|
223
|
-
getTimerMultiplier(profileId: ProfileId): number;
|
|
224
|
-
shouldSkipQTE(profileId: ProfileId): boolean;
|
|
225
|
-
applyPreset(profileId: ProfileId, preset: 'low_vision' | 'deaf' | 'motor' | 'cognitive'): void;
|
|
226
|
-
exportProfile(profileId: ProfileId): string | null;
|
|
227
|
-
importProfile(json: string, name?: string): ProfileId | null;
|
|
228
|
-
}
|
|
229
|
-
export declare function createAccessibilitySystem(config?: Partial<AccessibilitySystemConfig>): NiceAccessibility;
|
|
230
|
-
export default NiceAccessibility;
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from 'events';
|
|
2
|
-
export type EntityId = string;
|
|
3
|
-
export type AchievementId = string;
|
|
4
|
-
export type CategoryId = string;
|
|
5
|
-
export type StatId = string;
|
|
6
|
-
export type AchievementTier = 'bronze' | 'silver' | 'gold' | 'platinum' | 'diamond';
|
|
7
|
-
export interface TierConfig {
|
|
8
|
-
tier: AchievementTier;
|
|
9
|
-
points: number;
|
|
10
|
-
color: string;
|
|
11
|
-
multiplier: number;
|
|
12
|
-
}
|
|
13
|
-
export declare const DEFAULT_TIER_CONFIG: TierConfig[];
|
|
14
|
-
export interface AchievementCategory {
|
|
15
|
-
id: CategoryId;
|
|
16
|
-
name: string;
|
|
17
|
-
description: string;
|
|
18
|
-
icon?: string;
|
|
19
|
-
order: number;
|
|
20
|
-
}
|
|
21
|
-
export type AchievementType = 'standard' | 'progressive' | 'hidden' | 'secret' | 'timed';
|
|
22
|
-
export interface AchievementCriteria {
|
|
23
|
-
type: 'stat' | 'event' | 'collection' | 'combo';
|
|
24
|
-
statId?: StatId;
|
|
25
|
-
eventType?: string;
|
|
26
|
-
targetValue: number;
|
|
27
|
-
operator?: 'gte' | 'lte' | 'eq' | 'gt' | 'lt';
|
|
28
|
-
conditions?: AchievementCriteria[];
|
|
29
|
-
allRequired?: boolean;
|
|
30
|
-
timeLimit?: number;
|
|
31
|
-
}
|
|
32
|
-
export interface AchievementReward {
|
|
33
|
-
type: 'points' | 'item' | 'title' | 'currency' | 'unlock' | 'cosmetic';
|
|
34
|
-
value: string | number;
|
|
35
|
-
metadata?: Record<string, unknown>;
|
|
36
|
-
}
|
|
37
|
-
export interface Achievement {
|
|
38
|
-
id: AchievementId;
|
|
39
|
-
name: string;
|
|
40
|
-
description: string;
|
|
41
|
-
category: CategoryId;
|
|
42
|
-
type: AchievementType;
|
|
43
|
-
tier: AchievementTier;
|
|
44
|
-
icon?: string;
|
|
45
|
-
criteria: AchievementCriteria;
|
|
46
|
-
rewards: AchievementReward[];
|
|
47
|
-
prerequisites?: AchievementId[];
|
|
48
|
-
milestones?: {
|
|
49
|
-
threshold: number;
|
|
50
|
-
reward: AchievementReward;
|
|
51
|
-
}[];
|
|
52
|
-
points: number;
|
|
53
|
-
rarity?: number;
|
|
54
|
-
order?: number;
|
|
55
|
-
}
|
|
56
|
-
export type StatType = 'counter' | 'maximum' | 'minimum' | 'timer' | 'average';
|
|
57
|
-
export interface Statistic {
|
|
58
|
-
id: StatId;
|
|
59
|
-
name: string;
|
|
60
|
-
description: string;
|
|
61
|
-
type: StatType;
|
|
62
|
-
defaultValue: number;
|
|
63
|
-
format?: string;
|
|
64
|
-
category?: string;
|
|
65
|
-
}
|
|
66
|
-
export interface EntityStat {
|
|
67
|
-
statId: StatId;
|
|
68
|
-
currentValue: number;
|
|
69
|
-
maxValue: number;
|
|
70
|
-
minValue: number;
|
|
71
|
-
totalValue: number;
|
|
72
|
-
count: number;
|
|
73
|
-
firstRecorded: number;
|
|
74
|
-
lastUpdated: number;
|
|
75
|
-
}
|
|
76
|
-
export interface AchievementProgress {
|
|
77
|
-
achievementId: AchievementId;
|
|
78
|
-
currentProgress: number;
|
|
79
|
-
targetProgress: number;
|
|
80
|
-
percentComplete: number;
|
|
81
|
-
milestonesClaimed: number[];
|
|
82
|
-
isCompleted: boolean;
|
|
83
|
-
completedAt?: number;
|
|
84
|
-
rewardsClaimed: boolean;
|
|
85
|
-
startedAt?: number;
|
|
86
|
-
}
|
|
87
|
-
export interface EntityAchievements {
|
|
88
|
-
entityId: EntityId;
|
|
89
|
-
progress: Map<AchievementId, AchievementProgress>;
|
|
90
|
-
stats: Map<StatId, EntityStat>;
|
|
91
|
-
totalPoints: number;
|
|
92
|
-
completedCount: number;
|
|
93
|
-
tier: AchievementTier;
|
|
94
|
-
}
|
|
95
|
-
export type AchievementEventType = 'achievement-unlocked' | 'progress-updated' | 'milestone-reached' | 'reward-claimed' | 'stat-updated' | 'tier-upgraded' | 'secret-revealed';
|
|
96
|
-
export interface AchievementEvent {
|
|
97
|
-
type: AchievementEventType;
|
|
98
|
-
entityId: EntityId;
|
|
99
|
-
achievementId?: AchievementId;
|
|
100
|
-
statId?: StatId;
|
|
101
|
-
data?: Record<string, unknown>;
|
|
102
|
-
}
|
|
103
|
-
export interface AchievementSystemConfig {
|
|
104
|
-
tierConfigs?: TierConfig[];
|
|
105
|
-
retroactiveUnlocks?: boolean;
|
|
106
|
-
showHiddenProgress?: boolean;
|
|
107
|
-
notifyOnProgress?: boolean;
|
|
108
|
-
progressNotifyThreshold?: number;
|
|
109
|
-
}
|
|
110
|
-
export declare const DEFAULT_ACHIEVEMENT_CONFIG: AchievementSystemConfig;
|
|
111
|
-
export declare class NiceAchievement extends EventEmitter {
|
|
112
|
-
private achievements;
|
|
113
|
-
private categories;
|
|
114
|
-
private statistics;
|
|
115
|
-
private entities;
|
|
116
|
-
private eventHandlers;
|
|
117
|
-
private config;
|
|
118
|
-
constructor(config?: Partial<AchievementSystemConfig>);
|
|
119
|
-
defineCategory(category: AchievementCategory): void;
|
|
120
|
-
getCategory(id: CategoryId): AchievementCategory | undefined;
|
|
121
|
-
getAllCategories(): AchievementCategory[];
|
|
122
|
-
defineAchievement(achievement: Achievement): void;
|
|
123
|
-
getAchievement(id: AchievementId): Achievement | undefined;
|
|
124
|
-
getAllAchievements(): Achievement[];
|
|
125
|
-
getAchievementsByCategory(categoryId: CategoryId): Achievement[];
|
|
126
|
-
defineStatistic(stat: Statistic): void;
|
|
127
|
-
getStatistic(id: StatId): Statistic | undefined;
|
|
128
|
-
registerEntity(entityId: EntityId): void;
|
|
129
|
-
getEntityAchievements(entityId: EntityId): EntityAchievements | undefined;
|
|
130
|
-
updateStat(entityId: EntityId, statId: StatId, value: number): void;
|
|
131
|
-
incrementStat(entityId: EntityId, statId: StatId, amount?: number): void;
|
|
132
|
-
getStat(entityId: EntityId, statId: StatId): EntityStat | undefined;
|
|
133
|
-
triggerEvent(entityId: EntityId, eventType: string, value?: number): void;
|
|
134
|
-
updateProgress(entityId: EntityId, achievementId: AchievementId, amount: number): void;
|
|
135
|
-
private checkStatAchievements;
|
|
136
|
-
private completeAchievement;
|
|
137
|
-
private updateEntityTier;
|
|
138
|
-
claimRewards(entityId: EntityId, achievementId: AchievementId): AchievementReward[] | null;
|
|
139
|
-
hasClaimedRewards(entityId: EntityId, achievementId: AchievementId): boolean;
|
|
140
|
-
getProgress(entityId: EntityId, achievementId: AchievementId): AchievementProgress | undefined;
|
|
141
|
-
isCompleted(entityId: EntityId, achievementId: AchievementId): boolean;
|
|
142
|
-
getCompletedAchievements(entityId: EntityId): Achievement[];
|
|
143
|
-
getInProgressAchievements(entityId: EntityId): Achievement[];
|
|
144
|
-
getVisibleAchievements(entityId: EntityId): Achievement[];
|
|
145
|
-
getCompletionPercentage(entityId: EntityId, categoryId?: CategoryId): number;
|
|
146
|
-
getTotalPoints(entityId: EntityId): number;
|
|
147
|
-
checkRetroactiveUnlocks(entityId: EntityId): void;
|
|
148
|
-
}
|
|
149
|
-
export declare function createAchievementSystem(config?: Partial<AchievementSystemConfig>): NiceAchievement;
|
|
150
|
-
export declare function defineAchievement(options: Achievement): Achievement;
|
|
151
|
-
export declare function defineStatistic(options: Statistic): Statistic;
|
|
152
|
-
export declare function defineCategory(options: AchievementCategory): AchievementCategory;
|
|
153
|
-
export default NiceAchievement;
|