@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,193 +0,0 @@
|
|
|
1
|
-
export type AuraId = string;
|
|
2
|
-
export type ZoneAuraId = string;
|
|
3
|
-
export type AuraShape = 'circle' | 'cone' | 'line' | 'rectangle' | 'ring';
|
|
4
|
-
export type AuraTarget = 'allies' | 'enemies' | 'all' | 'self' | 'party' | 'raid';
|
|
5
|
-
export interface Position {
|
|
6
|
-
x: number;
|
|
7
|
-
y: number;
|
|
8
|
-
z?: number;
|
|
9
|
-
}
|
|
10
|
-
export interface ShapeParams {
|
|
11
|
-
radius?: number;
|
|
12
|
-
innerRadius?: number;
|
|
13
|
-
angle?: number;
|
|
14
|
-
direction?: number;
|
|
15
|
-
length?: number;
|
|
16
|
-
width?: number;
|
|
17
|
-
width2?: number;
|
|
18
|
-
height?: number;
|
|
19
|
-
}
|
|
20
|
-
export interface AuraDefinition {
|
|
21
|
-
id: AuraId;
|
|
22
|
-
name: string;
|
|
23
|
-
description: string;
|
|
24
|
-
shape: AuraShape;
|
|
25
|
-
shapeParams: ShapeParams;
|
|
26
|
-
targets: AuraTarget;
|
|
27
|
-
maxAffected?: number;
|
|
28
|
-
pulseInterval: number;
|
|
29
|
-
duration: number;
|
|
30
|
-
effects: AuraEffect[];
|
|
31
|
-
appliedBuffId?: string;
|
|
32
|
-
removeBuffOnExit: boolean;
|
|
33
|
-
followsSource: boolean;
|
|
34
|
-
moveSpeed?: number;
|
|
35
|
-
moveDirection?: number;
|
|
36
|
-
stackable: boolean;
|
|
37
|
-
stackId?: string;
|
|
38
|
-
maxStacks?: number;
|
|
39
|
-
icon: string;
|
|
40
|
-
vfx?: string;
|
|
41
|
-
groundDecal?: string;
|
|
42
|
-
color?: string;
|
|
43
|
-
ambientSound?: string;
|
|
44
|
-
pulseSound?: string;
|
|
45
|
-
requiresLineOfSight: boolean;
|
|
46
|
-
blockedByTerrain: boolean;
|
|
47
|
-
tags?: string[];
|
|
48
|
-
}
|
|
49
|
-
export interface AuraEffect {
|
|
50
|
-
type: 'damage' | 'heal' | 'buff' | 'debuff' | 'pull' | 'push' | 'slow' | 'haste' | 'stat_mod' | 'resource' | 'custom';
|
|
51
|
-
value: number;
|
|
52
|
-
isPercentage: boolean;
|
|
53
|
-
damageType?: string;
|
|
54
|
-
scaling?: {
|
|
55
|
-
stat: string;
|
|
56
|
-
coefficient: number;
|
|
57
|
-
};
|
|
58
|
-
buffId?: string;
|
|
59
|
-
force?: number;
|
|
60
|
-
stat?: string;
|
|
61
|
-
resourceType?: string;
|
|
62
|
-
effectData?: Record<string, unknown>;
|
|
63
|
-
}
|
|
64
|
-
export interface ActiveAura {
|
|
65
|
-
id: string;
|
|
66
|
-
auraId: AuraId;
|
|
67
|
-
definition: AuraDefinition;
|
|
68
|
-
sourceId: string;
|
|
69
|
-
position: Position;
|
|
70
|
-
direction: number;
|
|
71
|
-
active: boolean;
|
|
72
|
-
remainingDuration: number;
|
|
73
|
-
nextPulseAt: number;
|
|
74
|
-
currentStacks: number;
|
|
75
|
-
createdAt: number;
|
|
76
|
-
expiresAt: number;
|
|
77
|
-
entitiesInside: Set<string>;
|
|
78
|
-
entitiesAffected: Map<string, number>;
|
|
79
|
-
totalPulses: number;
|
|
80
|
-
}
|
|
81
|
-
export interface ZoneAuraDefinition {
|
|
82
|
-
id: ZoneAuraId;
|
|
83
|
-
name: string;
|
|
84
|
-
description?: string;
|
|
85
|
-
bounds: {
|
|
86
|
-
minX: number;
|
|
87
|
-
minY: number;
|
|
88
|
-
maxX: number;
|
|
89
|
-
maxY: number;
|
|
90
|
-
};
|
|
91
|
-
effects: AuraEffect[];
|
|
92
|
-
pulseInterval: number;
|
|
93
|
-
targets: AuraTarget;
|
|
94
|
-
vfx?: string;
|
|
95
|
-
weatherEffect?: string;
|
|
96
|
-
}
|
|
97
|
-
export interface ActiveZoneAura {
|
|
98
|
-
id: string;
|
|
99
|
-
zoneAuraId: ZoneAuraId;
|
|
100
|
-
definition: ZoneAuraDefinition;
|
|
101
|
-
active: boolean;
|
|
102
|
-
entitiesInside: Set<string>;
|
|
103
|
-
nextPulseAt: number;
|
|
104
|
-
}
|
|
105
|
-
export interface EntityAuraState {
|
|
106
|
-
entityId: string;
|
|
107
|
-
position: Position;
|
|
108
|
-
faction: 'ally' | 'enemy' | 'neutral';
|
|
109
|
-
ownedAuras: Set<string>;
|
|
110
|
-
affectedBy: Map<string, AffectingAura>;
|
|
111
|
-
totalStatMods: Map<string, number>;
|
|
112
|
-
}
|
|
113
|
-
export interface AffectingAura {
|
|
114
|
-
auraInstanceId: string;
|
|
115
|
-
stacks: number;
|
|
116
|
-
appliedAt: number;
|
|
117
|
-
lastPulseAt: number;
|
|
118
|
-
}
|
|
119
|
-
export type AuraEventType = 'aura-created' | 'aura-destroyed' | 'aura-pulse' | 'aura-expired' | 'entity-entered' | 'entity-exited' | 'entity-affected' | 'zone-aura-entered' | 'zone-aura-exited';
|
|
120
|
-
export interface AuraEvent {
|
|
121
|
-
type: AuraEventType;
|
|
122
|
-
timestamp: number;
|
|
123
|
-
data?: unknown;
|
|
124
|
-
}
|
|
125
|
-
export type AuraEventCallback = (event: AuraEvent) => void;
|
|
126
|
-
export interface AuraConfig {
|
|
127
|
-
updateInterval: number;
|
|
128
|
-
maxAurasPerSource: number;
|
|
129
|
-
maxActiveAuras: number;
|
|
130
|
-
defaultPulseInterval: number;
|
|
131
|
-
storageKey: string;
|
|
132
|
-
}
|
|
133
|
-
export declare const DEFAULT_AURA_CONFIG: AuraConfig;
|
|
134
|
-
export declare class NiceAura {
|
|
135
|
-
private config;
|
|
136
|
-
private definitions;
|
|
137
|
-
private zoneDefinitions;
|
|
138
|
-
private activeAuras;
|
|
139
|
-
private activeZoneAuras;
|
|
140
|
-
private entities;
|
|
141
|
-
private eventListeners;
|
|
142
|
-
private updateInterval?;
|
|
143
|
-
private onDamage?;
|
|
144
|
-
private onHeal?;
|
|
145
|
-
private onApplyBuff?;
|
|
146
|
-
private onRemoveBuff?;
|
|
147
|
-
constructor(config?: Partial<AuraConfig>);
|
|
148
|
-
on(event: AuraEventType, callback: AuraEventCallback): () => void;
|
|
149
|
-
private emit;
|
|
150
|
-
setDamageHandler(handler: typeof this.onDamage): void;
|
|
151
|
-
setHealHandler(handler: typeof this.onHeal): void;
|
|
152
|
-
setBuffHandler(apply: typeof this.onApplyBuff, remove: typeof this.onRemoveBuff): void;
|
|
153
|
-
private startUpdateLoop;
|
|
154
|
-
private update;
|
|
155
|
-
registerAura(definition: AuraDefinition): void;
|
|
156
|
-
registerZoneAura(definition: ZoneAuraDefinition): void;
|
|
157
|
-
registerEntity(entityId: string, position: Position, faction: EntityAuraState['faction']): void;
|
|
158
|
-
unregisterEntity(entityId: string): void;
|
|
159
|
-
updateEntityPosition(entityId: string, position: Position): void;
|
|
160
|
-
updateEntityFaction(entityId: string, faction: EntityAuraState['faction']): void;
|
|
161
|
-
createAura(auraId: AuraId, sourceId: string, position: Position, direction?: number, stacks?: number): ActiveAura | null;
|
|
162
|
-
destroyAura(instanceId: string): boolean;
|
|
163
|
-
activateZoneAura(zoneAuraId: ZoneAuraId): ActiveZoneAura | null;
|
|
164
|
-
deactivateZoneAura(instanceId: string): void;
|
|
165
|
-
private updateEntitiesInAura;
|
|
166
|
-
private updateEntitiesInZone;
|
|
167
|
-
private isValidTarget;
|
|
168
|
-
private isValidZoneTarget;
|
|
169
|
-
private isInShape;
|
|
170
|
-
private isInBounds;
|
|
171
|
-
private handleEntityEnter;
|
|
172
|
-
private handleEntityExit;
|
|
173
|
-
private pulseAura;
|
|
174
|
-
private pulseZoneAura;
|
|
175
|
-
private applyEffectsToEntity;
|
|
176
|
-
private applyEffect;
|
|
177
|
-
addStacks(instanceId: string, stacks: number): number;
|
|
178
|
-
removeStacks(instanceId: string, stacks: number): number;
|
|
179
|
-
getAura(id: AuraId): AuraDefinition | undefined;
|
|
180
|
-
getAllAuras(): AuraDefinition[];
|
|
181
|
-
getActiveAura(instanceId: string): ActiveAura | undefined;
|
|
182
|
-
getActiveAuras(): ActiveAura[];
|
|
183
|
-
getAurasFromSource(sourceId: string): ActiveAura[];
|
|
184
|
-
getAurasAffectingEntity(entityId: string): ActiveAura[];
|
|
185
|
-
getEntitiesInAura(instanceId: string): string[];
|
|
186
|
-
isEntityInAura(entityId: string, instanceId: string): boolean;
|
|
187
|
-
getEntityStatMods(entityId: string): Map<string, number>;
|
|
188
|
-
private distanceTo;
|
|
189
|
-
private normalizeAngle;
|
|
190
|
-
reset(): void;
|
|
191
|
-
destroy(): void;
|
|
192
|
-
}
|
|
193
|
-
export declare function createAuraSystem(config?: Partial<AuraConfig>): NiceAura;
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
export type BankId = string;
|
|
2
|
-
export type TabId = string;
|
|
3
|
-
export type StoredItemId = string;
|
|
4
|
-
export interface BankDefinition {
|
|
5
|
-
id: BankId;
|
|
6
|
-
name: string;
|
|
7
|
-
description?: string;
|
|
8
|
-
defaultTabs: number;
|
|
9
|
-
maxTabs: number;
|
|
10
|
-
slotsPerTab: number;
|
|
11
|
-
supportsStacking: boolean;
|
|
12
|
-
supportsCurrency: boolean;
|
|
13
|
-
supportsSharedStash: boolean;
|
|
14
|
-
npcId?: string;
|
|
15
|
-
locationIds?: string[];
|
|
16
|
-
anywhereAccess: boolean;
|
|
17
|
-
tabPurchaseCosts: number[];
|
|
18
|
-
depositFee?: number;
|
|
19
|
-
withdrawFee?: number;
|
|
20
|
-
levelRequired?: number;
|
|
21
|
-
questRequired?: string;
|
|
22
|
-
icon?: string;
|
|
23
|
-
}
|
|
24
|
-
export interface BankTab {
|
|
25
|
-
id: TabId;
|
|
26
|
-
bankId: BankId;
|
|
27
|
-
index: number;
|
|
28
|
-
name: string;
|
|
29
|
-
icon?: string;
|
|
30
|
-
color?: string;
|
|
31
|
-
slots: number;
|
|
32
|
-
items: Map<number, StoredItem>;
|
|
33
|
-
locked: boolean;
|
|
34
|
-
purchasedAt?: number;
|
|
35
|
-
}
|
|
36
|
-
export interface StoredItem {
|
|
37
|
-
id: StoredItemId;
|
|
38
|
-
itemId: string;
|
|
39
|
-
slotIndex: number;
|
|
40
|
-
quantity: number;
|
|
41
|
-
maxStack: number;
|
|
42
|
-
depositedAt: number;
|
|
43
|
-
depositedBy: string;
|
|
44
|
-
itemData?: Record<string, unknown>;
|
|
45
|
-
}
|
|
46
|
-
export interface StoredCurrency {
|
|
47
|
-
currencyType: string;
|
|
48
|
-
amount: number;
|
|
49
|
-
depositedAt: number;
|
|
50
|
-
lastModified: number;
|
|
51
|
-
}
|
|
52
|
-
export interface PlayerBankState {
|
|
53
|
-
playerId: string;
|
|
54
|
-
banks: Map<BankId, PlayerBankInstance>;
|
|
55
|
-
sharedStash?: SharedStash;
|
|
56
|
-
totalDeposits: number;
|
|
57
|
-
totalWithdrawals: number;
|
|
58
|
-
}
|
|
59
|
-
export interface PlayerBankInstance {
|
|
60
|
-
bankId: BankId;
|
|
61
|
-
tabs: BankTab[];
|
|
62
|
-
currencies: Map<string, StoredCurrency>;
|
|
63
|
-
totalItemsStored: number;
|
|
64
|
-
totalCurrencyStored: number;
|
|
65
|
-
lastAccessed: number;
|
|
66
|
-
}
|
|
67
|
-
export interface SharedStash {
|
|
68
|
-
tabs: BankTab[];
|
|
69
|
-
currencies: Map<string, StoredCurrency>;
|
|
70
|
-
maxTabs: number;
|
|
71
|
-
slotsPerTab: number;
|
|
72
|
-
}
|
|
73
|
-
export interface BankTransaction {
|
|
74
|
-
type: 'deposit' | 'withdraw' | 'move' | 'currency_deposit' | 'currency_withdraw';
|
|
75
|
-
playerId: string;
|
|
76
|
-
bankId: BankId;
|
|
77
|
-
tabId?: TabId;
|
|
78
|
-
itemId?: string;
|
|
79
|
-
quantity?: number;
|
|
80
|
-
fromSlot?: number;
|
|
81
|
-
toSlot?: number;
|
|
82
|
-
currencyType?: string;
|
|
83
|
-
amount?: number;
|
|
84
|
-
timestamp: number;
|
|
85
|
-
fee?: number;
|
|
86
|
-
}
|
|
87
|
-
export interface TransactionResult {
|
|
88
|
-
success: boolean;
|
|
89
|
-
error?: string;
|
|
90
|
-
transaction?: BankTransaction;
|
|
91
|
-
newQuantity?: number;
|
|
92
|
-
newSlot?: number;
|
|
93
|
-
}
|
|
94
|
-
export type BankEventType = 'bank-accessed' | 'item-deposited' | 'item-withdrawn' | 'item-moved' | 'currency-deposited' | 'currency-withdrawn' | 'tab-unlocked' | 'tab-renamed' | 'stash-accessed';
|
|
95
|
-
export interface BankEvent {
|
|
96
|
-
type: BankEventType;
|
|
97
|
-
timestamp: number;
|
|
98
|
-
data?: unknown;
|
|
99
|
-
}
|
|
100
|
-
export type BankEventCallback = (event: BankEvent) => void;
|
|
101
|
-
export interface BankConfig {
|
|
102
|
-
enableSharedStash: boolean;
|
|
103
|
-
sharedStashTabs: number;
|
|
104
|
-
sharedStashSlotsPerTab: number;
|
|
105
|
-
enableCurrencyStorage: boolean;
|
|
106
|
-
maxCurrencyPerType: number;
|
|
107
|
-
transactionHistoryLimit: number;
|
|
108
|
-
storageKey: string;
|
|
109
|
-
}
|
|
110
|
-
export declare const DEFAULT_BANK_CONFIG: BankConfig;
|
|
111
|
-
export declare class NiceBank {
|
|
112
|
-
private config;
|
|
113
|
-
private banks;
|
|
114
|
-
private playerStates;
|
|
115
|
-
private transactionHistory;
|
|
116
|
-
private eventListeners;
|
|
117
|
-
private onDeductCurrency?;
|
|
118
|
-
private onAddItem?;
|
|
119
|
-
private onRemoveItem?;
|
|
120
|
-
constructor(config?: Partial<BankConfig>);
|
|
121
|
-
on(event: BankEventType, callback: BankEventCallback): () => void;
|
|
122
|
-
private emit;
|
|
123
|
-
setCurrencyHandler(handler: typeof this.onDeductCurrency): void;
|
|
124
|
-
setAddItemHandler(handler: typeof this.onAddItem): void;
|
|
125
|
-
setRemoveItemHandler(handler: typeof this.onRemoveItem): void;
|
|
126
|
-
registerBank(bank: BankDefinition): void;
|
|
127
|
-
accessBank(playerId: string, bankId: BankId): PlayerBankInstance | null;
|
|
128
|
-
private createBankInstance;
|
|
129
|
-
unlockTab(playerId: string, bankId: BankId): TransactionResult;
|
|
130
|
-
renameTab(playerId: string, bankId: BankId, tabIndex: number, name: string): boolean;
|
|
131
|
-
depositItem(playerId: string, bankId: BankId, tabIndex: number, itemId: string, quantity: number, itemData?: Record<string, unknown>, targetSlot?: number): TransactionResult;
|
|
132
|
-
withdrawItem(playerId: string, bankId: BankId, tabIndex: number, slot: number, quantity?: number): TransactionResult;
|
|
133
|
-
moveItem(playerId: string, bankId: BankId, fromTab: number, fromSlot: number, toTab: number, toSlot: number): TransactionResult;
|
|
134
|
-
depositCurrency(playerId: string, bankId: BankId, currencyType: string, amount: number): TransactionResult;
|
|
135
|
-
withdrawCurrency(playerId: string, bankId: BankId, currencyType: string, amount: number): TransactionResult;
|
|
136
|
-
getSharedStash(playerId: string): SharedStash | null;
|
|
137
|
-
getBank(id: BankId): BankDefinition | undefined;
|
|
138
|
-
getAllBanks(): BankDefinition[];
|
|
139
|
-
getPlayerBankState(playerId: string): PlayerBankState | undefined;
|
|
140
|
-
getBankInstance(playerId: string, bankId: BankId): PlayerBankInstance | undefined;
|
|
141
|
-
getTabContents(playerId: string, bankId: BankId, tabIndex: number): StoredItem[];
|
|
142
|
-
getStoredCurrency(playerId: string, bankId: BankId, currencyType: string): number;
|
|
143
|
-
getAllStoredCurrencies(playerId: string, bankId: BankId): StoredCurrency[];
|
|
144
|
-
getTotalItems(playerId: string, bankId: BankId): number;
|
|
145
|
-
getTransactionHistory(playerId: string, limit?: number): BankTransaction[];
|
|
146
|
-
findItemInBank(playerId: string, bankId: BankId, itemId: string): Array<{
|
|
147
|
-
tabIndex: number;
|
|
148
|
-
slot: number;
|
|
149
|
-
item: StoredItem;
|
|
150
|
-
}>;
|
|
151
|
-
private getOrCreatePlayerState;
|
|
152
|
-
private recordTransaction;
|
|
153
|
-
private save;
|
|
154
|
-
private load;
|
|
155
|
-
reset(): void;
|
|
156
|
-
destroy(): void;
|
|
157
|
-
}
|
|
158
|
-
export declare function createBankSystem(config?: Partial<BankConfig>): NiceBank;
|
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
export type SeasonId = string;
|
|
2
|
-
export type RewardId = string;
|
|
3
|
-
export type ChallengeId = string;
|
|
4
|
-
export type ChallengeType = 'daily' | 'weekly' | 'seasonal' | 'special';
|
|
5
|
-
export type ChallengeStatus = 'locked' | 'active' | 'completed' | 'claimed';
|
|
6
|
-
export type RewardType = 'item' | 'currency' | 'cosmetic' | 'experience' | 'title' | 'emote';
|
|
7
|
-
export interface BattlePassReward {
|
|
8
|
-
id: RewardId;
|
|
9
|
-
level: number;
|
|
10
|
-
isPremium: boolean;
|
|
11
|
-
type: RewardType;
|
|
12
|
-
itemId: string;
|
|
13
|
-
quantity: number;
|
|
14
|
-
name: string;
|
|
15
|
-
description?: string;
|
|
16
|
-
icon?: string;
|
|
17
|
-
rarity?: string;
|
|
18
|
-
}
|
|
19
|
-
export interface ChallengeObjective {
|
|
20
|
-
type: string;
|
|
21
|
-
target: number;
|
|
22
|
-
current: number;
|
|
23
|
-
description: string;
|
|
24
|
-
}
|
|
25
|
-
export interface Challenge {
|
|
26
|
-
id: ChallengeId;
|
|
27
|
-
name: string;
|
|
28
|
-
description: string;
|
|
29
|
-
type: ChallengeType;
|
|
30
|
-
objectives: ChallengeObjective[];
|
|
31
|
-
xpReward: number;
|
|
32
|
-
bonusReward?: {
|
|
33
|
-
type: string;
|
|
34
|
-
itemId: string;
|
|
35
|
-
quantity: number;
|
|
36
|
-
};
|
|
37
|
-
expiresAt?: number;
|
|
38
|
-
unlocksAt?: number;
|
|
39
|
-
repeatLimit?: number;
|
|
40
|
-
repeatCount: number;
|
|
41
|
-
status: ChallengeStatus;
|
|
42
|
-
}
|
|
43
|
-
export interface SeasonDefinition {
|
|
44
|
-
id: SeasonId;
|
|
45
|
-
name: string;
|
|
46
|
-
description: string;
|
|
47
|
-
theme: string;
|
|
48
|
-
startDate: Date | number;
|
|
49
|
-
endDate: Date | number;
|
|
50
|
-
maxLevel: number;
|
|
51
|
-
xpPerLevel: number | number[];
|
|
52
|
-
premiumPrice: number;
|
|
53
|
-
premiumCurrency: string;
|
|
54
|
-
rewards: BattlePassReward[];
|
|
55
|
-
challenges: Omit<Challenge, 'status' | 'repeatCount'>[];
|
|
56
|
-
banner?: string;
|
|
57
|
-
icon?: string;
|
|
58
|
-
catchUpEnabled?: boolean;
|
|
59
|
-
catchUpMultiplier?: number;
|
|
60
|
-
xpBoostAvailable?: boolean;
|
|
61
|
-
}
|
|
62
|
-
export interface SeasonProgress {
|
|
63
|
-
seasonId: SeasonId;
|
|
64
|
-
level: number;
|
|
65
|
-
currentXp: number;
|
|
66
|
-
totalXp: number;
|
|
67
|
-
isPremium: boolean;
|
|
68
|
-
premiumPurchaseDate?: number;
|
|
69
|
-
claimedRewards: Set<RewardId>;
|
|
70
|
-
challenges: Map<ChallengeId, Challenge>;
|
|
71
|
-
activeBooster?: {
|
|
72
|
-
multiplier: number;
|
|
73
|
-
expiresAt: number;
|
|
74
|
-
};
|
|
75
|
-
dailyChallengesCompleted: number;
|
|
76
|
-
weeklyChallengesCompleted: number;
|
|
77
|
-
lastDailyReset: string;
|
|
78
|
-
lastWeeklyReset: string;
|
|
79
|
-
}
|
|
80
|
-
export type BattlePassEventType = 'season-started' | 'season-ended' | 'xp-gained' | 'level-up' | 'reward-claimed' | 'premium-unlocked' | 'challenge-progress' | 'challenge-completed' | 'challenge-claimed' | 'booster-activated' | 'booster-expired';
|
|
81
|
-
export interface BattlePassEvent {
|
|
82
|
-
type: BattlePassEventType;
|
|
83
|
-
timestamp: number;
|
|
84
|
-
seasonId: SeasonId;
|
|
85
|
-
data?: unknown;
|
|
86
|
-
}
|
|
87
|
-
export type BattlePassEventCallback = (event: BattlePassEvent) => void;
|
|
88
|
-
export interface BattlePassConfig {
|
|
89
|
-
dailyResetHour: number;
|
|
90
|
-
weeklyResetDay: number;
|
|
91
|
-
xpPerChallengeCompletion: number;
|
|
92
|
-
maxDailyChallenges: number;
|
|
93
|
-
maxWeeklyChallenges: number;
|
|
94
|
-
storageKey: string;
|
|
95
|
-
}
|
|
96
|
-
export declare const DEFAULT_BATTLEPASS_CONFIG: BattlePassConfig;
|
|
97
|
-
export declare class NiceBattlePass {
|
|
98
|
-
private config;
|
|
99
|
-
private seasons;
|
|
100
|
-
private progress;
|
|
101
|
-
private currentSeasonId;
|
|
102
|
-
private eventListeners;
|
|
103
|
-
constructor(config?: Partial<BattlePassConfig>);
|
|
104
|
-
on(event: BattlePassEventType, callback: BattlePassEventCallback): () => void;
|
|
105
|
-
private emit;
|
|
106
|
-
registerSeason(season: SeasonDefinition): void;
|
|
107
|
-
private initializeProgress;
|
|
108
|
-
startSeason(seasonId: SeasonId): boolean;
|
|
109
|
-
endSeason(): void;
|
|
110
|
-
unlockPremium(seasonId?: SeasonId): boolean;
|
|
111
|
-
isPremium(seasonId?: SeasonId): boolean;
|
|
112
|
-
addXp(amount: number, seasonId?: SeasonId): {
|
|
113
|
-
xpGained: number;
|
|
114
|
-
levelsGained: number;
|
|
115
|
-
};
|
|
116
|
-
private getXpForLevel;
|
|
117
|
-
private getExpectedLevel;
|
|
118
|
-
getAvailableRewards(seasonId?: SeasonId): BattlePassReward[];
|
|
119
|
-
claimReward(rewardId: RewardId, seasonId?: SeasonId): BattlePassReward | null;
|
|
120
|
-
claimAllRewards(seasonId?: SeasonId): BattlePassReward[];
|
|
121
|
-
updateChallengeProgress(challengeId: ChallengeId, objectiveIndex: number, progress: number, seasonId?: SeasonId): boolean;
|
|
122
|
-
claimChallenge(challengeId: ChallengeId, seasonId?: SeasonId): {
|
|
123
|
-
xp: number;
|
|
124
|
-
bonus?: unknown;
|
|
125
|
-
} | null;
|
|
126
|
-
getActiveChallenges(type?: ChallengeType, seasonId?: SeasonId): Challenge[];
|
|
127
|
-
activateBooster(multiplier: number, durationMs: number, seasonId?: SeasonId): boolean;
|
|
128
|
-
checkResets(seasonId?: SeasonId): void;
|
|
129
|
-
private getWeekStart;
|
|
130
|
-
getCurrentSeason(): SeasonDefinition | undefined;
|
|
131
|
-
getProgress(seasonId?: SeasonId): SeasonProgress | undefined;
|
|
132
|
-
getLevelProgress(seasonId?: SeasonId): {
|
|
133
|
-
level: number;
|
|
134
|
-
currentXp: number;
|
|
135
|
-
requiredXp: number;
|
|
136
|
-
progress: number;
|
|
137
|
-
maxLevel: number;
|
|
138
|
-
} | null;
|
|
139
|
-
getSeasonTimeRemaining(seasonId?: SeasonId): {
|
|
140
|
-
days: number;
|
|
141
|
-
hours: number;
|
|
142
|
-
minutes: number;
|
|
143
|
-
total: number;
|
|
144
|
-
} | null;
|
|
145
|
-
private save;
|
|
146
|
-
private load;
|
|
147
|
-
reset(seasonId?: SeasonId): void;
|
|
148
|
-
destroy(): void;
|
|
149
|
-
}
|
|
150
|
-
export declare function createBattlePassSystem(config?: Partial<BattlePassConfig>): NiceBattlePass;
|
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from 'events';
|
|
2
|
-
export type NodeId = string;
|
|
3
|
-
export type TreeId = string;
|
|
4
|
-
export type BlackboardKey = string;
|
|
5
|
-
export type NodeStatus = 'success' | 'failure' | 'running';
|
|
6
|
-
export type BehaviorNode = SequenceNode | SelectorNode | ParallelNode | InverterNode | RepeaterNode | SucceederNode | UntilFailNode | UntilSuccessNode | CooldownNode | ActionNode | ConditionNode | WaitNode | SubtreeNode;
|
|
7
|
-
export interface SequenceNode {
|
|
8
|
-
type: 'sequence';
|
|
9
|
-
id: NodeId;
|
|
10
|
-
children: BehaviorNode[];
|
|
11
|
-
}
|
|
12
|
-
export interface SelectorNode {
|
|
13
|
-
type: 'selector';
|
|
14
|
-
id: NodeId;
|
|
15
|
-
children: BehaviorNode[];
|
|
16
|
-
}
|
|
17
|
-
export interface ParallelNode {
|
|
18
|
-
type: 'parallel';
|
|
19
|
-
id: NodeId;
|
|
20
|
-
successThreshold: number;
|
|
21
|
-
children: BehaviorNode[];
|
|
22
|
-
}
|
|
23
|
-
export interface InverterNode {
|
|
24
|
-
type: 'inverter';
|
|
25
|
-
id: NodeId;
|
|
26
|
-
child: BehaviorNode;
|
|
27
|
-
}
|
|
28
|
-
export interface RepeaterNode {
|
|
29
|
-
type: 'repeater';
|
|
30
|
-
id: NodeId;
|
|
31
|
-
times: number;
|
|
32
|
-
child: BehaviorNode;
|
|
33
|
-
}
|
|
34
|
-
export interface SucceederNode {
|
|
35
|
-
type: 'succeeder';
|
|
36
|
-
id: NodeId;
|
|
37
|
-
child: BehaviorNode;
|
|
38
|
-
}
|
|
39
|
-
export interface UntilFailNode {
|
|
40
|
-
type: 'until-fail';
|
|
41
|
-
id: NodeId;
|
|
42
|
-
child: BehaviorNode;
|
|
43
|
-
}
|
|
44
|
-
export interface UntilSuccessNode {
|
|
45
|
-
type: 'until-success';
|
|
46
|
-
id: NodeId;
|
|
47
|
-
child: BehaviorNode;
|
|
48
|
-
}
|
|
49
|
-
export interface CooldownNode {
|
|
50
|
-
type: 'cooldown';
|
|
51
|
-
id: NodeId;
|
|
52
|
-
cooldown: number;
|
|
53
|
-
child: BehaviorNode;
|
|
54
|
-
}
|
|
55
|
-
export interface ActionNode {
|
|
56
|
-
type: 'action';
|
|
57
|
-
id: NodeId;
|
|
58
|
-
name: string;
|
|
59
|
-
action: (blackboard: Blackboard) => NodeStatus | Promise<NodeStatus>;
|
|
60
|
-
}
|
|
61
|
-
export interface ConditionNode {
|
|
62
|
-
type: 'condition';
|
|
63
|
-
id: NodeId;
|
|
64
|
-
name: string;
|
|
65
|
-
condition: (blackboard: Blackboard) => boolean;
|
|
66
|
-
}
|
|
67
|
-
export interface WaitNode {
|
|
68
|
-
type: 'wait';
|
|
69
|
-
id: NodeId;
|
|
70
|
-
duration: number;
|
|
71
|
-
}
|
|
72
|
-
export interface SubtreeNode {
|
|
73
|
-
type: 'subtree';
|
|
74
|
-
id: NodeId;
|
|
75
|
-
treeId: TreeId;
|
|
76
|
-
}
|
|
77
|
-
export declare class Blackboard {
|
|
78
|
-
private data;
|
|
79
|
-
get<T>(key: BlackboardKey): T | undefined;
|
|
80
|
-
set<T>(key: BlackboardKey, value: T): void;
|
|
81
|
-
has(key: BlackboardKey): boolean;
|
|
82
|
-
delete(key: BlackboardKey): boolean;
|
|
83
|
-
clear(): void;
|
|
84
|
-
keys(): BlackboardKey[];
|
|
85
|
-
toJSON(): Record<string, unknown>;
|
|
86
|
-
fromJSON(data: Record<string, unknown>): void;
|
|
87
|
-
}
|
|
88
|
-
export interface ExecutionContext {
|
|
89
|
-
blackboard: Blackboard;
|
|
90
|
-
runningNodes: Set<NodeId>;
|
|
91
|
-
nodeState: Map<NodeId, NodeExecutionState>;
|
|
92
|
-
treeSystem: NiceBehavior;
|
|
93
|
-
}
|
|
94
|
-
export interface NodeExecutionState {
|
|
95
|
-
runCount?: number;
|
|
96
|
-
lastRunTime?: number;
|
|
97
|
-
waitStartTime?: number;
|
|
98
|
-
parallelResults?: NodeStatus[];
|
|
99
|
-
currentChildIndex?: number;
|
|
100
|
-
}
|
|
101
|
-
export type BehaviorEventType = 'node-started' | 'node-completed' | 'tree-started' | 'tree-completed';
|
|
102
|
-
export interface BehaviorEvent {
|
|
103
|
-
type: BehaviorEventType;
|
|
104
|
-
treeId?: TreeId;
|
|
105
|
-
nodeId?: NodeId;
|
|
106
|
-
status?: NodeStatus;
|
|
107
|
-
}
|
|
108
|
-
export interface BehaviorConfig {
|
|
109
|
-
tickRate?: number;
|
|
110
|
-
maxIterationsPerTick?: number;
|
|
111
|
-
}
|
|
112
|
-
export declare const DEFAULT_BEHAVIOR_CONFIG: BehaviorConfig;
|
|
113
|
-
export declare class NiceBehavior extends EventEmitter {
|
|
114
|
-
private trees;
|
|
115
|
-
private activeAgents;
|
|
116
|
-
private nextNodeId;
|
|
117
|
-
private config;
|
|
118
|
-
constructor(config?: Partial<BehaviorConfig>);
|
|
119
|
-
registerTree(treeId: TreeId, root: BehaviorNode): void;
|
|
120
|
-
unregisterTree(treeId: TreeId): boolean;
|
|
121
|
-
hasTree(treeId: TreeId): boolean;
|
|
122
|
-
getTree(treeId: TreeId): BehaviorNode | undefined;
|
|
123
|
-
attachTree(agentId: string, treeId: TreeId): boolean;
|
|
124
|
-
detachTree(agentId: string): boolean;
|
|
125
|
-
getBlackboard(agentId: string): Blackboard | undefined;
|
|
126
|
-
tick(agentId: string, treeId: TreeId): NodeStatus;
|
|
127
|
-
tickAll(treeId: TreeId): Map<string, NodeStatus>;
|
|
128
|
-
private executeNode;
|
|
129
|
-
private executeSequence;
|
|
130
|
-
private executeSelector;
|
|
131
|
-
private executeParallel;
|
|
132
|
-
private executeInverter;
|
|
133
|
-
private executeRepeater;
|
|
134
|
-
private executeSucceeder;
|
|
135
|
-
private executeUntilFail;
|
|
136
|
-
private executeUntilSuccess;
|
|
137
|
-
private executeCooldown;
|
|
138
|
-
private executeAction;
|
|
139
|
-
private executeCondition;
|
|
140
|
-
private executeWait;
|
|
141
|
-
private executeSubtree;
|
|
142
|
-
private getNodeState;
|
|
143
|
-
generateNodeId(): NodeId;
|
|
144
|
-
sequence(...children: BehaviorNode[]): SequenceNode;
|
|
145
|
-
selector(...children: BehaviorNode[]): SelectorNode;
|
|
146
|
-
parallel(successThreshold: number, ...children: BehaviorNode[]): ParallelNode;
|
|
147
|
-
inverter(child: BehaviorNode): InverterNode;
|
|
148
|
-
repeater(times: number, child: BehaviorNode): RepeaterNode;
|
|
149
|
-
succeeder(child: BehaviorNode): SucceederNode;
|
|
150
|
-
untilFail(child: BehaviorNode): UntilFailNode;
|
|
151
|
-
untilSuccess(child: BehaviorNode): UntilSuccessNode;
|
|
152
|
-
cooldown(cooldown: number, child: BehaviorNode): CooldownNode;
|
|
153
|
-
action(name: string, action: (blackboard: Blackboard) => NodeStatus | Promise<NodeStatus>): ActionNode;
|
|
154
|
-
condition(name: string, condition: (blackboard: Blackboard) => boolean): ConditionNode;
|
|
155
|
-
wait(duration: number): WaitNode;
|
|
156
|
-
subtree(treeId: TreeId): SubtreeNode;
|
|
157
|
-
}
|
|
158
|
-
export declare function createBehaviorTree(config?: Partial<BehaviorConfig>): NiceBehavior;
|
|
159
|
-
export declare function createBlackboard(): Blackboard;
|
|
160
|
-
export default NiceBehavior;
|