@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,174 +0,0 @@
|
|
|
1
|
-
export type WaveId = string;
|
|
2
|
-
export type EnemyType = string;
|
|
3
|
-
export type SpawnPointId = string;
|
|
4
|
-
export interface SpawnEntry {
|
|
5
|
-
enemyType: EnemyType;
|
|
6
|
-
count: number;
|
|
7
|
-
delay?: number;
|
|
8
|
-
interval?: number;
|
|
9
|
-
spawnPoint?: SpawnPointId | SpawnPointId[];
|
|
10
|
-
modifiers?: EnemyModifier[];
|
|
11
|
-
}
|
|
12
|
-
export interface EnemyModifier {
|
|
13
|
-
type: 'health' | 'speed' | 'damage' | 'armor' | 'reward' | 'custom';
|
|
14
|
-
value: number;
|
|
15
|
-
operation: 'add' | 'multiply' | 'set';
|
|
16
|
-
}
|
|
17
|
-
export interface WaveDefinition {
|
|
18
|
-
id: WaveId;
|
|
19
|
-
name?: string;
|
|
20
|
-
spawns: SpawnEntry[];
|
|
21
|
-
duration?: number;
|
|
22
|
-
intermissionTime: number;
|
|
23
|
-
isBossWave: boolean;
|
|
24
|
-
bonusObjectives?: WaveObjective[];
|
|
25
|
-
startDelay?: number;
|
|
26
|
-
modifiers?: WaveModifier[];
|
|
27
|
-
}
|
|
28
|
-
export interface WaveObjective {
|
|
29
|
-
id: string;
|
|
30
|
-
description: string;
|
|
31
|
-
type: 'time' | 'no-damage' | 'kill-all' | 'custom';
|
|
32
|
-
target?: number;
|
|
33
|
-
reward?: {
|
|
34
|
-
type: string;
|
|
35
|
-
amount: number;
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
export interface WaveModifier {
|
|
39
|
-
id: string;
|
|
40
|
-
name: string;
|
|
41
|
-
description?: string;
|
|
42
|
-
effects: EnemyModifier[];
|
|
43
|
-
spawnRateMultiplier?: number;
|
|
44
|
-
}
|
|
45
|
-
export interface SpawnPoint {
|
|
46
|
-
id: SpawnPointId;
|
|
47
|
-
position: {
|
|
48
|
-
x: number;
|
|
49
|
-
y: number;
|
|
50
|
-
z?: number;
|
|
51
|
-
};
|
|
52
|
-
direction?: number;
|
|
53
|
-
active: boolean;
|
|
54
|
-
weight: number;
|
|
55
|
-
allowedTypes?: EnemyType[];
|
|
56
|
-
excludedTypes?: EnemyType[];
|
|
57
|
-
}
|
|
58
|
-
export type WaveState = 'idle' | 'starting' | 'active' | 'clearing' | 'intermission' | 'completed' | 'failed';
|
|
59
|
-
export interface WaveProgress {
|
|
60
|
-
currentWave: number;
|
|
61
|
-
totalWaves: number;
|
|
62
|
-
state: WaveState;
|
|
63
|
-
waveStartTime: number;
|
|
64
|
-
waveElapsed: number;
|
|
65
|
-
intermissionRemaining: number;
|
|
66
|
-
enemiesSpawned: number;
|
|
67
|
-
enemiesKilled: number;
|
|
68
|
-
enemiesRemaining: number;
|
|
69
|
-
isEndless: boolean;
|
|
70
|
-
}
|
|
71
|
-
export interface SpawnRequest {
|
|
72
|
-
enemyType: EnemyType;
|
|
73
|
-
position: {
|
|
74
|
-
x: number;
|
|
75
|
-
y: number;
|
|
76
|
-
z?: number;
|
|
77
|
-
};
|
|
78
|
-
direction?: number;
|
|
79
|
-
modifiers: EnemyModifier[];
|
|
80
|
-
waveNumber: number;
|
|
81
|
-
spawnPointId: SpawnPointId;
|
|
82
|
-
}
|
|
83
|
-
export interface DifficultyScaling {
|
|
84
|
-
waveMultiplier: number;
|
|
85
|
-
healthScale: number;
|
|
86
|
-
damageScale: number;
|
|
87
|
-
speedScale: number;
|
|
88
|
-
spawnRateScale: number;
|
|
89
|
-
rewardScale: number;
|
|
90
|
-
}
|
|
91
|
-
export type WaveEventType = 'wave-starting' | 'wave-started' | 'wave-cleared' | 'wave-failed' | 'intermission-started' | 'intermission-ended' | 'enemy-spawned' | 'enemy-killed' | 'boss-spawned' | 'boss-killed' | 'objective-completed' | 'objective-failed' | 'all-waves-completed' | 'endless-milestone';
|
|
92
|
-
export interface WaveEvent {
|
|
93
|
-
type: WaveEventType;
|
|
94
|
-
timestamp: number;
|
|
95
|
-
waveNumber?: number;
|
|
96
|
-
data?: unknown;
|
|
97
|
-
}
|
|
98
|
-
export type WaveEventCallback = (event: WaveEvent) => void;
|
|
99
|
-
export interface WaveConfig {
|
|
100
|
-
/** Default intermission time */
|
|
101
|
-
defaultIntermission: number;
|
|
102
|
-
/** Auto-start waves */
|
|
103
|
-
autoStart: boolean;
|
|
104
|
-
/** Enable endless mode after defined waves */
|
|
105
|
-
enableEndless: boolean;
|
|
106
|
-
/** Endless mode difficulty increase per wave */
|
|
107
|
-
endlessDifficultyScale: number;
|
|
108
|
-
/** Base spawn rate (enemies/second) */
|
|
109
|
-
baseSpawnRate: number;
|
|
110
|
-
/** Count down timer for wave start */
|
|
111
|
-
startCountdown: number;
|
|
112
|
-
}
|
|
113
|
-
export declare const DEFAULT_WAVE_CONFIG: WaveConfig;
|
|
114
|
-
export type SpawnCallback = (request: SpawnRequest) => void;
|
|
115
|
-
export declare class NiceWave {
|
|
116
|
-
private config;
|
|
117
|
-
private waves;
|
|
118
|
-
private spawnPoints;
|
|
119
|
-
private currentWaveIndex;
|
|
120
|
-
private state;
|
|
121
|
-
private pendingSpawns;
|
|
122
|
-
private spawnCallback?;
|
|
123
|
-
private enemiesSpawned;
|
|
124
|
-
private enemiesKilled;
|
|
125
|
-
private activeEnemyIds;
|
|
126
|
-
private waveStartTime;
|
|
127
|
-
private intermissionEndTime;
|
|
128
|
-
private startCountdownTime;
|
|
129
|
-
private difficulty;
|
|
130
|
-
private activeObjectives;
|
|
131
|
-
private eventListeners;
|
|
132
|
-
constructor(config?: Partial<WaveConfig>);
|
|
133
|
-
on(event: WaveEventType, callback: WaveEventCallback): () => void;
|
|
134
|
-
private emit;
|
|
135
|
-
setSpawnCallback(callback: SpawnCallback): void;
|
|
136
|
-
defineWaves(waves: WaveDefinition[]): void;
|
|
137
|
-
addWave(wave: WaveDefinition): void;
|
|
138
|
-
getWave(index: number): WaveDefinition | undefined;
|
|
139
|
-
getCurrentWave(): WaveDefinition | undefined;
|
|
140
|
-
private generateEndlessWave;
|
|
141
|
-
addSpawnPoint(spawnPoint: SpawnPoint): void;
|
|
142
|
-
removeSpawnPoint(id: SpawnPointId): void;
|
|
143
|
-
setSpawnPointActive(id: SpawnPointId, active: boolean): void;
|
|
144
|
-
getSpawnPoints(): SpawnPoint[];
|
|
145
|
-
private selectSpawnPoint;
|
|
146
|
-
start(): void;
|
|
147
|
-
startWave(): void;
|
|
148
|
-
private beginSpawning;
|
|
149
|
-
skipIntermission(): void;
|
|
150
|
-
pause(): void;
|
|
151
|
-
resume(): void;
|
|
152
|
-
abort(): void;
|
|
153
|
-
reset(): void;
|
|
154
|
-
registerEnemy(enemyId: string): void;
|
|
155
|
-
onEnemyKilled(enemyId: string, isBoss?: boolean): void;
|
|
156
|
-
onEnemyEscaped(enemyId: string): void;
|
|
157
|
-
private checkWaveCleared;
|
|
158
|
-
private onWaveCleared;
|
|
159
|
-
update(deltaTime: number): void;
|
|
160
|
-
private updateStarting;
|
|
161
|
-
private updateActive;
|
|
162
|
-
private updateIntermission;
|
|
163
|
-
private spawnEnemy;
|
|
164
|
-
setDifficulty(scaling: Partial<DifficultyScaling>): void;
|
|
165
|
-
resetDifficulty(): void;
|
|
166
|
-
getDifficulty(): DifficultyScaling;
|
|
167
|
-
getProgress(): WaveProgress;
|
|
168
|
-
getState(): WaveState;
|
|
169
|
-
getActiveEnemyCount(): number;
|
|
170
|
-
getObjectiveProgress(objectiveId: string): number;
|
|
171
|
-
isObjectiveCompleted(objectiveId: string): boolean;
|
|
172
|
-
destroy(): void;
|
|
173
|
-
}
|
|
174
|
-
export declare function createWaveSystem(config?: Partial<WaveConfig>): NiceWave;
|
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
export type WaypointId = string;
|
|
2
|
-
export type NetworkId = string;
|
|
3
|
-
export type WaypointType = 'default' | 'city' | 'dungeon' | 'outpost' | 'shrine' | 'portal' | 'custom';
|
|
4
|
-
export interface WaypointDefinition {
|
|
5
|
-
id: WaypointId;
|
|
6
|
-
name: string;
|
|
7
|
-
description?: string;
|
|
8
|
-
type: WaypointType;
|
|
9
|
-
position: {
|
|
10
|
-
x: number;
|
|
11
|
-
y: number;
|
|
12
|
-
z?: number;
|
|
13
|
-
};
|
|
14
|
-
zone: string;
|
|
15
|
-
region?: string;
|
|
16
|
-
networkId?: NetworkId;
|
|
17
|
-
levelRequired?: number;
|
|
18
|
-
questRequired?: string;
|
|
19
|
-
reputationRequired?: Array<{
|
|
20
|
-
factionId: string;
|
|
21
|
-
amount: number;
|
|
22
|
-
}>;
|
|
23
|
-
autoDiscover: boolean;
|
|
24
|
-
discoverRadius?: number;
|
|
25
|
-
canTravelFrom: boolean;
|
|
26
|
-
canTravelTo: boolean;
|
|
27
|
-
baseCost?: number;
|
|
28
|
-
currencyType?: string;
|
|
29
|
-
icon?: string;
|
|
30
|
-
color?: string;
|
|
31
|
-
enabled: boolean;
|
|
32
|
-
temporary?: boolean;
|
|
33
|
-
expiresAt?: number;
|
|
34
|
-
tags?: string[];
|
|
35
|
-
}
|
|
36
|
-
export interface WaypointNetwork {
|
|
37
|
-
id: NetworkId;
|
|
38
|
-
name: string;
|
|
39
|
-
description?: string;
|
|
40
|
-
bidirectional: boolean;
|
|
41
|
-
connections: WaypointConnection[];
|
|
42
|
-
accessRequirement?: string;
|
|
43
|
-
costMultiplier: number;
|
|
44
|
-
}
|
|
45
|
-
export interface WaypointConnection {
|
|
46
|
-
fromId: WaypointId;
|
|
47
|
-
toId: WaypointId;
|
|
48
|
-
levelRequired?: number;
|
|
49
|
-
questRequired?: string;
|
|
50
|
-
cost?: number;
|
|
51
|
-
travelTime?: number;
|
|
52
|
-
enabled: boolean;
|
|
53
|
-
}
|
|
54
|
-
export interface TravelRequest {
|
|
55
|
-
playerId: string;
|
|
56
|
-
fromWaypointId: WaypointId;
|
|
57
|
-
toWaypointId: WaypointId;
|
|
58
|
-
instant?: boolean;
|
|
59
|
-
skipCost?: boolean;
|
|
60
|
-
requestedAt: number;
|
|
61
|
-
}
|
|
62
|
-
export interface TravelResult {
|
|
63
|
-
success: boolean;
|
|
64
|
-
error?: string;
|
|
65
|
-
fromWaypoint: WaypointDefinition;
|
|
66
|
-
toWaypoint: WaypointDefinition;
|
|
67
|
-
costPaid?: number;
|
|
68
|
-
currencyType?: string;
|
|
69
|
-
travelTime?: number;
|
|
70
|
-
route?: WaypointId[];
|
|
71
|
-
timestamp: number;
|
|
72
|
-
}
|
|
73
|
-
export interface PlayerWaypointData {
|
|
74
|
-
playerId: string;
|
|
75
|
-
discoveredWaypoints: Set<WaypointId>;
|
|
76
|
-
discoveryHistory: Array<{
|
|
77
|
-
waypointId: WaypointId;
|
|
78
|
-
discoveredAt: number;
|
|
79
|
-
}>;
|
|
80
|
-
lastWaypointId?: WaypointId;
|
|
81
|
-
totalTravels: number;
|
|
82
|
-
totalDistanceTraveled: number;
|
|
83
|
-
totalCostSpent: number;
|
|
84
|
-
favoriteWaypoints: WaypointId[];
|
|
85
|
-
homeWaypointId?: WaypointId;
|
|
86
|
-
travelHistory: Array<{
|
|
87
|
-
from: WaypointId;
|
|
88
|
-
to: WaypointId;
|
|
89
|
-
timestamp: number;
|
|
90
|
-
cost: number;
|
|
91
|
-
}>;
|
|
92
|
-
}
|
|
93
|
-
export type WaypointEventType = 'waypoint-discovered' | 'waypoint-visited' | 'travel-started' | 'travel-completed' | 'travel-failed' | 'waypoint-enabled' | 'waypoint-disabled' | 'home-set' | 'favorite-added' | 'favorite-removed';
|
|
94
|
-
export interface WaypointEvent {
|
|
95
|
-
type: WaypointEventType;
|
|
96
|
-
timestamp: number;
|
|
97
|
-
data?: unknown;
|
|
98
|
-
}
|
|
99
|
-
export type WaypointEventCallback = (event: WaypointEvent) => void;
|
|
100
|
-
export interface WaypointConfig {
|
|
101
|
-
baseTravelCost: number;
|
|
102
|
-
costPerDistance: number;
|
|
103
|
-
maxTravelDistance: number;
|
|
104
|
-
instantTravel: boolean;
|
|
105
|
-
travelSpeed: number;
|
|
106
|
-
maxFavorites: number;
|
|
107
|
-
enableHomepoint: boolean;
|
|
108
|
-
homepointCooldown: number;
|
|
109
|
-
storageKey: string;
|
|
110
|
-
}
|
|
111
|
-
export declare const DEFAULT_WAYPOINT_CONFIG: WaypointConfig;
|
|
112
|
-
export declare class NiceWaypoint {
|
|
113
|
-
private config;
|
|
114
|
-
private waypoints;
|
|
115
|
-
private networks;
|
|
116
|
-
private playerData;
|
|
117
|
-
private eventListeners;
|
|
118
|
-
private onCanTravelCheck?;
|
|
119
|
-
private onDeductCost?;
|
|
120
|
-
constructor(config?: Partial<WaypointConfig>);
|
|
121
|
-
on(event: WaypointEventType, callback: WaypointEventCallback): () => void;
|
|
122
|
-
private emit;
|
|
123
|
-
setCanTravelCheck(check: typeof this.onCanTravelCheck): void;
|
|
124
|
-
setCostDeductionHandler(handler: typeof this.onDeductCost): void;
|
|
125
|
-
registerWaypoint(waypoint: WaypointDefinition): void;
|
|
126
|
-
registerNetwork(network: WaypointNetwork): void;
|
|
127
|
-
addConnection(networkId: NetworkId, connection: WaypointConnection): void;
|
|
128
|
-
discoverWaypoint(playerId: string, waypointId: WaypointId): boolean;
|
|
129
|
-
checkAutoDiscover(playerId: string, position: {
|
|
130
|
-
x: number;
|
|
131
|
-
y: number;
|
|
132
|
-
z?: number;
|
|
133
|
-
}): WaypointDefinition[];
|
|
134
|
-
travel(request: TravelRequest): TravelResult;
|
|
135
|
-
teleportHome(playerId: string): TravelResult | null;
|
|
136
|
-
private calculateTravelCost;
|
|
137
|
-
getTravelCostPreview(playerId: string, fromWaypointId: WaypointId, toWaypointId: WaypointId): {
|
|
138
|
-
cost: number;
|
|
139
|
-
currencyType: string;
|
|
140
|
-
canAfford: boolean;
|
|
141
|
-
} | null;
|
|
142
|
-
addFavorite(playerId: string, waypointId: WaypointId): boolean;
|
|
143
|
-
removeFavorite(playerId: string, waypointId: WaypointId): boolean;
|
|
144
|
-
setHomeWaypoint(playerId: string, waypointId: WaypointId): boolean;
|
|
145
|
-
getWaypoint(id: WaypointId): WaypointDefinition | undefined;
|
|
146
|
-
getAllWaypoints(): WaypointDefinition[];
|
|
147
|
-
getEnabledWaypoints(): WaypointDefinition[];
|
|
148
|
-
getWaypointsByZone(zone: string): WaypointDefinition[];
|
|
149
|
-
getWaypointsByType(type: WaypointType): WaypointDefinition[];
|
|
150
|
-
getNetwork(id: NetworkId): WaypointNetwork | undefined;
|
|
151
|
-
getConnectedWaypoints(waypointId: WaypointId): WaypointDefinition[];
|
|
152
|
-
getDiscoveredWaypoints(playerId: string): WaypointDefinition[];
|
|
153
|
-
getFavoriteWaypoints(playerId: string): WaypointDefinition[];
|
|
154
|
-
getHomeWaypoint(playerId: string): WaypointDefinition | undefined;
|
|
155
|
-
getPlayerData(playerId: string): PlayerWaypointData | undefined;
|
|
156
|
-
isDiscovered(playerId: string, waypointId: WaypointId): boolean;
|
|
157
|
-
findPath(fromId: WaypointId, toId: WaypointId): WaypointId[] | null;
|
|
158
|
-
private calculateDistance;
|
|
159
|
-
private getOrCreatePlayerData;
|
|
160
|
-
private save;
|
|
161
|
-
private load;
|
|
162
|
-
reset(): void;
|
|
163
|
-
destroy(): void;
|
|
164
|
-
}
|
|
165
|
-
export declare function createWaypointSystem(config?: Partial<WaypointConfig>): NiceWaypoint;
|
|
@@ -1,225 +0,0 @@
|
|
|
1
|
-
export type WeatherId = string;
|
|
2
|
-
export type BiomeId = string;
|
|
3
|
-
export type SeasonId = 'spring' | 'summer' | 'autumn' | 'winter';
|
|
4
|
-
export type TimeOfDay = 'night' | 'dawn' | 'morning' | 'noon' | 'afternoon' | 'dusk' | 'evening';
|
|
5
|
-
export interface WeatherDefinition {
|
|
6
|
-
id: WeatherId;
|
|
7
|
-
name: string;
|
|
8
|
-
description: string;
|
|
9
|
-
intensity: number;
|
|
10
|
-
/** Base temperature modifier (celsius) */
|
|
11
|
-
temperatureModifier: number;
|
|
12
|
-
/** Visibility multiplier (0-1) */
|
|
13
|
-
visibility: number;
|
|
14
|
-
/** Wind speed (m/s) */
|
|
15
|
-
windSpeed: number;
|
|
16
|
-
/** Wind direction (degrees) */
|
|
17
|
-
windDirection: number;
|
|
18
|
-
/** Precipitation level (0-1) */
|
|
19
|
-
precipitation: number;
|
|
20
|
-
/** Cloud coverage (0-1) */
|
|
21
|
-
cloudCoverage: number;
|
|
22
|
-
/** Fog density (0-1) */
|
|
23
|
-
fogDensity: number;
|
|
24
|
-
/** Lightning chance per minute */
|
|
25
|
-
lightningChance: number;
|
|
26
|
-
/** Sound effects to play */
|
|
27
|
-
sounds?: string[];
|
|
28
|
-
/** Particle effects */
|
|
29
|
-
particles?: string[];
|
|
30
|
-
/** Can transition to */
|
|
31
|
-
transitions: WeatherId[];
|
|
32
|
-
/** Weight for random selection */
|
|
33
|
-
weight: number;
|
|
34
|
-
/** Seasons this weather can occur */
|
|
35
|
-
seasons: SeasonId[];
|
|
36
|
-
/** Biomes this weather can occur */
|
|
37
|
-
biomes?: BiomeId[];
|
|
38
|
-
/** Min/max duration in game hours */
|
|
39
|
-
duration: {
|
|
40
|
-
min: number;
|
|
41
|
-
max: number;
|
|
42
|
-
};
|
|
43
|
-
/** Custom data */
|
|
44
|
-
customData?: Record<string, unknown>;
|
|
45
|
-
}
|
|
46
|
-
export interface WeatherState {
|
|
47
|
-
current: WeatherId;
|
|
48
|
-
intensity: number;
|
|
49
|
-
transitioning: boolean;
|
|
50
|
-
transitionTarget?: WeatherId;
|
|
51
|
-
transitionProgress: number;
|
|
52
|
-
duration: number;
|
|
53
|
-
elapsed: number;
|
|
54
|
-
}
|
|
55
|
-
export interface WeatherForecast {
|
|
56
|
-
weather: WeatherId;
|
|
57
|
-
startTime: number;
|
|
58
|
-
duration: number;
|
|
59
|
-
intensity: number;
|
|
60
|
-
}
|
|
61
|
-
export interface TimeState {
|
|
62
|
-
/** Current game time in seconds */
|
|
63
|
-
time: number;
|
|
64
|
-
/** Current day */
|
|
65
|
-
day: number;
|
|
66
|
-
/** Current month (1-12) */
|
|
67
|
-
month: number;
|
|
68
|
-
/** Current year */
|
|
69
|
-
year: number;
|
|
70
|
-
/** Time of day category */
|
|
71
|
-
timeOfDay: TimeOfDay;
|
|
72
|
-
/** Hour (0-23) */
|
|
73
|
-
hour: number;
|
|
74
|
-
/** Minute (0-59) */
|
|
75
|
-
minute: number;
|
|
76
|
-
/** Second (0-59) */
|
|
77
|
-
second: number;
|
|
78
|
-
/** Time scale multiplier */
|
|
79
|
-
timeScale: number;
|
|
80
|
-
/** Is time paused */
|
|
81
|
-
paused: boolean;
|
|
82
|
-
}
|
|
83
|
-
export interface TimeConfig {
|
|
84
|
-
/** Real seconds per game hour */
|
|
85
|
-
secondsPerHour: number;
|
|
86
|
-
/** Days per month */
|
|
87
|
-
daysPerMonth: number;
|
|
88
|
-
/** Months per year */
|
|
89
|
-
monthsPerYear: number;
|
|
90
|
-
/** Starting year */
|
|
91
|
-
startYear: number;
|
|
92
|
-
/** Dawn hour */
|
|
93
|
-
dawnHour: number;
|
|
94
|
-
/** Dusk hour */
|
|
95
|
-
duskHour: number;
|
|
96
|
-
}
|
|
97
|
-
export interface SeasonDefinition {
|
|
98
|
-
id: SeasonId;
|
|
99
|
-
name: string;
|
|
100
|
-
months: number[];
|
|
101
|
-
temperatureBase: number;
|
|
102
|
-
dayLengthModifier: number;
|
|
103
|
-
weatherWeights: Partial<Record<WeatherId, number>>;
|
|
104
|
-
}
|
|
105
|
-
export interface BiomeDefinition {
|
|
106
|
-
id: BiomeId;
|
|
107
|
-
name: string;
|
|
108
|
-
baseTemperature: number;
|
|
109
|
-
baseHumidity: number;
|
|
110
|
-
weatherWeights: Partial<Record<WeatherId, number>>;
|
|
111
|
-
excludedWeather: WeatherId[];
|
|
112
|
-
}
|
|
113
|
-
export interface EnvironmentState {
|
|
114
|
-
/** Current ambient temperature (celsius) */
|
|
115
|
-
temperature: number;
|
|
116
|
-
/** Humidity (0-1) */
|
|
117
|
-
humidity: number;
|
|
118
|
-
/** Sun position (0-1, 0=midnight, 0.5=noon) */
|
|
119
|
-
sunPosition: number;
|
|
120
|
-
/** Sun intensity (0-1) */
|
|
121
|
-
sunIntensity: number;
|
|
122
|
-
/** Moon phase (0-7) */
|
|
123
|
-
moonPhase: number;
|
|
124
|
-
/** Moon intensity (0-1) */
|
|
125
|
-
moonIntensity: number;
|
|
126
|
-
/** Ambient light color */
|
|
127
|
-
ambientColor: {
|
|
128
|
-
r: number;
|
|
129
|
-
g: number;
|
|
130
|
-
b: number;
|
|
131
|
-
};
|
|
132
|
-
/** Sky color */
|
|
133
|
-
skyColor: {
|
|
134
|
-
r: number;
|
|
135
|
-
g: number;
|
|
136
|
-
b: number;
|
|
137
|
-
};
|
|
138
|
-
/** Is indoor */
|
|
139
|
-
isIndoor: boolean;
|
|
140
|
-
/** Stars visibility (0-1) */
|
|
141
|
-
starsVisibility: number;
|
|
142
|
-
}
|
|
143
|
-
export type WeatherEventType = 'weather-changed' | 'weather-transition-start' | 'weather-transition-end' | 'time-changed' | 'hour-changed' | 'day-changed' | 'season-changed' | 'time-of-day-changed' | 'lightning-strike' | 'update';
|
|
144
|
-
export interface WeatherEvent {
|
|
145
|
-
type: WeatherEventType;
|
|
146
|
-
timestamp: number;
|
|
147
|
-
data: unknown;
|
|
148
|
-
}
|
|
149
|
-
export type WeatherEventCallback = (event: WeatherEvent) => void;
|
|
150
|
-
export interface WeatherSystemConfig {
|
|
151
|
-
time: TimeConfig;
|
|
152
|
-
/** Update interval in ms */
|
|
153
|
-
updateInterval: number;
|
|
154
|
-
/** Enable weather system */
|
|
155
|
-
enableWeather: boolean;
|
|
156
|
-
/** Enable time system */
|
|
157
|
-
enableTime: boolean;
|
|
158
|
-
/** Latitude for sun calculation (-90 to 90) */
|
|
159
|
-
latitude: number;
|
|
160
|
-
/** Auto-save state */
|
|
161
|
-
autoSave: boolean;
|
|
162
|
-
/** Storage key */
|
|
163
|
-
storageKey: string;
|
|
164
|
-
}
|
|
165
|
-
export declare const DEFAULT_WEATHER_CONFIG: WeatherSystemConfig;
|
|
166
|
-
export declare const DEFAULT_WEATHER_PRESETS: WeatherDefinition[];
|
|
167
|
-
export declare const DEFAULT_SEASONS: SeasonDefinition[];
|
|
168
|
-
export declare class NiceWeather {
|
|
169
|
-
private config;
|
|
170
|
-
private weatherDefinitions;
|
|
171
|
-
private seasons;
|
|
172
|
-
private biomes;
|
|
173
|
-
private currentBiome;
|
|
174
|
-
private weatherState;
|
|
175
|
-
private timeState;
|
|
176
|
-
private environmentState;
|
|
177
|
-
private updateTimer;
|
|
178
|
-
private eventListeners;
|
|
179
|
-
private forecast;
|
|
180
|
-
constructor(config?: Partial<WeatherSystemConfig>);
|
|
181
|
-
on(event: WeatherEventType, callback: WeatherEventCallback): () => void;
|
|
182
|
-
private emit;
|
|
183
|
-
registerWeather(weather: WeatherDefinition): void;
|
|
184
|
-
registerWeathers(weathers: WeatherDefinition[]): void;
|
|
185
|
-
getWeather(id: WeatherId): WeatherDefinition | undefined;
|
|
186
|
-
getAllWeathers(): WeatherDefinition[];
|
|
187
|
-
registerSeason(season: SeasonDefinition): void;
|
|
188
|
-
getSeason(id: SeasonId): SeasonDefinition | undefined;
|
|
189
|
-
getCurrentSeason(): SeasonDefinition | undefined;
|
|
190
|
-
getSeasonForMonth(month: number): SeasonDefinition | undefined;
|
|
191
|
-
registerBiome(biome: BiomeDefinition): void;
|
|
192
|
-
setBiome(biomeId: BiomeId | null): void;
|
|
193
|
-
getCurrentBiome(): BiomeDefinition | undefined;
|
|
194
|
-
setWeather(weatherId: WeatherId, transition?: boolean): void;
|
|
195
|
-
private randomFloat;
|
|
196
|
-
private selectNextWeather;
|
|
197
|
-
setTime(hour: number, minute?: number, second?: number): void;
|
|
198
|
-
setDate(day: number, month: number, year: number): void;
|
|
199
|
-
setTimeScale(scale: number): void;
|
|
200
|
-
pauseTime(): void;
|
|
201
|
-
resumeTime(): void;
|
|
202
|
-
advanceTime(hours: number): void;
|
|
203
|
-
private advanceDay;
|
|
204
|
-
private updateTimeState;
|
|
205
|
-
private updateTimeOfDay;
|
|
206
|
-
setIndoor(indoor: boolean): void;
|
|
207
|
-
private startUpdateTimer;
|
|
208
|
-
update(deltaSeconds: number): void;
|
|
209
|
-
private updateWeather;
|
|
210
|
-
private updateEnvironment;
|
|
211
|
-
generateForecast(hours: number): WeatherForecast[];
|
|
212
|
-
getForecast(): WeatherForecast[];
|
|
213
|
-
getWeatherState(): WeatherState;
|
|
214
|
-
getTimeState(): TimeState;
|
|
215
|
-
getEnvironmentState(): EnvironmentState;
|
|
216
|
-
getCurrentWeatherDefinition(): WeatherDefinition | undefined;
|
|
217
|
-
getFormattedTime(): string;
|
|
218
|
-
getFormattedDate(): string;
|
|
219
|
-
save(): string;
|
|
220
|
-
load(data: string): void;
|
|
221
|
-
saveToStorage(): void;
|
|
222
|
-
loadFromStorage(): boolean;
|
|
223
|
-
destroy(): void;
|
|
224
|
-
}
|
|
225
|
-
export declare function createWeatherSystem(config?: Partial<WeatherSystemConfig>): NiceWeather;
|