@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,112 +0,0 @@
|
|
|
1
|
-
export type SceneId = string;
|
|
2
|
-
export type SceneGroupId = string;
|
|
3
|
-
export type SceneState = 'unloaded' | 'loading' | 'loaded' | 'active' | 'unloading' | 'paused';
|
|
4
|
-
export interface SceneDefinition {
|
|
5
|
-
id: SceneId;
|
|
6
|
-
name: string;
|
|
7
|
-
/** Scene group */
|
|
8
|
-
group?: SceneGroupId;
|
|
9
|
-
/** Assets to preload */
|
|
10
|
-
assets?: string[];
|
|
11
|
-
/** Persistent between loads */
|
|
12
|
-
persistent?: boolean;
|
|
13
|
-
/** Dependencies (load these first) */
|
|
14
|
-
dependencies?: SceneId[];
|
|
15
|
-
/** Custom data */
|
|
16
|
-
metadata?: Record<string, unknown>;
|
|
17
|
-
/** Lifecycle callbacks */
|
|
18
|
-
onLoad?: (scene: SceneInstance) => void | Promise<void>;
|
|
19
|
-
onUnload?: (scene: SceneInstance) => void | Promise<void>;
|
|
20
|
-
onActivate?: (scene: SceneInstance) => void;
|
|
21
|
-
onDeactivate?: (scene: SceneInstance) => void;
|
|
22
|
-
onUpdate?: (scene: SceneInstance, deltaTime: number) => void;
|
|
23
|
-
}
|
|
24
|
-
export interface SceneInstance {
|
|
25
|
-
definition: SceneDefinition;
|
|
26
|
-
state: SceneState;
|
|
27
|
-
loadProgress: number;
|
|
28
|
-
loadTime?: number;
|
|
29
|
-
activatedAt?: number;
|
|
30
|
-
data: Record<string, unknown>;
|
|
31
|
-
}
|
|
32
|
-
export type TransitionType = 'none' | 'fade' | 'crossfade' | 'slide-left' | 'slide-right' | 'slide-up' | 'slide-down' | 'zoom' | 'custom';
|
|
33
|
-
export interface SceneTransition {
|
|
34
|
-
type: TransitionType;
|
|
35
|
-
duration: number;
|
|
36
|
-
easing?: string;
|
|
37
|
-
color?: string;
|
|
38
|
-
customRender?: (progress: number, fromScene?: SceneId, toScene?: SceneId) => void;
|
|
39
|
-
}
|
|
40
|
-
export declare const DEFAULT_TRANSITION: SceneTransition;
|
|
41
|
-
export interface LoadingScreen {
|
|
42
|
-
render: (progress: number, sceneName: string) => void;
|
|
43
|
-
minDisplayTime?: number;
|
|
44
|
-
}
|
|
45
|
-
export type SceneEventType = 'scene-registered' | 'scene-load-start' | 'scene-load-progress' | 'scene-load-complete' | 'scene-activated' | 'scene-deactivated' | 'scene-unload-start' | 'scene-unload-complete' | 'transition-start' | 'transition-complete' | 'error';
|
|
46
|
-
export interface SceneEvent {
|
|
47
|
-
type: SceneEventType;
|
|
48
|
-
timestamp: number;
|
|
49
|
-
sceneId?: SceneId;
|
|
50
|
-
data?: unknown;
|
|
51
|
-
}
|
|
52
|
-
export type SceneEventCallback = (event: SceneEvent) => void;
|
|
53
|
-
export interface SceneManagerConfig {
|
|
54
|
-
/** Default transition */
|
|
55
|
-
defaultTransition: SceneTransition;
|
|
56
|
-
/** Loading screen */
|
|
57
|
-
loadingScreen?: LoadingScreen;
|
|
58
|
-
/** Auto-unload inactive scenes */
|
|
59
|
-
autoUnload: boolean;
|
|
60
|
-
/** Max scenes in memory */
|
|
61
|
-
maxLoadedScenes: number;
|
|
62
|
-
/** Preload next scene */
|
|
63
|
-
preloadNext: boolean;
|
|
64
|
-
}
|
|
65
|
-
export declare const DEFAULT_SCENE_CONFIG: SceneManagerConfig;
|
|
66
|
-
export declare class NiceScene {
|
|
67
|
-
private config;
|
|
68
|
-
private definitions;
|
|
69
|
-
private instances;
|
|
70
|
-
private groups;
|
|
71
|
-
private sceneStack;
|
|
72
|
-
private activeScene;
|
|
73
|
-
private persistentObjects;
|
|
74
|
-
private eventListeners;
|
|
75
|
-
private transitioning;
|
|
76
|
-
private transitionProgress;
|
|
77
|
-
constructor(config?: Partial<SceneManagerConfig>);
|
|
78
|
-
on(event: SceneEventType, callback: SceneEventCallback): () => void;
|
|
79
|
-
private emit;
|
|
80
|
-
register(definition: SceneDefinition): void;
|
|
81
|
-
registerMany(definitions: SceneDefinition[]): void;
|
|
82
|
-
load(sceneId: SceneId): Promise<SceneInstance>;
|
|
83
|
-
private simulateAssetLoad;
|
|
84
|
-
preload(sceneId: SceneId): Promise<void>;
|
|
85
|
-
activate(sceneId: SceneId, transition?: SceneTransition): Promise<void>;
|
|
86
|
-
private deactivate;
|
|
87
|
-
unload(sceneId: SceneId): Promise<void>;
|
|
88
|
-
private checkAutoUnload;
|
|
89
|
-
private performTransition;
|
|
90
|
-
isTransitioning(): boolean;
|
|
91
|
-
getTransitionProgress(): number;
|
|
92
|
-
push(sceneId: SceneId, transition?: SceneTransition): Promise<void>;
|
|
93
|
-
pop(transition?: SceneTransition): Promise<SceneId | null>;
|
|
94
|
-
replace(sceneId: SceneId, transition?: SceneTransition): Promise<void>;
|
|
95
|
-
update(deltaTime: number): void;
|
|
96
|
-
getActiveScene(): SceneId | null;
|
|
97
|
-
getActiveInstance(): SceneInstance | undefined;
|
|
98
|
-
getInstance(sceneId: SceneId): SceneInstance | undefined;
|
|
99
|
-
getSceneStack(): SceneId[];
|
|
100
|
-
isLoaded(sceneId: SceneId): boolean;
|
|
101
|
-
getLoadedScenes(): SceneId[];
|
|
102
|
-
getScenesByGroup(groupId: SceneGroupId): SceneId[];
|
|
103
|
-
markPersistent(objectId: string): void;
|
|
104
|
-
unmarkPersistent(objectId: string): void;
|
|
105
|
-
isPersistent(objectId: string): boolean;
|
|
106
|
-
getPersistentObjects(): string[];
|
|
107
|
-
setSceneData(sceneId: SceneId, key: string, value: unknown): void;
|
|
108
|
-
getSceneData<T = unknown>(sceneId: SceneId, key: string): T | undefined;
|
|
109
|
-
unloadAll(): Promise<void>;
|
|
110
|
-
destroy(): void;
|
|
111
|
-
}
|
|
112
|
-
export declare function createSceneManager(config?: Partial<SceneManagerConfig>): NiceScene;
|
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
export type ScoreboardId = string;
|
|
2
|
-
export type PlayerId = string;
|
|
3
|
-
export interface ScoreEntry {
|
|
4
|
-
playerId: PlayerId;
|
|
5
|
-
playerName: string;
|
|
6
|
-
score: number;
|
|
7
|
-
timestamp: number;
|
|
8
|
-
stats?: Record<string, number>;
|
|
9
|
-
metadata?: Record<string, unknown>;
|
|
10
|
-
}
|
|
11
|
-
export interface ComboState {
|
|
12
|
-
count: number;
|
|
13
|
-
multiplier: number;
|
|
14
|
-
maxCount: number;
|
|
15
|
-
timer: number;
|
|
16
|
-
timeout: number;
|
|
17
|
-
active: boolean;
|
|
18
|
-
lastActionTime: number;
|
|
19
|
-
category?: string;
|
|
20
|
-
}
|
|
21
|
-
export type MultiplierType = 'additive' | 'multiplicative';
|
|
22
|
-
export interface ScoreMultiplier {
|
|
23
|
-
id: string;
|
|
24
|
-
name: string;
|
|
25
|
-
value: number;
|
|
26
|
-
type: MultiplierType;
|
|
27
|
-
duration?: number;
|
|
28
|
-
startTime?: number;
|
|
29
|
-
source?: string;
|
|
30
|
-
stackable: boolean;
|
|
31
|
-
maxStacks?: number;
|
|
32
|
-
currentStacks: number;
|
|
33
|
-
}
|
|
34
|
-
export interface ScorePopup {
|
|
35
|
-
id: string;
|
|
36
|
-
value: number;
|
|
37
|
-
text?: string;
|
|
38
|
-
position: {
|
|
39
|
-
x: number;
|
|
40
|
-
y: number;
|
|
41
|
-
};
|
|
42
|
-
color?: string;
|
|
43
|
-
size?: 'small' | 'medium' | 'large';
|
|
44
|
-
duration: number;
|
|
45
|
-
startTime: number;
|
|
46
|
-
opacity: number;
|
|
47
|
-
offsetY: number;
|
|
48
|
-
}
|
|
49
|
-
export interface PlayerScoreState {
|
|
50
|
-
playerId: PlayerId;
|
|
51
|
-
score: number;
|
|
52
|
-
displayScore: number;
|
|
53
|
-
combo: ComboState;
|
|
54
|
-
multipliers: Map<string, ScoreMultiplier>;
|
|
55
|
-
totalMultiplier: number;
|
|
56
|
-
statistics: ScoreStatistics;
|
|
57
|
-
bonuses: Map<string, number>;
|
|
58
|
-
}
|
|
59
|
-
export interface ScoreStatistics {
|
|
60
|
-
totalPointsEarned: number;
|
|
61
|
-
highestScore: number;
|
|
62
|
-
highestCombo: number;
|
|
63
|
-
highestMultiplier: number;
|
|
64
|
-
gamesPlayed: number;
|
|
65
|
-
totalPlayTime: number;
|
|
66
|
-
averageScore: number;
|
|
67
|
-
pointsPerMinute: number;
|
|
68
|
-
customStats: Record<string, number>;
|
|
69
|
-
}
|
|
70
|
-
export interface ScoreAction {
|
|
71
|
-
type: string;
|
|
72
|
-
basePoints: number;
|
|
73
|
-
multiplierCategories?: string[];
|
|
74
|
-
comboCategory?: string;
|
|
75
|
-
bonusConditions?: Array<{
|
|
76
|
-
condition: () => boolean;
|
|
77
|
-
bonus: number;
|
|
78
|
-
name: string;
|
|
79
|
-
}>;
|
|
80
|
-
}
|
|
81
|
-
export type ScoreEventType = 'score-added' | 'score-subtracted' | 'score-set' | 'combo-started' | 'combo-increased' | 'combo-ended' | 'combo-milestone' | 'multiplier-added' | 'multiplier-removed' | 'multiplier-expired' | 'bonus-awarded' | 'high-score' | 'popup-created' | 'popup-removed';
|
|
82
|
-
export interface ScoreEvent {
|
|
83
|
-
type: ScoreEventType;
|
|
84
|
-
timestamp: number;
|
|
85
|
-
playerId?: PlayerId;
|
|
86
|
-
data?: unknown;
|
|
87
|
-
}
|
|
88
|
-
export type ScoreEventCallback = (event: ScoreEvent) => void;
|
|
89
|
-
export interface ScoreConfig {
|
|
90
|
-
/** Base combo timeout in seconds */
|
|
91
|
-
comboTimeout: number;
|
|
92
|
-
/** Combo multiplier formula: base + (count * increment) */
|
|
93
|
-
comboMultiplierBase: number;
|
|
94
|
-
comboMultiplierIncrement: number;
|
|
95
|
-
comboMultiplierMax: number;
|
|
96
|
-
/** Combo milestones for special effects */
|
|
97
|
-
comboMilestones: number[];
|
|
98
|
-
/** Score animation speed */
|
|
99
|
-
scoreAnimationSpeed: number;
|
|
100
|
-
/** Popup duration */
|
|
101
|
-
popupDuration: number;
|
|
102
|
-
/** Enable popups */
|
|
103
|
-
enablePopups: boolean;
|
|
104
|
-
/** Storage key */
|
|
105
|
-
storageKey: string;
|
|
106
|
-
/** Max high scores stored */
|
|
107
|
-
maxHighScores: number;
|
|
108
|
-
}
|
|
109
|
-
export declare const DEFAULT_SCORE_CONFIG: ScoreConfig;
|
|
110
|
-
export declare class NiceScore {
|
|
111
|
-
private config;
|
|
112
|
-
private players;
|
|
113
|
-
private activePopups;
|
|
114
|
-
private scoreActions;
|
|
115
|
-
private highScores;
|
|
116
|
-
private popupIdCounter;
|
|
117
|
-
private eventListeners;
|
|
118
|
-
constructor(config?: Partial<ScoreConfig>);
|
|
119
|
-
on(event: ScoreEventType, callback: ScoreEventCallback): () => void;
|
|
120
|
-
private emit;
|
|
121
|
-
registerPlayer(playerId: PlayerId): void;
|
|
122
|
-
unregisterPlayer(playerId: PlayerId): void;
|
|
123
|
-
getPlayer(playerId: PlayerId): PlayerScoreState | undefined;
|
|
124
|
-
registerAction(action: ScoreAction & {
|
|
125
|
-
id: string;
|
|
126
|
-
}): void;
|
|
127
|
-
executeAction(playerId: PlayerId, actionId: string, position?: {
|
|
128
|
-
x: number;
|
|
129
|
-
y: number;
|
|
130
|
-
}): number;
|
|
131
|
-
addScore(playerId: PlayerId, basePoints: number, options?: {
|
|
132
|
-
position?: {
|
|
133
|
-
x: number;
|
|
134
|
-
y: number;
|
|
135
|
-
};
|
|
136
|
-
comboCategory?: string;
|
|
137
|
-
multiplierCategories?: string[];
|
|
138
|
-
bonusConditions?: Array<{
|
|
139
|
-
condition: () => boolean;
|
|
140
|
-
bonus: number;
|
|
141
|
-
name: string;
|
|
142
|
-
}>;
|
|
143
|
-
actionType?: string;
|
|
144
|
-
showPopup?: boolean;
|
|
145
|
-
}): number;
|
|
146
|
-
subtractScore(playerId: PlayerId, points: number): void;
|
|
147
|
-
setScore(playerId: PlayerId, score: number): void;
|
|
148
|
-
getScore(playerId: PlayerId): number;
|
|
149
|
-
getDisplayScore(playerId: PlayerId): number;
|
|
150
|
-
resetScore(playerId: PlayerId): void;
|
|
151
|
-
incrementCombo(playerId: PlayerId, category?: string): void;
|
|
152
|
-
breakCombo(playerId: PlayerId): void;
|
|
153
|
-
getCombo(playerId: PlayerId): ComboState | undefined;
|
|
154
|
-
addMultiplier(playerId: PlayerId, multiplier: Omit<ScoreMultiplier, 'currentStacks'>): void;
|
|
155
|
-
removeMultiplier(playerId: PlayerId, multiplierId: string): void;
|
|
156
|
-
private recalculateTotalMultiplier;
|
|
157
|
-
getMultipliers(playerId: PlayerId): ScoreMultiplier[];
|
|
158
|
-
getTotalMultiplier(playerId: PlayerId): number;
|
|
159
|
-
createPopup(value: number, position: {
|
|
160
|
-
x: number;
|
|
161
|
-
y: number;
|
|
162
|
-
}, options?: {
|
|
163
|
-
text?: string;
|
|
164
|
-
color?: string;
|
|
165
|
-
size?: 'small' | 'medium' | 'large';
|
|
166
|
-
duration?: number;
|
|
167
|
-
combo?: number;
|
|
168
|
-
}): string;
|
|
169
|
-
removePopup(popupId: string): void;
|
|
170
|
-
getActivePopups(): ScorePopup[];
|
|
171
|
-
update(deltaTime: number): void;
|
|
172
|
-
submitHighScore(playerId: PlayerId, playerName: string, stats?: Record<string, number>, metadata?: Record<string, unknown>): boolean;
|
|
173
|
-
getHighScores(): ScoreEntry[];
|
|
174
|
-
getRank(score: number): number;
|
|
175
|
-
isHighScore(score: number): boolean;
|
|
176
|
-
clearHighScores(): void;
|
|
177
|
-
getStatistics(playerId: PlayerId): ScoreStatistics | undefined;
|
|
178
|
-
incrementStat(playerId: PlayerId, statName: string, value?: number): void;
|
|
179
|
-
endSession(playerId: PlayerId, playTime: number): void;
|
|
180
|
-
private loadHighScores;
|
|
181
|
-
private saveHighScores;
|
|
182
|
-
savePlayerStats(playerId: PlayerId): void;
|
|
183
|
-
loadPlayerStats(playerId: PlayerId): ScoreStatistics | null;
|
|
184
|
-
destroy(): void;
|
|
185
|
-
}
|
|
186
|
-
export declare function createScoreSystem(config?: Partial<ScoreConfig>): NiceScore;
|
|
@@ -1,235 +0,0 @@
|
|
|
1
|
-
export interface Color {
|
|
2
|
-
r: number;
|
|
3
|
-
g: number;
|
|
4
|
-
b: number;
|
|
5
|
-
a?: number;
|
|
6
|
-
}
|
|
7
|
-
export interface Vec2 {
|
|
8
|
-
x: number;
|
|
9
|
-
y: number;
|
|
10
|
-
}
|
|
11
|
-
export type EaseFunction = (t: number) => number;
|
|
12
|
-
export type ScreenEffectType = 'shake' | 'flash' | 'fade' | 'vignette' | 'chromatic' | 'blur' | 'freeze' | 'distort' | 'colorGrade' | 'scanlines' | 'pixelate' | 'filmGrain';
|
|
13
|
-
export interface BaseEffect {
|
|
14
|
-
id: string;
|
|
15
|
-
type: ScreenEffectType;
|
|
16
|
-
startTime: number;
|
|
17
|
-
duration: number;
|
|
18
|
-
intensity: number;
|
|
19
|
-
isActive: boolean;
|
|
20
|
-
priority: number;
|
|
21
|
-
layer: number;
|
|
22
|
-
}
|
|
23
|
-
export interface ShakeEffect extends BaseEffect {
|
|
24
|
-
type: 'shake';
|
|
25
|
-
amplitude: number;
|
|
26
|
-
frequency: number;
|
|
27
|
-
decay: number;
|
|
28
|
-
direction?: Vec2;
|
|
29
|
-
offset: Vec2;
|
|
30
|
-
rotation: number;
|
|
31
|
-
trauma: number;
|
|
32
|
-
}
|
|
33
|
-
export interface FlashEffect extends BaseEffect {
|
|
34
|
-
type: 'flash';
|
|
35
|
-
color: Color;
|
|
36
|
-
fadeIn: number;
|
|
37
|
-
fadeOut: number;
|
|
38
|
-
currentAlpha: number;
|
|
39
|
-
}
|
|
40
|
-
export interface FadeEffect extends BaseEffect {
|
|
41
|
-
type: 'fade';
|
|
42
|
-
color: Color;
|
|
43
|
-
fadeIn: boolean;
|
|
44
|
-
currentAlpha: number;
|
|
45
|
-
}
|
|
46
|
-
export interface VignetteEffect extends BaseEffect {
|
|
47
|
-
type: 'vignette';
|
|
48
|
-
radius: number;
|
|
49
|
-
softness: number;
|
|
50
|
-
color: Color;
|
|
51
|
-
}
|
|
52
|
-
export interface ChromaticEffect extends BaseEffect {
|
|
53
|
-
type: 'chromatic';
|
|
54
|
-
offset: number;
|
|
55
|
-
angle: number;
|
|
56
|
-
}
|
|
57
|
-
export interface BlurEffect extends BaseEffect {
|
|
58
|
-
type: 'blur';
|
|
59
|
-
radius: number;
|
|
60
|
-
direction?: Vec2;
|
|
61
|
-
isRadial: boolean;
|
|
62
|
-
center?: Vec2;
|
|
63
|
-
}
|
|
64
|
-
export interface FreezeEffect extends BaseEffect {
|
|
65
|
-
type: 'freeze';
|
|
66
|
-
desaturate: number;
|
|
67
|
-
zoom: number;
|
|
68
|
-
slowMotion: number;
|
|
69
|
-
}
|
|
70
|
-
export interface DistortEffect extends BaseEffect {
|
|
71
|
-
type: 'distort';
|
|
72
|
-
center: Vec2;
|
|
73
|
-
radius: number;
|
|
74
|
-
strength: number;
|
|
75
|
-
wave?: {
|
|
76
|
-
amplitude: number;
|
|
77
|
-
frequency: number;
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
export interface ColorGradeEffect extends BaseEffect {
|
|
81
|
-
type: 'colorGrade';
|
|
82
|
-
brightness: number;
|
|
83
|
-
contrast: number;
|
|
84
|
-
saturation: number;
|
|
85
|
-
hueShift: number;
|
|
86
|
-
tint: Color;
|
|
87
|
-
}
|
|
88
|
-
export interface ScanlinesEffect extends BaseEffect {
|
|
89
|
-
type: 'scanlines';
|
|
90
|
-
spacing: number;
|
|
91
|
-
thickness: number;
|
|
92
|
-
opacity: number;
|
|
93
|
-
speed: number;
|
|
94
|
-
phase: number;
|
|
95
|
-
}
|
|
96
|
-
export interface PixelateEffect extends BaseEffect {
|
|
97
|
-
type: 'pixelate';
|
|
98
|
-
pixelSize: number;
|
|
99
|
-
targetSize: number;
|
|
100
|
-
}
|
|
101
|
-
export interface FilmGrainEffect extends BaseEffect {
|
|
102
|
-
type: 'filmGrain';
|
|
103
|
-
amount: number;
|
|
104
|
-
speed: number;
|
|
105
|
-
luminanceOnly: boolean;
|
|
106
|
-
}
|
|
107
|
-
export type ScreenEffect = ShakeEffect | FlashEffect | FadeEffect | VignetteEffect | ChromaticEffect | BlurEffect | FreezeEffect | DistortEffect | ColorGradeEffect | ScanlinesEffect | PixelateEffect | FilmGrainEffect;
|
|
108
|
-
export interface ScreenState {
|
|
109
|
-
offset: Vec2;
|
|
110
|
-
rotation: number;
|
|
111
|
-
scale: number;
|
|
112
|
-
alpha: number;
|
|
113
|
-
overlayColor: Color | null;
|
|
114
|
-
blurAmount: number;
|
|
115
|
-
chromaticOffset: number;
|
|
116
|
-
saturation: number;
|
|
117
|
-
brightness: number;
|
|
118
|
-
contrast: number;
|
|
119
|
-
hueShift: number;
|
|
120
|
-
vignetteIntensity: number;
|
|
121
|
-
pixelSize: number;
|
|
122
|
-
scanlinePhase: number;
|
|
123
|
-
grainAmount: number;
|
|
124
|
-
}
|
|
125
|
-
export type ScreenFXEventType = 'effect-start' | 'effect-end' | 'effect-update' | 'shake-trigger' | 'flash-trigger' | 'freeze-start' | 'freeze-end' | 'transition-start' | 'transition-mid' | 'transition-end';
|
|
126
|
-
export interface ScreenFXEvent {
|
|
127
|
-
type: ScreenFXEventType;
|
|
128
|
-
timestamp: number;
|
|
129
|
-
effectId?: string;
|
|
130
|
-
data: unknown;
|
|
131
|
-
}
|
|
132
|
-
export type ScreenFXEventCallback = (event: ScreenFXEvent) => void;
|
|
133
|
-
export interface ScreenFXConfig {
|
|
134
|
-
/** Maximum shake amplitude */
|
|
135
|
-
maxShakeAmplitude: number;
|
|
136
|
-
/** Maximum trauma value */
|
|
137
|
-
maxTrauma: number;
|
|
138
|
-
/** Trauma decay rate */
|
|
139
|
-
traumaDecay: number;
|
|
140
|
-
/** Default effect duration */
|
|
141
|
-
defaultDuration: number;
|
|
142
|
-
/** Default flash duration */
|
|
143
|
-
flashDuration: number;
|
|
144
|
-
/** Default fade duration */
|
|
145
|
-
fadeDuration: number;
|
|
146
|
-
/** Default freeze duration */
|
|
147
|
-
freezeDuration: number;
|
|
148
|
-
/** Enable shake */
|
|
149
|
-
enableShake: boolean;
|
|
150
|
-
/** Enable post effects */
|
|
151
|
-
enablePostEffects: boolean;
|
|
152
|
-
}
|
|
153
|
-
export declare const DEFAULT_SCREENFX_CONFIG: ScreenFXConfig;
|
|
154
|
-
export declare class NiceScreenFX {
|
|
155
|
-
private config;
|
|
156
|
-
private effects;
|
|
157
|
-
private state;
|
|
158
|
-
private currentTime;
|
|
159
|
-
private eventListeners;
|
|
160
|
-
private nextId;
|
|
161
|
-
private noise;
|
|
162
|
-
constructor(config?: Partial<ScreenFXConfig>);
|
|
163
|
-
on(event: ScreenFXEventType, callback: ScreenFXEventCallback): () => void;
|
|
164
|
-
private emit;
|
|
165
|
-
shake(amplitude: number, duration: number, options?: {
|
|
166
|
-
frequency?: number;
|
|
167
|
-
decay?: number;
|
|
168
|
-
direction?: Vec2;
|
|
169
|
-
}): string;
|
|
170
|
-
addTrauma(amount: number): void;
|
|
171
|
-
private updateShake;
|
|
172
|
-
flash(color: Color, duration?: number, options?: {
|
|
173
|
-
fadeIn?: number;
|
|
174
|
-
fadeOut?: number;
|
|
175
|
-
intensity?: number;
|
|
176
|
-
}): string;
|
|
177
|
-
private updateFlash;
|
|
178
|
-
fadeIn(duration?: number, color?: Color): string;
|
|
179
|
-
fadeOut(duration?: number, color?: Color): string;
|
|
180
|
-
private createFade;
|
|
181
|
-
private updateFade;
|
|
182
|
-
vignette(intensity: number, duration: number, options?: {
|
|
183
|
-
radius?: number;
|
|
184
|
-
softness?: number;
|
|
185
|
-
color?: Color;
|
|
186
|
-
}): string;
|
|
187
|
-
chromatic(offset: number, duration: number, options?: {
|
|
188
|
-
angle?: number;
|
|
189
|
-
}): string;
|
|
190
|
-
blur(radius: number, duration: number, options?: {
|
|
191
|
-
direction?: Vec2;
|
|
192
|
-
isRadial?: boolean;
|
|
193
|
-
center?: Vec2;
|
|
194
|
-
}): string;
|
|
195
|
-
freeze(duration?: number, options?: {
|
|
196
|
-
desaturate?: number;
|
|
197
|
-
zoom?: number;
|
|
198
|
-
slowMotion?: number;
|
|
199
|
-
}): string;
|
|
200
|
-
colorGrade(settings: Partial<{
|
|
201
|
-
brightness: number;
|
|
202
|
-
contrast: number;
|
|
203
|
-
saturation: number;
|
|
204
|
-
hueShift: number;
|
|
205
|
-
tint: Color;
|
|
206
|
-
}>, duration: number): string;
|
|
207
|
-
scanlines(opacity: number, duration: number, options?: {
|
|
208
|
-
spacing?: number;
|
|
209
|
-
thickness?: number;
|
|
210
|
-
speed?: number;
|
|
211
|
-
}): string;
|
|
212
|
-
pixelate(pixelSize: number, duration: number): string;
|
|
213
|
-
filmGrain(amount: number, duration: number, options?: {
|
|
214
|
-
speed?: number;
|
|
215
|
-
luminanceOnly?: boolean;
|
|
216
|
-
}): string;
|
|
217
|
-
stopEffect(id: string): void;
|
|
218
|
-
stopAllEffects(): void;
|
|
219
|
-
stopEffectsByType(type: ScreenEffectType): void;
|
|
220
|
-
getEffect(id: string): ScreenEffect | undefined;
|
|
221
|
-
update(deltaTime: number): ScreenState;
|
|
222
|
-
private updateEffect;
|
|
223
|
-
private applyEffect;
|
|
224
|
-
private resetState;
|
|
225
|
-
getState(): ScreenState;
|
|
226
|
-
getActiveEffects(): ScreenEffect[];
|
|
227
|
-
isEffectActive(type: ScreenEffectType): boolean;
|
|
228
|
-
getTimeScale(): number;
|
|
229
|
-
impact(intensity?: number): void;
|
|
230
|
-
explosion(distance?: number): void;
|
|
231
|
-
hit(): void;
|
|
232
|
-
death(): void;
|
|
233
|
-
destroy(): void;
|
|
234
|
-
}
|
|
235
|
-
export declare function createScreenFXSystem(config?: Partial<ScreenFXConfig>): NiceScreenFX;
|