@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,173 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from 'events';
|
|
2
|
-
export type AssetId = string;
|
|
3
|
-
export type ChunkId = string;
|
|
4
|
-
export type BundleId = string;
|
|
5
|
-
export type RequestId = string;
|
|
6
|
-
export type AssetType = 'texture' | 'model' | 'audio' | 'animation' | 'material' | 'shader' | 'script' | 'data' | 'scene' | 'prefab' | 'font' | 'video' | 'custom';
|
|
7
|
-
export type AssetState = 'unloaded' | 'queued' | 'loading' | 'loaded' | 'streaming' | 'error' | 'unloading';
|
|
8
|
-
export type LoadPriority = 'critical' | 'high' | 'normal' | 'low' | 'background';
|
|
9
|
-
export interface Asset {
|
|
10
|
-
id: AssetId;
|
|
11
|
-
type: AssetType;
|
|
12
|
-
url: string;
|
|
13
|
-
state: AssetState;
|
|
14
|
-
size: number;
|
|
15
|
-
loadedSize: number;
|
|
16
|
-
data?: unknown;
|
|
17
|
-
bundle?: BundleId;
|
|
18
|
-
dependencies: AssetId[];
|
|
19
|
-
dependents: AssetId[];
|
|
20
|
-
refCount: number;
|
|
21
|
-
lastAccessTime: number;
|
|
22
|
-
priority: LoadPriority;
|
|
23
|
-
version: number;
|
|
24
|
-
checksum?: string;
|
|
25
|
-
metadata: Record<string, unknown>;
|
|
26
|
-
}
|
|
27
|
-
export interface AssetBundle {
|
|
28
|
-
id: BundleId;
|
|
29
|
-
url: string;
|
|
30
|
-
assets: AssetId[];
|
|
31
|
-
state: AssetState;
|
|
32
|
-
size: number;
|
|
33
|
-
loadedSize: number;
|
|
34
|
-
version: number;
|
|
35
|
-
download?: BundleDownload;
|
|
36
|
-
}
|
|
37
|
-
export interface BundleDownload {
|
|
38
|
-
progress: number;
|
|
39
|
-
bytesLoaded: number;
|
|
40
|
-
bytesTotal: number;
|
|
41
|
-
speed: number;
|
|
42
|
-
startTime: number;
|
|
43
|
-
estimatedTimeRemaining: number;
|
|
44
|
-
}
|
|
45
|
-
export interface StreamingChunk {
|
|
46
|
-
id: ChunkId;
|
|
47
|
-
bounds: {
|
|
48
|
-
min: Vector3;
|
|
49
|
-
max: Vector3;
|
|
50
|
-
};
|
|
51
|
-
assets: AssetId[];
|
|
52
|
-
state: AssetState;
|
|
53
|
-
priority: number;
|
|
54
|
-
distance: number;
|
|
55
|
-
lastActiveTime: number;
|
|
56
|
-
}
|
|
57
|
-
export interface Vector3 {
|
|
58
|
-
x: number;
|
|
59
|
-
y: number;
|
|
60
|
-
z: number;
|
|
61
|
-
}
|
|
62
|
-
export interface LoadRequest {
|
|
63
|
-
id: RequestId;
|
|
64
|
-
assetId: AssetId;
|
|
65
|
-
priority: LoadPriority;
|
|
66
|
-
callback?: (asset: Asset) => void;
|
|
67
|
-
errorCallback?: (error: Error) => void;
|
|
68
|
-
startTime: number;
|
|
69
|
-
retryCount: number;
|
|
70
|
-
}
|
|
71
|
-
export interface MemoryInfo {
|
|
72
|
-
used: number;
|
|
73
|
-
reserved: number;
|
|
74
|
-
limit: number;
|
|
75
|
-
textureMemory: number;
|
|
76
|
-
audioMemory: number;
|
|
77
|
-
meshMemory: number;
|
|
78
|
-
}
|
|
79
|
-
export type StreamingEventType = 'asset-queued' | 'asset-loading' | 'asset-loaded' | 'asset-error' | 'asset-unloaded' | 'bundle-queued' | 'bundle-progress' | 'bundle-loaded' | 'bundle-error' | 'chunk-loaded' | 'chunk-unloaded' | 'memory-warning' | 'memory-critical';
|
|
80
|
-
export interface StreamingEvent {
|
|
81
|
-
type: StreamingEventType;
|
|
82
|
-
assetId?: AssetId;
|
|
83
|
-
bundleId?: BundleId;
|
|
84
|
-
chunkId?: ChunkId;
|
|
85
|
-
data?: Record<string, unknown>;
|
|
86
|
-
}
|
|
87
|
-
export interface StreamingSystemConfig {
|
|
88
|
-
maxConcurrentLoads?: number;
|
|
89
|
-
memoryLimit?: number;
|
|
90
|
-
memoryWarningThreshold?: number;
|
|
91
|
-
memoryCriticalThreshold?: number;
|
|
92
|
-
defaultPriority?: LoadPriority;
|
|
93
|
-
retryAttempts?: number;
|
|
94
|
-
retryDelay?: number;
|
|
95
|
-
cacheEnabled?: boolean;
|
|
96
|
-
preloadRadius?: number;
|
|
97
|
-
unloadRadius?: number;
|
|
98
|
-
backgroundLoadingEnabled?: boolean;
|
|
99
|
-
maxBackgroundLoads?: number;
|
|
100
|
-
}
|
|
101
|
-
export declare const DEFAULT_STREAMING_CONFIG: StreamingSystemConfig;
|
|
102
|
-
export declare class NiceStreaming extends EventEmitter {
|
|
103
|
-
private assets;
|
|
104
|
-
private bundles;
|
|
105
|
-
private chunks;
|
|
106
|
-
private loadQueue;
|
|
107
|
-
private activeLoads;
|
|
108
|
-
private config;
|
|
109
|
-
private requestIdCounter;
|
|
110
|
-
private memory;
|
|
111
|
-
private playerPosition;
|
|
112
|
-
private loaderFunctions;
|
|
113
|
-
constructor(config?: Partial<StreamingSystemConfig>);
|
|
114
|
-
registerAsset(options: {
|
|
115
|
-
id: AssetId;
|
|
116
|
-
type: AssetType;
|
|
117
|
-
url: string;
|
|
118
|
-
size?: number;
|
|
119
|
-
bundle?: BundleId;
|
|
120
|
-
dependencies?: AssetId[];
|
|
121
|
-
metadata?: Record<string, unknown>;
|
|
122
|
-
}): Asset;
|
|
123
|
-
unregisterAsset(assetId: AssetId): void;
|
|
124
|
-
getAsset(assetId: AssetId): Asset | undefined;
|
|
125
|
-
registerBundle(options: {
|
|
126
|
-
id: BundleId;
|
|
127
|
-
url: string;
|
|
128
|
-
size?: number;
|
|
129
|
-
version?: number;
|
|
130
|
-
}): AssetBundle;
|
|
131
|
-
getBundle(bundleId: BundleId): AssetBundle | undefined;
|
|
132
|
-
loadBundle(bundleId: BundleId): Promise<void>;
|
|
133
|
-
private downloadBundle;
|
|
134
|
-
registerChunk(options: {
|
|
135
|
-
id: ChunkId;
|
|
136
|
-
bounds: {
|
|
137
|
-
min: Vector3;
|
|
138
|
-
max: Vector3;
|
|
139
|
-
};
|
|
140
|
-
assets: AssetId[];
|
|
141
|
-
}): StreamingChunk;
|
|
142
|
-
unregisterChunk(chunkId: ChunkId): void;
|
|
143
|
-
getChunk(chunkId: ChunkId): StreamingChunk | undefined;
|
|
144
|
-
setPlayerPosition(position: Vector3): void;
|
|
145
|
-
loadAsset(assetId: AssetId, priority?: LoadPriority): Promise<Asset>;
|
|
146
|
-
loadAssets(assetIds: AssetId[], priority?: LoadPriority): Promise<Asset[]>;
|
|
147
|
-
private queueRequest;
|
|
148
|
-
private processQueue;
|
|
149
|
-
private startLoad;
|
|
150
|
-
private defaultLoad;
|
|
151
|
-
registerLoader(type: AssetType, loader: (asset: Asset) => Promise<unknown>): void;
|
|
152
|
-
unloadAsset(assetId: AssetId): void;
|
|
153
|
-
private doUnload;
|
|
154
|
-
forceUnload(assetId: AssetId): void;
|
|
155
|
-
private updateMemoryUsage;
|
|
156
|
-
private emergencyUnload;
|
|
157
|
-
private cleanupUnused;
|
|
158
|
-
getMemoryInfo(): MemoryInfo;
|
|
159
|
-
preload(assetIds: AssetId[]): void;
|
|
160
|
-
preloadChunk(chunkId: ChunkId): void;
|
|
161
|
-
update(_deltaTime: number): void;
|
|
162
|
-
private updateChunks;
|
|
163
|
-
private loadChunk;
|
|
164
|
-
private unloadChunk;
|
|
165
|
-
isLoaded(assetId: AssetId): boolean;
|
|
166
|
-
isLoading(assetId: AssetId): boolean;
|
|
167
|
-
getLoadProgress(assetId: AssetId): number;
|
|
168
|
-
getQueueLength(): number;
|
|
169
|
-
getActiveLoadsCount(): number;
|
|
170
|
-
private calculateDistance;
|
|
171
|
-
}
|
|
172
|
-
export declare function createStreamingSystem(config?: Partial<StreamingSystemConfig>): NiceStreaming;
|
|
173
|
-
export default NiceStreaming;
|
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from 'events';
|
|
2
|
-
export type EntityId = string;
|
|
3
|
-
export type WaterBodyId = string;
|
|
4
|
-
export type CurrentId = string;
|
|
5
|
-
export interface Vector3 {
|
|
6
|
-
x: number;
|
|
7
|
-
y: number;
|
|
8
|
-
z: number;
|
|
9
|
-
}
|
|
10
|
-
export type WaterType = 'pool' | 'lake' | 'river' | 'ocean' | 'swamp' | 'hot_spring' | 'acid' | 'lava' | 'custom';
|
|
11
|
-
export interface WaterBody {
|
|
12
|
-
id: WaterBodyId;
|
|
13
|
-
type: WaterType;
|
|
14
|
-
bounds: {
|
|
15
|
-
min: Vector3;
|
|
16
|
-
max: Vector3;
|
|
17
|
-
};
|
|
18
|
-
surfaceLevel: number;
|
|
19
|
-
depth: number;
|
|
20
|
-
temperature: number;
|
|
21
|
-
visibility: number;
|
|
22
|
-
density: number;
|
|
23
|
-
currents: Current[];
|
|
24
|
-
hazards: WaterHazard[];
|
|
25
|
-
isSwimmable: boolean;
|
|
26
|
-
damagePerSecond?: number;
|
|
27
|
-
effects: WaterEffect[];
|
|
28
|
-
}
|
|
29
|
-
export interface Current {
|
|
30
|
-
id: CurrentId;
|
|
31
|
-
direction: Vector3;
|
|
32
|
-
strength: number;
|
|
33
|
-
area: {
|
|
34
|
-
min: Vector3;
|
|
35
|
-
max: Vector3;
|
|
36
|
-
};
|
|
37
|
-
type: 'constant' | 'oscillating' | 'vortex';
|
|
38
|
-
frequency?: number;
|
|
39
|
-
}
|
|
40
|
-
export interface WaterHazard {
|
|
41
|
-
id: string;
|
|
42
|
-
type: 'whirlpool' | 'undertow' | 'jellyfish' | 'sharp_rocks' | 'creature';
|
|
43
|
-
position: Vector3;
|
|
44
|
-
radius: number;
|
|
45
|
-
damage: number;
|
|
46
|
-
effectId?: string;
|
|
47
|
-
}
|
|
48
|
-
export type WaterEffectType = 'slow' | 'poison' | 'heal' | 'buff' | 'debuff' | 'transform';
|
|
49
|
-
export interface WaterEffect {
|
|
50
|
-
type: WaterEffectType;
|
|
51
|
-
strength: number;
|
|
52
|
-
duration?: number;
|
|
53
|
-
effectId: string;
|
|
54
|
-
}
|
|
55
|
-
export type SwimmingState = 'idle' | 'surface_idle' | 'surface_swimming' | 'diving' | 'underwater_swimming' | 'ascending' | 'drowning' | 'dead';
|
|
56
|
-
export type SwimmingStyle = 'freestyle' | 'breaststroke' | 'backstroke' | 'butterfly' | 'doggy_paddle' | 'diving';
|
|
57
|
-
export interface Swimmer {
|
|
58
|
-
entityId: EntityId;
|
|
59
|
-
state: SwimmingState;
|
|
60
|
-
style: SwimmingStyle;
|
|
61
|
-
position: Vector3;
|
|
62
|
-
velocity: Vector3;
|
|
63
|
-
currentWaterBody?: WaterBodyId;
|
|
64
|
-
depth: number;
|
|
65
|
-
breath: number;
|
|
66
|
-
maxBreath: number;
|
|
67
|
-
breathRate: number;
|
|
68
|
-
stamina: number;
|
|
69
|
-
maxStamina: number;
|
|
70
|
-
swimSpeed: number;
|
|
71
|
-
diveSpeed: number;
|
|
72
|
-
buoyancy: number;
|
|
73
|
-
waterResistance: number;
|
|
74
|
-
skills: SwimmingSkills;
|
|
75
|
-
equipment: SwimmingEquipment;
|
|
76
|
-
activeEffects: ActiveWaterEffect[];
|
|
77
|
-
}
|
|
78
|
-
export interface SwimmingSkills {
|
|
79
|
-
swimming: number;
|
|
80
|
-
diving: number;
|
|
81
|
-
breathHolding: number;
|
|
82
|
-
currentResistance: number;
|
|
83
|
-
}
|
|
84
|
-
export interface SwimmingEquipment {
|
|
85
|
-
hasFlippers: boolean;
|
|
86
|
-
hasSnorkel: boolean;
|
|
87
|
-
hasScuba: boolean;
|
|
88
|
-
hasWetsuit: boolean;
|
|
89
|
-
oxygenTank?: {
|
|
90
|
-
capacity: number;
|
|
91
|
-
remaining: number;
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
export interface ActiveWaterEffect {
|
|
95
|
-
effectId: string;
|
|
96
|
-
type: WaterEffectType;
|
|
97
|
-
strength: number;
|
|
98
|
-
startTime: number;
|
|
99
|
-
duration?: number;
|
|
100
|
-
}
|
|
101
|
-
export type SwimmingEventType = 'entered-water' | 'exited-water' | 'started-diving' | 'surfaced' | 'breath-warning' | 'drowning-started' | 'drowned' | 'current-entered' | 'current-exited' | 'hazard-hit' | 'effect-applied' | 'effect-removed';
|
|
102
|
-
export interface SwimmingEvent {
|
|
103
|
-
type: SwimmingEventType;
|
|
104
|
-
entityId: EntityId;
|
|
105
|
-
waterBodyId?: WaterBodyId;
|
|
106
|
-
data?: Record<string, unknown>;
|
|
107
|
-
}
|
|
108
|
-
export interface SwimmingSystemConfig {
|
|
109
|
-
defaultMaxBreath?: number;
|
|
110
|
-
breathDepletionRate?: number;
|
|
111
|
-
breathRecoveryRate?: number;
|
|
112
|
-
breathWarningThreshold?: number;
|
|
113
|
-
drowningDamageRate?: number;
|
|
114
|
-
baseSwimSpeed?: number;
|
|
115
|
-
baseDiveSpeed?: number;
|
|
116
|
-
baseBuoyancy?: number;
|
|
117
|
-
surfaceDragMultiplier?: number;
|
|
118
|
-
underwaterDragMultiplier?: number;
|
|
119
|
-
currentResistanceBase?: number;
|
|
120
|
-
temperatureEffects?: boolean;
|
|
121
|
-
}
|
|
122
|
-
export declare const DEFAULT_SWIMMING_CONFIG: SwimmingSystemConfig;
|
|
123
|
-
export declare class NiceSwimming extends EventEmitter {
|
|
124
|
-
private waterBodies;
|
|
125
|
-
private swimmers;
|
|
126
|
-
private config;
|
|
127
|
-
constructor(config?: Partial<SwimmingSystemConfig>);
|
|
128
|
-
createWaterBody(definition: WaterBody): WaterBody;
|
|
129
|
-
removeWaterBody(id: WaterBodyId): void;
|
|
130
|
-
getWaterBody(id: WaterBodyId): WaterBody | undefined;
|
|
131
|
-
addCurrent(waterBodyId: WaterBodyId, current: Current): void;
|
|
132
|
-
removeCurrent(waterBodyId: WaterBodyId, currentId: CurrentId): void;
|
|
133
|
-
addHazard(waterBodyId: WaterBodyId, hazard: WaterHazard): void;
|
|
134
|
-
registerSwimmer(entityId: EntityId, skills?: Partial<SwimmingSkills>, equipment?: Partial<SwimmingEquipment>): void;
|
|
135
|
-
unregisterSwimmer(entityId: EntityId): void;
|
|
136
|
-
getSwimmer(entityId: EntityId): Swimmer | undefined;
|
|
137
|
-
equipItem(entityId: EntityId, item: keyof SwimmingEquipment): void;
|
|
138
|
-
enterWater(entityId: EntityId, waterBodyId: WaterBodyId, position: Vector3): boolean;
|
|
139
|
-
exitWater(entityId: EntityId): void;
|
|
140
|
-
swim(entityId: EntityId, direction: Vector3, intensity?: number): void;
|
|
141
|
-
dive(entityId: EntityId, targetDepth: number): boolean;
|
|
142
|
-
surface(entityId: EntityId): void;
|
|
143
|
-
setSwimmingStyle(entityId: EntityId, style: SwimmingStyle): void;
|
|
144
|
-
update(deltaTime: number): void;
|
|
145
|
-
private updateSwimmer;
|
|
146
|
-
private applyCurrents;
|
|
147
|
-
private updateBreathing;
|
|
148
|
-
private checkHazards;
|
|
149
|
-
private applyWaterEffect;
|
|
150
|
-
private updateEffects;
|
|
151
|
-
isSwimming(entityId: EntityId): boolean;
|
|
152
|
-
isUnderwater(entityId: EntityId): boolean;
|
|
153
|
-
getDepth(entityId: EntityId): number;
|
|
154
|
-
getBreath(entityId: EntityId): {
|
|
155
|
-
current: number;
|
|
156
|
-
max: number;
|
|
157
|
-
} | undefined;
|
|
158
|
-
getWaterBodyAtPosition(position: Vector3): WaterBodyId | undefined;
|
|
159
|
-
private isInBounds;
|
|
160
|
-
private isInArea;
|
|
161
|
-
private calculateDistance;
|
|
162
|
-
}
|
|
163
|
-
export declare function createSwimmingSystem(config?: Partial<SwimmingSystemConfig>): NiceSwimming;
|
|
164
|
-
export declare function defineWaterBody(options: WaterBody): WaterBody;
|
|
165
|
-
export declare function defineCurrent(options: Current): Current;
|
|
166
|
-
export default NiceSwimming;
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
export type TalentTreeId = string;
|
|
2
|
-
export type TalentId = string;
|
|
3
|
-
export type TalentTierId = string;
|
|
4
|
-
export type SpecId = string;
|
|
5
|
-
export interface TalentTree {
|
|
6
|
-
id: TalentTreeId;
|
|
7
|
-
name: string;
|
|
8
|
-
description?: string;
|
|
9
|
-
icon: string;
|
|
10
|
-
background?: string;
|
|
11
|
-
color?: string;
|
|
12
|
-
tiers: TalentTier[];
|
|
13
|
-
classRequired?: string[];
|
|
14
|
-
levelRequired?: number;
|
|
15
|
-
maxPoints: number;
|
|
16
|
-
pointsPerLevel?: number;
|
|
17
|
-
startingLevel?: number;
|
|
18
|
-
}
|
|
19
|
-
export interface TalentTier {
|
|
20
|
-
id: TalentTierId;
|
|
21
|
-
treeId: TalentTreeId;
|
|
22
|
-
index: number;
|
|
23
|
-
name?: string;
|
|
24
|
-
pointsRequired: number;
|
|
25
|
-
talents: TalentId[];
|
|
26
|
-
columns?: number;
|
|
27
|
-
}
|
|
28
|
-
export interface TalentDefinition {
|
|
29
|
-
id: TalentId;
|
|
30
|
-
treeId: TalentTreeId;
|
|
31
|
-
tierId: TalentTierId;
|
|
32
|
-
name: string;
|
|
33
|
-
description: string;
|
|
34
|
-
maxRanks: number;
|
|
35
|
-
rankDescriptions?: string[];
|
|
36
|
-
row: number;
|
|
37
|
-
column: number;
|
|
38
|
-
icon: string;
|
|
39
|
-
prerequisites?: TalentPrerequisite[];
|
|
40
|
-
effects: TalentEffect[];
|
|
41
|
-
exclusiveWith?: TalentId[];
|
|
42
|
-
type: 'passive' | 'active' | 'proc' | 'modifier';
|
|
43
|
-
grantedAbility?: string;
|
|
44
|
-
tags?: string[];
|
|
45
|
-
}
|
|
46
|
-
export interface TalentPrerequisite {
|
|
47
|
-
type: 'talent' | 'tree_points' | 'level' | 'class';
|
|
48
|
-
talentId?: TalentId;
|
|
49
|
-
requiredRanks?: number;
|
|
50
|
-
pointsRequired?: number;
|
|
51
|
-
levelRequired?: number;
|
|
52
|
-
classRequired?: string[];
|
|
53
|
-
}
|
|
54
|
-
export interface TalentEffect {
|
|
55
|
-
type: 'stat_bonus' | 'damage_increase' | 'cooldown_reduction' | 'cost_reduction' | 'chance_proc' | 'unlock_ability' | 'modify_ability' | 'custom';
|
|
56
|
-
target?: string;
|
|
57
|
-
values: number[];
|
|
58
|
-
stat?: string;
|
|
59
|
-
isPercentage?: boolean;
|
|
60
|
-
abilityId?: string;
|
|
61
|
-
effectData?: Record<string, unknown>;
|
|
62
|
-
}
|
|
63
|
-
export interface PlayerTalentData {
|
|
64
|
-
playerId: string;
|
|
65
|
-
specs: Map<SpecId, PlayerSpec>;
|
|
66
|
-
activeSpecId: SpecId;
|
|
67
|
-
availablePoints: number;
|
|
68
|
-
totalPointsSpent: number;
|
|
69
|
-
lastRespec: number;
|
|
70
|
-
totalRespecs: number;
|
|
71
|
-
}
|
|
72
|
-
export interface PlayerSpec {
|
|
73
|
-
id: SpecId;
|
|
74
|
-
name: string;
|
|
75
|
-
treePoints: Map<TalentTreeId, number>;
|
|
76
|
-
talents: Map<TalentId, number>;
|
|
77
|
-
activeEffects: ComputedTalentEffect[];
|
|
78
|
-
createdAt: number;
|
|
79
|
-
lastModified: number;
|
|
80
|
-
}
|
|
81
|
-
export interface ComputedTalentEffect {
|
|
82
|
-
talentId: TalentId;
|
|
83
|
-
effectIndex: number;
|
|
84
|
-
effect: TalentEffect;
|
|
85
|
-
currentValue: number;
|
|
86
|
-
currentRank: number;
|
|
87
|
-
}
|
|
88
|
-
export type TalentEventType = 'talent-allocated' | 'talent-unallocated' | 'points-gained' | 'spec-created' | 'spec-switched' | 'spec-reset' | 'effects-updated';
|
|
89
|
-
export interface TalentEvent {
|
|
90
|
-
type: TalentEventType;
|
|
91
|
-
timestamp: number;
|
|
92
|
-
data?: unknown;
|
|
93
|
-
}
|
|
94
|
-
export type TalentEventCallback = (event: TalentEvent) => void;
|
|
95
|
-
export interface TalentConfig {
|
|
96
|
-
maxSpecs: number;
|
|
97
|
-
freeRespecUntilLevel: number;
|
|
98
|
-
respecCostBase: number;
|
|
99
|
-
respecCostPerPoint: number;
|
|
100
|
-
respecCooldown: number;
|
|
101
|
-
pointsPerLevel: number;
|
|
102
|
-
startingLevel: number;
|
|
103
|
-
storageKey: string;
|
|
104
|
-
}
|
|
105
|
-
export declare const DEFAULT_TALENT_CONFIG: TalentConfig;
|
|
106
|
-
export declare class NiceTalent {
|
|
107
|
-
private config;
|
|
108
|
-
private trees;
|
|
109
|
-
private talents;
|
|
110
|
-
private playerData;
|
|
111
|
-
private eventListeners;
|
|
112
|
-
private onDeductCost?;
|
|
113
|
-
constructor(config?: Partial<TalentConfig>);
|
|
114
|
-
on(event: TalentEventType, callback: TalentEventCallback): () => void;
|
|
115
|
-
private emit;
|
|
116
|
-
setCostHandler(handler: typeof this.onDeductCost): void;
|
|
117
|
-
registerTree(tree: TalentTree): void;
|
|
118
|
-
registerTalent(talent: TalentDefinition): void;
|
|
119
|
-
grantPoints(playerId: string, amount: number): void;
|
|
120
|
-
getAvailablePoints(playerId: string): number;
|
|
121
|
-
calculatePointsForLevel(level: number): number;
|
|
122
|
-
syncPointsWithLevel(playerId: string, level: number): void;
|
|
123
|
-
allocateTalent(playerId: string, talentId: TalentId): boolean;
|
|
124
|
-
unallocateTalent(playerId: string, talentId: TalentId): boolean;
|
|
125
|
-
private canUnallocate;
|
|
126
|
-
private checkPrerequisites;
|
|
127
|
-
createSpec(playerId: string, name: string): PlayerSpec | null;
|
|
128
|
-
switchSpec(playerId: string, specId: SpecId): boolean;
|
|
129
|
-
resetSpec(playerId: string, specId?: SpecId, playerLevel?: number): boolean;
|
|
130
|
-
renameSpec(playerId: string, specId: SpecId, name: string): boolean;
|
|
131
|
-
deleteSpec(playerId: string, specId: SpecId): boolean;
|
|
132
|
-
private updateSpecEffects;
|
|
133
|
-
getTree(id: TalentTreeId): TalentTree | undefined;
|
|
134
|
-
getAllTrees(): TalentTree[];
|
|
135
|
-
getTalent(id: TalentId): TalentDefinition | undefined;
|
|
136
|
-
getAllTalents(): TalentDefinition[];
|
|
137
|
-
getTalentsByTree(treeId: TalentTreeId): TalentDefinition[];
|
|
138
|
-
getPlayerData(playerId: string): PlayerTalentData | undefined;
|
|
139
|
-
getActiveSpec(playerId: string): PlayerSpec | undefined;
|
|
140
|
-
getSpecs(playerId: string): PlayerSpec[];
|
|
141
|
-
getTalentRanks(playerId: string, talentId: TalentId): number;
|
|
142
|
-
getTreePoints(playerId: string, treeId: TalentTreeId): number;
|
|
143
|
-
getActiveEffects(playerId: string): ComputedTalentEffect[];
|
|
144
|
-
getEffectsByType(playerId: string, effectType: TalentEffect['type']): ComputedTalentEffect[];
|
|
145
|
-
getTotalStatBonus(playerId: string, stat: string): number;
|
|
146
|
-
canAllocate(playerId: string, talentId: TalentId): boolean;
|
|
147
|
-
getRespecCost(playerId: string, specId?: SpecId): number;
|
|
148
|
-
private getOrCreatePlayerData;
|
|
149
|
-
private save;
|
|
150
|
-
private load;
|
|
151
|
-
reset(): void;
|
|
152
|
-
destroy(): void;
|
|
153
|
-
}
|
|
154
|
-
export declare function createTalentSystem(config?: Partial<TalentConfig>): NiceTalent;
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from 'events';
|
|
2
|
-
export type EntityId = string;
|
|
3
|
-
export type TargetGroupId = string;
|
|
4
|
-
export type FactionId = string;
|
|
5
|
-
export interface Vector2 {
|
|
6
|
-
x: number;
|
|
7
|
-
y: number;
|
|
8
|
-
}
|
|
9
|
-
export interface TargetableEntity {
|
|
10
|
-
id: EntityId;
|
|
11
|
-
position: Vector2;
|
|
12
|
-
faction: FactionId;
|
|
13
|
-
targetable: boolean;
|
|
14
|
-
health?: number;
|
|
15
|
-
maxHealth?: number;
|
|
16
|
-
priority?: number;
|
|
17
|
-
tags?: string[];
|
|
18
|
-
threatTable?: Map<EntityId, number>;
|
|
19
|
-
}
|
|
20
|
-
export interface TargetFilter {
|
|
21
|
-
factions?: FactionId[];
|
|
22
|
-
excludeFactions?: FactionId[];
|
|
23
|
-
tags?: string[];
|
|
24
|
-
excludeTags?: string[];
|
|
25
|
-
minHealth?: number;
|
|
26
|
-
maxHealth?: number;
|
|
27
|
-
minHealthPercent?: number;
|
|
28
|
-
maxHealthPercent?: number;
|
|
29
|
-
maxDistance?: number;
|
|
30
|
-
minDistance?: number;
|
|
31
|
-
requireLOS?: boolean;
|
|
32
|
-
custom?: (entity: TargetableEntity) => boolean;
|
|
33
|
-
}
|
|
34
|
-
export type TargetPriority = 'nearest' | 'farthest' | 'lowest-health' | 'highest-health' | 'lowest-health-percent' | 'highest-health-percent' | 'highest-threat' | 'lowest-threat' | 'random' | 'highest-priority' | 'custom';
|
|
35
|
-
export interface TargetingRules {
|
|
36
|
-
priority: TargetPriority;
|
|
37
|
-
maxTargets?: number;
|
|
38
|
-
requireLOS?: boolean;
|
|
39
|
-
stickyTarget?: boolean;
|
|
40
|
-
stickyThreshold?: number;
|
|
41
|
-
customSort?: (a: TargetableEntity, b: TargetableEntity, source: Vector2) => number;
|
|
42
|
-
}
|
|
43
|
-
export type FactionRelation = 'friendly' | 'neutral' | 'hostile';
|
|
44
|
-
export interface FactionConfig {
|
|
45
|
-
id: FactionId;
|
|
46
|
-
name: string;
|
|
47
|
-
relations: Map<FactionId, FactionRelation>;
|
|
48
|
-
}
|
|
49
|
-
export interface TargetLock {
|
|
50
|
-
sourceId: EntityId;
|
|
51
|
-
targetId: EntityId;
|
|
52
|
-
lockTime: number;
|
|
53
|
-
lockDuration: number;
|
|
54
|
-
breakOnLOS?: boolean;
|
|
55
|
-
breakOnDistance?: number;
|
|
56
|
-
}
|
|
57
|
-
export type TargetEventType = 'target-acquired' | 'target-lost' | 'target-changed' | 'target-locked' | 'target-unlocked' | 'threat-changed' | 'los-gained' | 'los-lost';
|
|
58
|
-
export interface TargetEvent {
|
|
59
|
-
type: TargetEventType;
|
|
60
|
-
sourceId: EntityId;
|
|
61
|
-
targetId?: EntityId;
|
|
62
|
-
previousTargetId?: EntityId;
|
|
63
|
-
threat?: number;
|
|
64
|
-
}
|
|
65
|
-
export interface TargetingConfig {
|
|
66
|
-
defaultMaxDistance?: number;
|
|
67
|
-
defaultLOSRequired?: boolean;
|
|
68
|
-
threatDecayRate?: number;
|
|
69
|
-
threatDecayInterval?: number;
|
|
70
|
-
maxThreatTableSize?: number;
|
|
71
|
-
}
|
|
72
|
-
export declare const DEFAULT_TARGETING_CONFIG: TargetingConfig;
|
|
73
|
-
export declare class NiceTarget extends EventEmitter {
|
|
74
|
-
private entities;
|
|
75
|
-
private factions;
|
|
76
|
-
private currentTargets;
|
|
77
|
-
private targetLocks;
|
|
78
|
-
private losCache;
|
|
79
|
-
private losCacheTime;
|
|
80
|
-
private config;
|
|
81
|
-
private losChecker?;
|
|
82
|
-
constructor(config?: Partial<TargetingConfig>);
|
|
83
|
-
setLOSChecker(checker: (from: Vector2, to: Vector2) => boolean): void;
|
|
84
|
-
registerFaction(faction: FactionConfig): void;
|
|
85
|
-
unregisterFaction(factionId: FactionId): boolean;
|
|
86
|
-
setRelation(faction1: FactionId, faction2: FactionId, relation: FactionRelation): void;
|
|
87
|
-
getRelation(faction1: FactionId, faction2: FactionId): FactionRelation;
|
|
88
|
-
isHostile(faction1: FactionId, faction2: FactionId): boolean;
|
|
89
|
-
isFriendly(faction1: FactionId, faction2: FactionId): boolean;
|
|
90
|
-
registerEntity(entity: TargetableEntity): void;
|
|
91
|
-
unregisterEntity(entityId: EntityId): void;
|
|
92
|
-
updateEntity(entityId: EntityId, updates: Partial<TargetableEntity>): void;
|
|
93
|
-
setPosition(entityId: EntityId, position: Vector2): void;
|
|
94
|
-
findTargets(sourceId: EntityId, filter?: TargetFilter, rules?: TargetingRules): TargetableEntity[];
|
|
95
|
-
private matchesFilter;
|
|
96
|
-
private sortByPriority;
|
|
97
|
-
acquireTarget(sourceId: EntityId, filter?: TargetFilter, rules?: TargetingRules): EntityId | null;
|
|
98
|
-
clearTarget(sourceId: EntityId): void;
|
|
99
|
-
getCurrentTarget(sourceId: EntityId): EntityId | null;
|
|
100
|
-
lockTarget(sourceId: EntityId, targetId: EntityId, duration: number, options?: {
|
|
101
|
-
breakOnLOS?: boolean;
|
|
102
|
-
breakOnDistance?: number;
|
|
103
|
-
}): void;
|
|
104
|
-
unlockTarget(sourceId: EntityId): void;
|
|
105
|
-
isTargetLocked(sourceId: EntityId): boolean;
|
|
106
|
-
hasLOS(from: Vector2, to: Vector2): boolean;
|
|
107
|
-
checkLOS(sourceId: EntityId, targetId: EntityId): boolean;
|
|
108
|
-
clearLOSCache(): void;
|
|
109
|
-
addThreat(sourceId: EntityId, targetId: EntityId, amount: number): void;
|
|
110
|
-
getThreat(sourceId: EntityId, targetId: EntityId): number;
|
|
111
|
-
getHighestThreat(sourceId: EntityId): EntityId | null;
|
|
112
|
-
clearThreat(sourceId: EntityId, targetId?: EntityId): void;
|
|
113
|
-
getDistance(from: Vector2, to: Vector2): number;
|
|
114
|
-
getDistanceBetween(entityId1: EntityId, entityId2: EntityId): number;
|
|
115
|
-
isInRange(sourceId: EntityId, targetId: EntityId, range: number): boolean;
|
|
116
|
-
update(_deltaTime: number): void;
|
|
117
|
-
}
|
|
118
|
-
export declare function createTargetingSystem(config?: Partial<TargetingConfig>): NiceTarget;
|
|
119
|
-
export declare function createFaction(id: FactionId, name: string, relations?: Map<FactionId, FactionRelation>): FactionConfig;
|
|
120
|
-
export declare function createTargetFilter(filter: TargetFilter): TargetFilter;
|
|
121
|
-
export default NiceTarget;
|