@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,437 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* NiceCutscene - Cinematic Cutscene System
|
|
3
|
-
*
|
|
4
|
-
* Comprehensive system for creating and playing in-game cutscenes,
|
|
5
|
-
* cinematics, and scripted sequences.
|
|
6
|
-
*
|
|
7
|
-
* Features:
|
|
8
|
-
* - Timeline-based sequencing
|
|
9
|
-
* - Camera control
|
|
10
|
-
* - Character animation
|
|
11
|
-
* - Dialogue integration
|
|
12
|
-
* - Audio/music sync
|
|
13
|
-
* - Visual effects
|
|
14
|
-
* - Transitions/fades
|
|
15
|
-
* - Skip functionality
|
|
16
|
-
* - Pause/resume
|
|
17
|
-
* - Branching cutscenes
|
|
18
|
-
* - Keyframe animation
|
|
19
|
-
* - Event triggers
|
|
20
|
-
*
|
|
21
|
-
* @packageDocumentation
|
|
22
|
-
*/
|
|
23
|
-
import { EventEmitter } from 'events';
|
|
24
|
-
/** Unique cutscene ID */
|
|
25
|
-
export type CutsceneId = string;
|
|
26
|
-
/** Unique track ID */
|
|
27
|
-
export type TrackId = string;
|
|
28
|
-
/** Unique clip ID */
|
|
29
|
-
export type ClipId = string;
|
|
30
|
-
/** Cutscene state */
|
|
31
|
-
export type CutsceneState = 'idle' | 'loading' | 'ready' | 'playing' | 'paused' | 'finished' | 'skipped';
|
|
32
|
-
/** Track type */
|
|
33
|
-
export type TrackType = 'camera' | 'animation' | 'dialogue' | 'audio' | 'music' | 'effect' | 'event' | 'property' | 'transition' | 'subtitle' | 'custom';
|
|
34
|
-
/** Easing type */
|
|
35
|
-
export type EasingType = 'linear' | 'ease_in' | 'ease_out' | 'ease_in_out' | 'bounce' | 'elastic' | 'back' | 'cubic' | 'quad' | 'quart' | 'quint' | 'sine' | 'expo' | 'circ';
|
|
36
|
-
/** Transition type */
|
|
37
|
-
export type TransitionType = 'cut' | 'fade' | 'dissolve' | 'wipe_left' | 'wipe_right' | 'wipe_up' | 'wipe_down' | 'zoom_in' | 'zoom_out' | 'blur' | 'custom';
|
|
38
|
-
/** 3D Vector */
|
|
39
|
-
export interface Vector3 {
|
|
40
|
-
x: number;
|
|
41
|
-
y: number;
|
|
42
|
-
z: number;
|
|
43
|
-
}
|
|
44
|
-
/** Quaternion rotation */
|
|
45
|
-
export interface Quaternion {
|
|
46
|
-
x: number;
|
|
47
|
-
y: number;
|
|
48
|
-
z: number;
|
|
49
|
-
w: number;
|
|
50
|
-
}
|
|
51
|
-
/** Transform */
|
|
52
|
-
export interface Transform {
|
|
53
|
-
position: Vector3;
|
|
54
|
-
rotation: Vector3 | Quaternion;
|
|
55
|
-
scale?: Vector3;
|
|
56
|
-
}
|
|
57
|
-
/** Keyframe */
|
|
58
|
-
export interface Keyframe<T = unknown> {
|
|
59
|
-
time: number;
|
|
60
|
-
value: T;
|
|
61
|
-
easing?: EasingType;
|
|
62
|
-
tangentIn?: T;
|
|
63
|
-
tangentOut?: T;
|
|
64
|
-
}
|
|
65
|
-
/** Animation clip */
|
|
66
|
-
export interface AnimationClip {
|
|
67
|
-
id: ClipId;
|
|
68
|
-
trackId: TrackId;
|
|
69
|
-
startTime: number;
|
|
70
|
-
duration: number;
|
|
71
|
-
name?: string;
|
|
72
|
-
targetId?: string;
|
|
73
|
-
keyframes?: Keyframe[];
|
|
74
|
-
data?: Record<string, unknown>;
|
|
75
|
-
loop?: boolean;
|
|
76
|
-
blendIn?: number;
|
|
77
|
-
blendOut?: number;
|
|
78
|
-
}
|
|
79
|
-
/** Camera clip */
|
|
80
|
-
export interface CameraClip extends AnimationClip {
|
|
81
|
-
positionKeyframes: Keyframe<Vector3>[];
|
|
82
|
-
rotationKeyframes: Keyframe<Vector3>[];
|
|
83
|
-
fovKeyframes?: Keyframe<number>[];
|
|
84
|
-
lookAtTarget?: string;
|
|
85
|
-
shake?: CameraShake;
|
|
86
|
-
}
|
|
87
|
-
/** Camera shake settings */
|
|
88
|
-
export interface CameraShake {
|
|
89
|
-
intensity: number;
|
|
90
|
-
frequency: number;
|
|
91
|
-
duration: number;
|
|
92
|
-
fadeIn?: number;
|
|
93
|
-
fadeOut?: number;
|
|
94
|
-
}
|
|
95
|
-
/** Dialogue clip */
|
|
96
|
-
export interface DialogueClip extends AnimationClip {
|
|
97
|
-
speakerId: string;
|
|
98
|
-
speakerName: string;
|
|
99
|
-
text: string;
|
|
100
|
-
audioFile?: string;
|
|
101
|
-
portrait?: string;
|
|
102
|
-
emotion?: string;
|
|
103
|
-
animationTrigger?: string;
|
|
104
|
-
voiceStart?: number;
|
|
105
|
-
voiceEnd?: number;
|
|
106
|
-
}
|
|
107
|
-
/** Audio clip */
|
|
108
|
-
export interface AudioClip extends AnimationClip {
|
|
109
|
-
audioFile: string;
|
|
110
|
-
volume?: number;
|
|
111
|
-
pitch?: number;
|
|
112
|
-
fadeIn?: number;
|
|
113
|
-
fadeOut?: number;
|
|
114
|
-
spatial?: boolean;
|
|
115
|
-
position?: Vector3;
|
|
116
|
-
}
|
|
117
|
-
/** Effect clip */
|
|
118
|
-
export interface EffectClip extends AnimationClip {
|
|
119
|
-
effectType: string;
|
|
120
|
-
effectParams?: Record<string, unknown>;
|
|
121
|
-
position?: Vector3;
|
|
122
|
-
attachTo?: string;
|
|
123
|
-
autoDestroy?: boolean;
|
|
124
|
-
}
|
|
125
|
-
/** Event clip */
|
|
126
|
-
export interface EventClip extends AnimationClip {
|
|
127
|
-
eventName: string;
|
|
128
|
-
eventData?: Record<string, unknown>;
|
|
129
|
-
}
|
|
130
|
-
/** Property clip */
|
|
131
|
-
export interface PropertyClip extends AnimationClip {
|
|
132
|
-
property: string;
|
|
133
|
-
keyframes: Keyframe<number | string | boolean | Vector3>[];
|
|
134
|
-
}
|
|
135
|
-
/** Transition clip */
|
|
136
|
-
export interface TransitionClip extends AnimationClip {
|
|
137
|
-
transitionType: TransitionType;
|
|
138
|
-
color?: string;
|
|
139
|
-
customShader?: string;
|
|
140
|
-
}
|
|
141
|
-
/** Subtitle clip */
|
|
142
|
-
export interface SubtitleClip extends AnimationClip {
|
|
143
|
-
text: string;
|
|
144
|
-
speaker?: string;
|
|
145
|
-
position?: 'top' | 'center' | 'bottom';
|
|
146
|
-
style?: SubtitleStyle;
|
|
147
|
-
}
|
|
148
|
-
/** Subtitle style */
|
|
149
|
-
export interface SubtitleStyle {
|
|
150
|
-
fontSize?: number;
|
|
151
|
-
fontFamily?: string;
|
|
152
|
-
color?: string;
|
|
153
|
-
backgroundColor?: string;
|
|
154
|
-
padding?: number;
|
|
155
|
-
maxWidth?: number;
|
|
156
|
-
}
|
|
157
|
-
/** Track definition */
|
|
158
|
-
export interface CutsceneTrack {
|
|
159
|
-
id: TrackId;
|
|
160
|
-
name: string;
|
|
161
|
-
type: TrackType;
|
|
162
|
-
clips: AnimationClip[];
|
|
163
|
-
muted: boolean;
|
|
164
|
-
locked: boolean;
|
|
165
|
-
targetId?: string;
|
|
166
|
-
color?: string;
|
|
167
|
-
}
|
|
168
|
-
/** Cutscene definition */
|
|
169
|
-
export interface CutsceneDefinition {
|
|
170
|
-
id: CutsceneId;
|
|
171
|
-
name: string;
|
|
172
|
-
description?: string;
|
|
173
|
-
duration: number;
|
|
174
|
-
tracks: CutsceneTrack[];
|
|
175
|
-
skippable: boolean;
|
|
176
|
-
skipKeyOrButton?: string;
|
|
177
|
-
preloadAssets?: string[];
|
|
178
|
-
startCondition?: CutsceneCondition;
|
|
179
|
-
endCondition?: CutsceneCondition;
|
|
180
|
-
branches?: CutsceneBranch[];
|
|
181
|
-
tags?: string[];
|
|
182
|
-
metadata?: Record<string, unknown>;
|
|
183
|
-
}
|
|
184
|
-
/** Branch condition */
|
|
185
|
-
export interface CutsceneCondition {
|
|
186
|
-
type: 'time' | 'event' | 'variable' | 'input' | 'custom';
|
|
187
|
-
value?: unknown;
|
|
188
|
-
comparator?: 'equals' | 'greater' | 'less' | 'contains';
|
|
189
|
-
checkValue?: unknown;
|
|
190
|
-
}
|
|
191
|
-
/** Cutscene branch */
|
|
192
|
-
export interface CutsceneBranch {
|
|
193
|
-
id: string;
|
|
194
|
-
condition: CutsceneCondition;
|
|
195
|
-
targetCutsceneId: CutsceneId;
|
|
196
|
-
targetTime?: number;
|
|
197
|
-
}
|
|
198
|
-
/** Playback state */
|
|
199
|
-
export interface PlaybackState {
|
|
200
|
-
cutsceneId: CutsceneId;
|
|
201
|
-
state: CutsceneState;
|
|
202
|
-
currentTime: number;
|
|
203
|
-
duration: number;
|
|
204
|
-
playbackRate: number;
|
|
205
|
-
loop: boolean;
|
|
206
|
-
activeClips: ClipId[];
|
|
207
|
-
completedClips: ClipId[];
|
|
208
|
-
}
|
|
209
|
-
/** Cutscene player options */
|
|
210
|
-
export interface PlayOptions {
|
|
211
|
-
startTime?: number;
|
|
212
|
-
playbackRate?: number;
|
|
213
|
-
loop?: boolean;
|
|
214
|
-
onComplete?: () => void;
|
|
215
|
-
onSkip?: () => void;
|
|
216
|
-
skipToTime?: number;
|
|
217
|
-
}
|
|
218
|
-
/** Cutscene statistics */
|
|
219
|
-
export interface CutsceneStatistics {
|
|
220
|
-
totalWatched: number;
|
|
221
|
-
totalSkipped: number;
|
|
222
|
-
totalPlayTime: number;
|
|
223
|
-
watchedCutscenes: Set<CutsceneId>;
|
|
224
|
-
skippedCutscenes: Set<CutsceneId>;
|
|
225
|
-
}
|
|
226
|
-
/** Cutscene event types */
|
|
227
|
-
export type CutsceneEventType = 'cutscene_started' | 'cutscene_paused' | 'cutscene_resumed' | 'cutscene_stopped' | 'cutscene_skipped' | 'cutscene_finished' | 'cutscene_loaded' | 'clip_started' | 'clip_ended' | 'dialogue_started' | 'dialogue_ended' | 'event_triggered' | 'branch_taken' | 'time_updated';
|
|
228
|
-
/** Cutscene event data */
|
|
229
|
-
export interface CutsceneEvent {
|
|
230
|
-
type: CutsceneEventType;
|
|
231
|
-
timestamp: number;
|
|
232
|
-
cutsceneId?: CutsceneId;
|
|
233
|
-
clipId?: ClipId;
|
|
234
|
-
data?: unknown;
|
|
235
|
-
}
|
|
236
|
-
/** Cutscene event callback */
|
|
237
|
-
export type CutsceneEventCallback = (event: CutsceneEvent) => void;
|
|
238
|
-
/** Cutscene system configuration */
|
|
239
|
-
export interface CutsceneConfig {
|
|
240
|
-
defaultPlaybackRate: number;
|
|
241
|
-
skipFadeDuration: number;
|
|
242
|
-
preloadAhead: number;
|
|
243
|
-
maxConcurrentAudio: number;
|
|
244
|
-
subtitleDefaults: SubtitleStyle;
|
|
245
|
-
transitionDuration: number;
|
|
246
|
-
allowPause: boolean;
|
|
247
|
-
allowSkip: boolean;
|
|
248
|
-
skipKey: string;
|
|
249
|
-
pauseKey: string;
|
|
250
|
-
}
|
|
251
|
-
/** Default configuration */
|
|
252
|
-
export declare const DEFAULT_CUTSCENE_CONFIG: CutsceneConfig;
|
|
253
|
-
/**
|
|
254
|
-
* Cinematic cutscene system
|
|
255
|
-
*/
|
|
256
|
-
export declare class NiceCutscene extends EventEmitter {
|
|
257
|
-
private config;
|
|
258
|
-
private cutscenes;
|
|
259
|
-
private playbackState?;
|
|
260
|
-
private animationFrame?;
|
|
261
|
-
private lastFrameTime;
|
|
262
|
-
private activeClipStates;
|
|
263
|
-
private statistics;
|
|
264
|
-
private loadedAssets;
|
|
265
|
-
private audioSources;
|
|
266
|
-
private isSkipping;
|
|
267
|
-
constructor(config?: Partial<CutsceneConfig>);
|
|
268
|
-
/**
|
|
269
|
-
* Emit cutscene event
|
|
270
|
-
*/
|
|
271
|
-
private emitEvent;
|
|
272
|
-
/**
|
|
273
|
-
* Setup keyboard listeners
|
|
274
|
-
*/
|
|
275
|
-
private setupKeyboardListeners;
|
|
276
|
-
/**
|
|
277
|
-
* Register cutscene
|
|
278
|
-
*/
|
|
279
|
-
registerCutscene(definition: CutsceneDefinition): void;
|
|
280
|
-
/**
|
|
281
|
-
* Unregister cutscene
|
|
282
|
-
*/
|
|
283
|
-
unregisterCutscene(cutsceneId: CutsceneId): boolean;
|
|
284
|
-
/**
|
|
285
|
-
* Get cutscene
|
|
286
|
-
*/
|
|
287
|
-
getCutscene(cutsceneId: CutsceneId): CutsceneDefinition | undefined;
|
|
288
|
-
/**
|
|
289
|
-
* Get all cutscenes
|
|
290
|
-
*/
|
|
291
|
-
getAllCutscenes(): CutsceneDefinition[];
|
|
292
|
-
/**
|
|
293
|
-
* Play cutscene
|
|
294
|
-
*/
|
|
295
|
-
play(cutsceneId: CutsceneId, options?: PlayOptions): Promise<boolean>;
|
|
296
|
-
/**
|
|
297
|
-
* Pause cutscene
|
|
298
|
-
*/
|
|
299
|
-
pause(): void;
|
|
300
|
-
/**
|
|
301
|
-
* Resume cutscene
|
|
302
|
-
*/
|
|
303
|
-
resume(): void;
|
|
304
|
-
/**
|
|
305
|
-
* Stop cutscene
|
|
306
|
-
*/
|
|
307
|
-
stop(): void;
|
|
308
|
-
/**
|
|
309
|
-
* Skip cutscene
|
|
310
|
-
*/
|
|
311
|
-
skip(): void;
|
|
312
|
-
/**
|
|
313
|
-
* Seek to time
|
|
314
|
-
*/
|
|
315
|
-
seek(time: number): void;
|
|
316
|
-
/**
|
|
317
|
-
* Set playback rate
|
|
318
|
-
*/
|
|
319
|
-
setPlaybackRate(rate: number): void;
|
|
320
|
-
/**
|
|
321
|
-
* Start playback loop
|
|
322
|
-
*/
|
|
323
|
-
private startPlaybackLoop;
|
|
324
|
-
/**
|
|
325
|
-
* Stop playback loop
|
|
326
|
-
*/
|
|
327
|
-
private stopPlaybackLoop;
|
|
328
|
-
/**
|
|
329
|
-
* Update playback
|
|
330
|
-
*/
|
|
331
|
-
private updatePlayback;
|
|
332
|
-
/**
|
|
333
|
-
* Process clip
|
|
334
|
-
*/
|
|
335
|
-
private processClip;
|
|
336
|
-
/**
|
|
337
|
-
* Handle clip start
|
|
338
|
-
*/
|
|
339
|
-
private handleClipStart;
|
|
340
|
-
/**
|
|
341
|
-
* Handle clip end
|
|
342
|
-
*/
|
|
343
|
-
private handleClipEnd;
|
|
344
|
-
/**
|
|
345
|
-
* Update clip
|
|
346
|
-
*/
|
|
347
|
-
private updateClip;
|
|
348
|
-
/**
|
|
349
|
-
* Update camera clip
|
|
350
|
-
*/
|
|
351
|
-
private updateCameraClip;
|
|
352
|
-
/**
|
|
353
|
-
* Update property clip
|
|
354
|
-
*/
|
|
355
|
-
private updatePropertyClip;
|
|
356
|
-
/**
|
|
357
|
-
* Interpolate keyframes
|
|
358
|
-
*/
|
|
359
|
-
private interpolateKeyframes;
|
|
360
|
-
/**
|
|
361
|
-
* Interpolate value
|
|
362
|
-
*/
|
|
363
|
-
private interpolateValue;
|
|
364
|
-
/**
|
|
365
|
-
* Type guard for Vector3
|
|
366
|
-
*/
|
|
367
|
-
private isVector3;
|
|
368
|
-
/**
|
|
369
|
-
* Calculate camera shake
|
|
370
|
-
*/
|
|
371
|
-
private calculateShake;
|
|
372
|
-
/**
|
|
373
|
-
* Check branches
|
|
374
|
-
*/
|
|
375
|
-
private checkBranches;
|
|
376
|
-
/**
|
|
377
|
-
* Evaluate condition
|
|
378
|
-
*/
|
|
379
|
-
private evaluateCondition;
|
|
380
|
-
/**
|
|
381
|
-
* Finish cutscene
|
|
382
|
-
*/
|
|
383
|
-
private finishCutscene;
|
|
384
|
-
/**
|
|
385
|
-
* Stop clip audio
|
|
386
|
-
*/
|
|
387
|
-
private stopClipAudio;
|
|
388
|
-
/**
|
|
389
|
-
* Stop all audio
|
|
390
|
-
*/
|
|
391
|
-
private stopAllAudio;
|
|
392
|
-
/**
|
|
393
|
-
* Preload assets
|
|
394
|
-
*/
|
|
395
|
-
private preloadAssets;
|
|
396
|
-
/**
|
|
397
|
-
* Preload audio
|
|
398
|
-
*/
|
|
399
|
-
private preloadAudio;
|
|
400
|
-
/**
|
|
401
|
-
* Preload image
|
|
402
|
-
*/
|
|
403
|
-
private preloadImage;
|
|
404
|
-
/**
|
|
405
|
-
* Find clip by ID
|
|
406
|
-
*/
|
|
407
|
-
private findClipById;
|
|
408
|
-
/**
|
|
409
|
-
* Get playback state
|
|
410
|
-
*/
|
|
411
|
-
getPlaybackState(): PlaybackState | undefined;
|
|
412
|
-
/**
|
|
413
|
-
* Is playing
|
|
414
|
-
*/
|
|
415
|
-
isPlaying(): boolean;
|
|
416
|
-
/**
|
|
417
|
-
* Get current time
|
|
418
|
-
*/
|
|
419
|
-
getCurrentTime(): number;
|
|
420
|
-
/**
|
|
421
|
-
* Get statistics
|
|
422
|
-
*/
|
|
423
|
-
getStatistics(): CutsceneStatistics;
|
|
424
|
-
/**
|
|
425
|
-
* Has watched cutscene
|
|
426
|
-
*/
|
|
427
|
-
hasWatched(cutsceneId: CutsceneId): boolean;
|
|
428
|
-
/**
|
|
429
|
-
* Destroy cutscene system
|
|
430
|
-
*/
|
|
431
|
-
destroy(): void;
|
|
432
|
-
}
|
|
433
|
-
/**
|
|
434
|
-
* Create cutscene system instance
|
|
435
|
-
*/
|
|
436
|
-
export declare function createCutsceneSystem(config?: Partial<CutsceneConfig>): NiceCutscene;
|
|
437
|
-
export default NiceCutscene;
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
export type RewardId = string;
|
|
2
|
-
export type CalendarId = string;
|
|
3
|
-
export type RewardType = 'item' | 'currency' | 'experience' | 'premium_currency' | 'buff' | 'gacha_ticket' | 'custom';
|
|
4
|
-
export interface DailyReward {
|
|
5
|
-
id: RewardId;
|
|
6
|
-
day: number;
|
|
7
|
-
type: RewardType;
|
|
8
|
-
itemId?: string;
|
|
9
|
-
currency?: string;
|
|
10
|
-
amount: number;
|
|
11
|
-
isBonus?: boolean;
|
|
12
|
-
bonusMultiplier?: number;
|
|
13
|
-
name: string;
|
|
14
|
-
description?: string;
|
|
15
|
-
icon?: string;
|
|
16
|
-
rarity?: 'common' | 'uncommon' | 'rare' | 'epic' | 'legendary';
|
|
17
|
-
}
|
|
18
|
-
export interface RewardCalendar {
|
|
19
|
-
id: CalendarId;
|
|
20
|
-
name: string;
|
|
21
|
-
description: string;
|
|
22
|
-
startDate: number;
|
|
23
|
-
endDate?: number;
|
|
24
|
-
cycleDays: number;
|
|
25
|
-
resetOnComplete: boolean;
|
|
26
|
-
rewards: DailyReward[];
|
|
27
|
-
milestoneRewards: MilestoneReward[];
|
|
28
|
-
vipBonusMultipliers: Record<number, number>;
|
|
29
|
-
levelRequired?: number;
|
|
30
|
-
prerequisiteCalendarId?: CalendarId;
|
|
31
|
-
}
|
|
32
|
-
export interface MilestoneReward {
|
|
33
|
-
id: RewardId;
|
|
34
|
-
totalDaysRequired: number;
|
|
35
|
-
type: RewardType;
|
|
36
|
-
itemId?: string;
|
|
37
|
-
currency?: string;
|
|
38
|
-
amount: number;
|
|
39
|
-
name: string;
|
|
40
|
-
description?: string;
|
|
41
|
-
icon?: string;
|
|
42
|
-
}
|
|
43
|
-
export interface DailyProgress {
|
|
44
|
-
playerId: string;
|
|
45
|
-
calendarId: CalendarId;
|
|
46
|
-
currentDay: number;
|
|
47
|
-
consecutiveDays: number;
|
|
48
|
-
totalDaysClaimed: number;
|
|
49
|
-
lastClaimDate: string;
|
|
50
|
-
cycleStartDate: number;
|
|
51
|
-
firstClaimDate: number;
|
|
52
|
-
claimedDays: number[];
|
|
53
|
-
claimedMilestones: string[];
|
|
54
|
-
missedDays: number;
|
|
55
|
-
catchUpTokens: number;
|
|
56
|
-
}
|
|
57
|
-
export interface ClaimResult {
|
|
58
|
-
success: boolean;
|
|
59
|
-
rewards: Array<{
|
|
60
|
-
type: RewardType;
|
|
61
|
-
itemId?: string;
|
|
62
|
-
currency?: string;
|
|
63
|
-
amount: number;
|
|
64
|
-
bonusAmount?: number;
|
|
65
|
-
}>;
|
|
66
|
-
newConsecutiveDays: number;
|
|
67
|
-
totalDaysClaimed: number;
|
|
68
|
-
unlockedMilestones: MilestoneReward[];
|
|
69
|
-
nextReward?: DailyReward;
|
|
70
|
-
}
|
|
71
|
-
export type DailyEventType = 'daily-claimed' | 'milestone-unlocked' | 'streak-lost' | 'streak-milestone' | 'cycle-completed' | 'cycle-reset' | 'catch-up-used' | 'vip-bonus-applied';
|
|
72
|
-
export interface DailyEvent {
|
|
73
|
-
type: DailyEventType;
|
|
74
|
-
timestamp: number;
|
|
75
|
-
playerId: string;
|
|
76
|
-
calendarId?: CalendarId;
|
|
77
|
-
data?: unknown;
|
|
78
|
-
}
|
|
79
|
-
export type DailyEventCallback = (event: DailyEvent) => void;
|
|
80
|
-
export interface DailyConfig {
|
|
81
|
-
resetHour: number;
|
|
82
|
-
resetTimezone: string;
|
|
83
|
-
maxConsecutiveMissed: number;
|
|
84
|
-
catchUpTokensPerPurchase: number;
|
|
85
|
-
catchUpTokenCost: number;
|
|
86
|
-
catchUpCurrency: string;
|
|
87
|
-
streakMilestones: number[];
|
|
88
|
-
storageKey: string;
|
|
89
|
-
}
|
|
90
|
-
export declare const DEFAULT_DAILY_CONFIG: DailyConfig;
|
|
91
|
-
export declare class NiceDaily {
|
|
92
|
-
private config;
|
|
93
|
-
private calendars;
|
|
94
|
-
private progress;
|
|
95
|
-
private playerVIPLevels;
|
|
96
|
-
private eventListeners;
|
|
97
|
-
constructor(config?: Partial<DailyConfig>);
|
|
98
|
-
on(event: DailyEventType, callback: DailyEventCallback): () => void;
|
|
99
|
-
private emit;
|
|
100
|
-
registerCalendar(calendar: RewardCalendar): void;
|
|
101
|
-
setPlayerVIPLevel(playerId: string, level: number): void;
|
|
102
|
-
canClaim(playerId: string, calendarId: CalendarId): {
|
|
103
|
-
can: boolean;
|
|
104
|
-
reason?: string;
|
|
105
|
-
reward?: DailyReward;
|
|
106
|
-
};
|
|
107
|
-
claim(playerId: string, calendarId: CalendarId): ClaimResult;
|
|
108
|
-
purchaseCatchUpTokens(playerId: string, quantity?: number): boolean;
|
|
109
|
-
useCatchUp(playerId: string, calendarId: CalendarId): ClaimResult;
|
|
110
|
-
private findNextUnclaimedDay;
|
|
111
|
-
private getOrCreateProgress;
|
|
112
|
-
private getResetDate;
|
|
113
|
-
private calculateNextDay;
|
|
114
|
-
private calculateMissedDays;
|
|
115
|
-
getCalendar(calendarId: CalendarId): RewardCalendar | undefined;
|
|
116
|
-
getAllCalendars(): RewardCalendar[];
|
|
117
|
-
getActiveCalendars(): RewardCalendar[];
|
|
118
|
-
getProgress(playerId: string, calendarId: CalendarId): DailyProgress | undefined;
|
|
119
|
-
getAllProgress(playerId: string): DailyProgress[];
|
|
120
|
-
getUpcomingRewards(playerId: string, calendarId: CalendarId, count?: number): DailyReward[];
|
|
121
|
-
getClaimableCount(playerId: string): number;
|
|
122
|
-
getStreakInfo(playerId: string, calendarId: CalendarId): {
|
|
123
|
-
current: number;
|
|
124
|
-
nextMilestone: number | null;
|
|
125
|
-
daysUntilMilestone: number;
|
|
126
|
-
};
|
|
127
|
-
private save;
|
|
128
|
-
private load;
|
|
129
|
-
reset(): void;
|
|
130
|
-
resetPlayer(playerId: string): void;
|
|
131
|
-
destroy(): void;
|
|
132
|
-
}
|
|
133
|
-
export declare function createDailySystem(config?: Partial<DailyConfig>): NiceDaily;
|