@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,167 +0,0 @@
|
|
|
1
|
-
export interface Vec3 {
|
|
2
|
-
x: number;
|
|
3
|
-
y: number;
|
|
4
|
-
z: number;
|
|
5
|
-
}
|
|
6
|
-
export type BulletType = 'instant' | 'projectile' | 'beam' | 'arc' | 'homing';
|
|
7
|
-
export interface BulletDefinition {
|
|
8
|
-
id: string;
|
|
9
|
-
type: BulletType;
|
|
10
|
-
speed: number;
|
|
11
|
-
damage: number;
|
|
12
|
-
range: number;
|
|
13
|
-
gravity: number;
|
|
14
|
-
drag: number;
|
|
15
|
-
radius: number;
|
|
16
|
-
penetration: number;
|
|
17
|
-
ricochetChance: number;
|
|
18
|
-
maxRicochets: number;
|
|
19
|
-
lifetime: number;
|
|
20
|
-
tracerColor?: string;
|
|
21
|
-
tracerWidth?: number;
|
|
22
|
-
impactEffect?: string;
|
|
23
|
-
onHit?: (hit: BulletHit) => void;
|
|
24
|
-
}
|
|
25
|
-
export interface HomingConfig {
|
|
26
|
-
target: string | null;
|
|
27
|
-
turnRate: number;
|
|
28
|
-
maxAngle: number;
|
|
29
|
-
lockOnDelay: number;
|
|
30
|
-
proximityFuse: number;
|
|
31
|
-
}
|
|
32
|
-
export interface ArcConfig {
|
|
33
|
-
arcHeight: number;
|
|
34
|
-
bounces: number;
|
|
35
|
-
bounceDecay: number;
|
|
36
|
-
}
|
|
37
|
-
export interface Bullet {
|
|
38
|
-
id: string;
|
|
39
|
-
definitionId: string;
|
|
40
|
-
position: Vec3;
|
|
41
|
-
velocity: Vec3;
|
|
42
|
-
direction: Vec3;
|
|
43
|
-
owner: string;
|
|
44
|
-
spawnTime: number;
|
|
45
|
-
distanceTraveled: number;
|
|
46
|
-
ricochets: number;
|
|
47
|
-
penetrations: number;
|
|
48
|
-
active: boolean;
|
|
49
|
-
homing?: HomingConfig;
|
|
50
|
-
arc?: ArcConfig;
|
|
51
|
-
}
|
|
52
|
-
export interface BulletHit {
|
|
53
|
-
bulletId: string;
|
|
54
|
-
targetId: string;
|
|
55
|
-
position: Vec3;
|
|
56
|
-
normal: Vec3;
|
|
57
|
-
damage: number;
|
|
58
|
-
penetrated: boolean;
|
|
59
|
-
ricocheted: boolean;
|
|
60
|
-
distance: number;
|
|
61
|
-
}
|
|
62
|
-
export interface Collider {
|
|
63
|
-
id: string;
|
|
64
|
-
position: Vec3;
|
|
65
|
-
radius: number;
|
|
66
|
-
height?: number;
|
|
67
|
-
type: 'sphere' | 'capsule' | 'box';
|
|
68
|
-
layer: number;
|
|
69
|
-
solid: boolean;
|
|
70
|
-
damageMultiplier: number;
|
|
71
|
-
}
|
|
72
|
-
export interface RaycastHit {
|
|
73
|
-
colliderId: string;
|
|
74
|
-
position: Vec3;
|
|
75
|
-
normal: Vec3;
|
|
76
|
-
distance: number;
|
|
77
|
-
layer: number;
|
|
78
|
-
}
|
|
79
|
-
export interface Tracer {
|
|
80
|
-
id: string;
|
|
81
|
-
bulletId: string;
|
|
82
|
-
startPosition: Vec3;
|
|
83
|
-
endPosition: Vec3;
|
|
84
|
-
color: string;
|
|
85
|
-
width: number;
|
|
86
|
-
lifetime: number;
|
|
87
|
-
spawnTime: number;
|
|
88
|
-
}
|
|
89
|
-
export type BulletEventType = 'bullet-spawned' | 'bullet-hit' | 'bullet-destroyed' | 'bullet-ricochet' | 'bullet-penetrate' | 'tracer-spawned' | 'impact-effect';
|
|
90
|
-
export interface BulletEvent {
|
|
91
|
-
type: BulletEventType;
|
|
92
|
-
timestamp: number;
|
|
93
|
-
data: unknown;
|
|
94
|
-
}
|
|
95
|
-
export type BulletEventCallback = (event: BulletEvent) => void;
|
|
96
|
-
export interface BulletConfig {
|
|
97
|
-
/** Maximum bullets */
|
|
98
|
-
maxBullets: number;
|
|
99
|
-
/** Maximum tracers */
|
|
100
|
-
maxTracers: number;
|
|
101
|
-
/** Physics timestep */
|
|
102
|
-
physicsTimestep: number;
|
|
103
|
-
/** Gravity */
|
|
104
|
-
gravity: Vec3;
|
|
105
|
-
/** Default tracer lifetime */
|
|
106
|
-
tracerLifetime: number;
|
|
107
|
-
/** Collision layers */
|
|
108
|
-
collisionMask: number;
|
|
109
|
-
/** Bullet time scale */
|
|
110
|
-
timeScale: number;
|
|
111
|
-
/** Enable pooling */
|
|
112
|
-
pooling: boolean;
|
|
113
|
-
}
|
|
114
|
-
export declare const DEFAULT_BULLET_CONFIG: BulletConfig;
|
|
115
|
-
export declare const DEFAULT_BULLET_DEFINITIONS: BulletDefinition[];
|
|
116
|
-
export declare class NiceBullet {
|
|
117
|
-
private config;
|
|
118
|
-
private definitions;
|
|
119
|
-
private bullets;
|
|
120
|
-
private bulletPool;
|
|
121
|
-
private tracers;
|
|
122
|
-
private colliders;
|
|
123
|
-
private eventListeners;
|
|
124
|
-
private nextBulletId;
|
|
125
|
-
constructor(config?: Partial<BulletConfig>);
|
|
126
|
-
on(event: BulletEventType, callback: BulletEventCallback): () => void;
|
|
127
|
-
private emit;
|
|
128
|
-
registerDefinition(definition: BulletDefinition): void;
|
|
129
|
-
getDefinition(id: string): BulletDefinition | undefined;
|
|
130
|
-
registerCollider(collider: Collider): void;
|
|
131
|
-
updateCollider(id: string, position: Vec3): void;
|
|
132
|
-
removeCollider(id: string): void;
|
|
133
|
-
fire(definitionId: string, position: Vec3, direction: Vec3, owner: string, options?: {
|
|
134
|
-
target?: string;
|
|
135
|
-
damageMultiplier?: number;
|
|
136
|
-
speedMultiplier?: number;
|
|
137
|
-
}): string | null;
|
|
138
|
-
private processHitscan;
|
|
139
|
-
update(deltaTime: number): void;
|
|
140
|
-
private updateBulletPhysics;
|
|
141
|
-
private updateHomingBullet;
|
|
142
|
-
private checkBulletCollisions;
|
|
143
|
-
private raycast;
|
|
144
|
-
private raySphereIntersect;
|
|
145
|
-
private createTracer;
|
|
146
|
-
private updateTracers;
|
|
147
|
-
getTracers(): Tracer[];
|
|
148
|
-
setTimeScale(scale: number): void;
|
|
149
|
-
getTimeScale(): number;
|
|
150
|
-
getBullet(id: string): Bullet | undefined;
|
|
151
|
-
getAllBullets(): Bullet[];
|
|
152
|
-
getBulletsByOwner(owner: string): Bullet[];
|
|
153
|
-
destroyBullet(id: string): void;
|
|
154
|
-
clearAll(): void;
|
|
155
|
-
private normalize;
|
|
156
|
-
private vec3Length;
|
|
157
|
-
private vec3Distance;
|
|
158
|
-
private dot;
|
|
159
|
-
private addVec3;
|
|
160
|
-
private subVec3;
|
|
161
|
-
private scaleVec3;
|
|
162
|
-
private lerpVec3;
|
|
163
|
-
private reflect;
|
|
164
|
-
private generateId;
|
|
165
|
-
destroy(): void;
|
|
166
|
-
}
|
|
167
|
-
export declare function createBulletSystem(config?: Partial<BulletConfig>): NiceBullet;
|
|
@@ -1,252 +0,0 @@
|
|
|
1
|
-
export type CameraId = string;
|
|
2
|
-
export type CameraMode = 'follow' | 'orbit' | 'free' | 'fixed' | 'firstPerson' | 'cinematic' | 'isometric';
|
|
3
|
-
export interface Vec3 {
|
|
4
|
-
x: number;
|
|
5
|
-
y: number;
|
|
6
|
-
z: number;
|
|
7
|
-
}
|
|
8
|
-
export interface Quaternion {
|
|
9
|
-
x: number;
|
|
10
|
-
y: number;
|
|
11
|
-
z: number;
|
|
12
|
-
w: number;
|
|
13
|
-
}
|
|
14
|
-
export interface Bounds {
|
|
15
|
-
min: Vec3;
|
|
16
|
-
max: Vec3;
|
|
17
|
-
}
|
|
18
|
-
export interface CameraDefinition {
|
|
19
|
-
id: CameraId;
|
|
20
|
-
name: string;
|
|
21
|
-
mode: CameraMode;
|
|
22
|
-
/** Field of view in degrees */
|
|
23
|
-
fov: number;
|
|
24
|
-
/** Near clipping plane */
|
|
25
|
-
nearClip: number;
|
|
26
|
-
/** Far clipping plane */
|
|
27
|
-
farClip: number;
|
|
28
|
-
/** Initial position */
|
|
29
|
-
position: Vec3;
|
|
30
|
-
/** Initial rotation (euler angles) */
|
|
31
|
-
rotation: Vec3;
|
|
32
|
-
/** Follow target settings */
|
|
33
|
-
follow?: CameraFollowSettings;
|
|
34
|
-
/** Orbit settings */
|
|
35
|
-
orbit?: CameraOrbitSettings;
|
|
36
|
-
/** Isometric settings */
|
|
37
|
-
isometric?: CameraIsometricSettings;
|
|
38
|
-
/** Movement constraints */
|
|
39
|
-
bounds?: Bounds;
|
|
40
|
-
/** Custom data */
|
|
41
|
-
customData?: Record<string, unknown>;
|
|
42
|
-
}
|
|
43
|
-
export interface CameraFollowSettings {
|
|
44
|
-
/** Offset from target */
|
|
45
|
-
offset: Vec3;
|
|
46
|
-
/** Look-at offset */
|
|
47
|
-
lookAtOffset: Vec3;
|
|
48
|
-
/** Smoothing factor (0-1, 1 = instant) */
|
|
49
|
-
smoothing: number;
|
|
50
|
-
/** Dead zone size */
|
|
51
|
-
deadZone: Vec3;
|
|
52
|
-
/** Allow rotation with target */
|
|
53
|
-
rotateWithTarget: boolean;
|
|
54
|
-
/** Lead the target based on velocity */
|
|
55
|
-
leadAmount: number;
|
|
56
|
-
/** Max lead distance */
|
|
57
|
-
maxLead: number;
|
|
58
|
-
}
|
|
59
|
-
export interface CameraOrbitSettings {
|
|
60
|
-
/** Target to orbit around */
|
|
61
|
-
target: Vec3;
|
|
62
|
-
/** Distance from target */
|
|
63
|
-
distance: number;
|
|
64
|
-
/** Min/max distance */
|
|
65
|
-
minDistance: number;
|
|
66
|
-
maxDistance: number;
|
|
67
|
-
/** Rotation speed (degrees per pixel) */
|
|
68
|
-
rotationSpeed: number;
|
|
69
|
-
/** Zoom speed */
|
|
70
|
-
zoomSpeed: number;
|
|
71
|
-
/** Vertical angle limits (degrees) */
|
|
72
|
-
minPitch: number;
|
|
73
|
-
maxPitch: number;
|
|
74
|
-
/** Enable auto-rotation */
|
|
75
|
-
autoRotate: boolean;
|
|
76
|
-
autoRotateSpeed: number;
|
|
77
|
-
/** Smoothing */
|
|
78
|
-
smoothing: number;
|
|
79
|
-
}
|
|
80
|
-
export interface CameraIsometricSettings {
|
|
81
|
-
/** Pitch angle (degrees) */
|
|
82
|
-
pitch: number;
|
|
83
|
-
/** Yaw angle (degrees) */
|
|
84
|
-
yaw: number;
|
|
85
|
-
/** Zoom level */
|
|
86
|
-
zoom: number;
|
|
87
|
-
minZoom: number;
|
|
88
|
-
maxZoom: number;
|
|
89
|
-
/** Orthographic size */
|
|
90
|
-
orthoSize: number;
|
|
91
|
-
}
|
|
92
|
-
export interface CameraState {
|
|
93
|
-
id: CameraId;
|
|
94
|
-
position: Vec3;
|
|
95
|
-
rotation: Vec3;
|
|
96
|
-
fov: number;
|
|
97
|
-
zoom: number;
|
|
98
|
-
target?: Vec3;
|
|
99
|
-
velocity: Vec3;
|
|
100
|
-
active: boolean;
|
|
101
|
-
}
|
|
102
|
-
export interface CameraShake {
|
|
103
|
-
id: string;
|
|
104
|
-
intensity: number;
|
|
105
|
-
frequency: number;
|
|
106
|
-
duration: number;
|
|
107
|
-
elapsed: number;
|
|
108
|
-
decay: boolean;
|
|
109
|
-
axes: {
|
|
110
|
-
x: boolean;
|
|
111
|
-
y: boolean;
|
|
112
|
-
z: boolean;
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
export interface CameraTransition {
|
|
116
|
-
id: string;
|
|
117
|
-
fromCamera: CameraId;
|
|
118
|
-
toCamera: CameraId;
|
|
119
|
-
duration: number;
|
|
120
|
-
elapsed: number;
|
|
121
|
-
easing: EasingFunction;
|
|
122
|
-
onComplete?: () => void;
|
|
123
|
-
}
|
|
124
|
-
export type EasingFunction = (t: number) => number;
|
|
125
|
-
export interface CameraKeyframe {
|
|
126
|
-
time: number;
|
|
127
|
-
position: Vec3;
|
|
128
|
-
rotation: Vec3;
|
|
129
|
-
fov: number;
|
|
130
|
-
easing?: EasingFunction;
|
|
131
|
-
}
|
|
132
|
-
export interface CinematicSequence {
|
|
133
|
-
id: string;
|
|
134
|
-
name: string;
|
|
135
|
-
duration: number;
|
|
136
|
-
keyframes: CameraKeyframe[];
|
|
137
|
-
loop: boolean;
|
|
138
|
-
onComplete?: () => void;
|
|
139
|
-
}
|
|
140
|
-
export interface ScreenEffect {
|
|
141
|
-
id: string;
|
|
142
|
-
type: 'vignette' | 'blur' | 'chromatic' | 'grain' | 'letterbox' | 'flash' | 'fade';
|
|
143
|
-
intensity: number;
|
|
144
|
-
duration: number;
|
|
145
|
-
elapsed: number;
|
|
146
|
-
params?: Record<string, unknown>;
|
|
147
|
-
}
|
|
148
|
-
export type CameraEventType = 'camera-changed' | 'mode-changed' | 'transition-start' | 'transition-end' | 'shake-start' | 'shake-end' | 'sequence-start' | 'sequence-end' | 'keyframe-reached' | 'update';
|
|
149
|
-
export interface CameraEvent {
|
|
150
|
-
type: CameraEventType;
|
|
151
|
-
timestamp: number;
|
|
152
|
-
data: unknown;
|
|
153
|
-
}
|
|
154
|
-
export type CameraEventCallback = (event: CameraEvent) => void;
|
|
155
|
-
export interface CameraSystemConfig {
|
|
156
|
-
/** Default camera settings */
|
|
157
|
-
defaultFov: number;
|
|
158
|
-
defaultNearClip: number;
|
|
159
|
-
defaultFarClip: number;
|
|
160
|
-
/** Update rate (Hz) */
|
|
161
|
-
updateRate: number;
|
|
162
|
-
/** Max active cameras (for split-screen) */
|
|
163
|
-
maxActiveCameras: number;
|
|
164
|
-
/** Enable post-processing effects */
|
|
165
|
-
enableEffects: boolean;
|
|
166
|
-
}
|
|
167
|
-
export declare const DEFAULT_CAMERA_CONFIG: CameraSystemConfig;
|
|
168
|
-
export declare const EASING: {
|
|
169
|
-
linear: (t: number) => number;
|
|
170
|
-
easeInQuad: (t: number) => number;
|
|
171
|
-
easeOutQuad: (t: number) => number;
|
|
172
|
-
easeInOutQuad: (t: number) => number;
|
|
173
|
-
easeInCubic: (t: number) => number;
|
|
174
|
-
easeOutCubic: (t: number) => number;
|
|
175
|
-
easeInOutCubic: (t: number) => number;
|
|
176
|
-
easeInExpo: (t: number) => number;
|
|
177
|
-
easeOutExpo: (t: number) => number;
|
|
178
|
-
easeInOutExpo: (t: number) => number;
|
|
179
|
-
smoothstep: (t: number) => number;
|
|
180
|
-
smootherstep: (t: number) => number;
|
|
181
|
-
};
|
|
182
|
-
export declare class NiceCamera {
|
|
183
|
-
private config;
|
|
184
|
-
private cameras;
|
|
185
|
-
private cameraStates;
|
|
186
|
-
private activeCamera;
|
|
187
|
-
private activeCameras;
|
|
188
|
-
private shakes;
|
|
189
|
-
private transitions;
|
|
190
|
-
private effects;
|
|
191
|
-
private currentSequence;
|
|
192
|
-
private sequenceTime;
|
|
193
|
-
private eventListeners;
|
|
194
|
-
private updateTimer;
|
|
195
|
-
private lastUpdateTime;
|
|
196
|
-
private inputState;
|
|
197
|
-
constructor(config?: Partial<CameraSystemConfig>);
|
|
198
|
-
on(event: CameraEventType, callback: CameraEventCallback): () => void;
|
|
199
|
-
private emit;
|
|
200
|
-
createCamera(definition: CameraDefinition): CameraId;
|
|
201
|
-
removeCamera(id: CameraId): boolean;
|
|
202
|
-
getCamera(id: CameraId): CameraDefinition | undefined;
|
|
203
|
-
getCameraState(id: CameraId): CameraState | undefined;
|
|
204
|
-
getAllCameras(): CameraDefinition[];
|
|
205
|
-
setActiveCamera(id: CameraId, transition?: {
|
|
206
|
-
duration: number;
|
|
207
|
-
easing?: EasingFunction;
|
|
208
|
-
}): void;
|
|
209
|
-
getActiveCamera(): CameraId | null;
|
|
210
|
-
getActiveCameraState(): CameraState | undefined;
|
|
211
|
-
setActiveCameras(ids: CameraId[]): void;
|
|
212
|
-
getActiveCameras(): CameraState[];
|
|
213
|
-
setCameraMode(id: CameraId, mode: CameraMode): void;
|
|
214
|
-
setPosition(id: CameraId, position: Vec3): void;
|
|
215
|
-
setRotation(id: CameraId, rotation: Vec3): void;
|
|
216
|
-
setTarget(id: CameraId, target: Vec3): void;
|
|
217
|
-
setZoom(id: CameraId, zoom: number): void;
|
|
218
|
-
setFov(id: CameraId, fov: number): void;
|
|
219
|
-
handleMouseMove(deltaX: number, deltaY: number): void;
|
|
220
|
-
handleScroll(delta: number): void;
|
|
221
|
-
handleKeyDown(key: string): void;
|
|
222
|
-
handleKeyUp(key: string): void;
|
|
223
|
-
shake(intensity?: number, duration?: number, options?: Partial<{
|
|
224
|
-
frequency: number;
|
|
225
|
-
decay: boolean;
|
|
226
|
-
axes: {
|
|
227
|
-
x: boolean;
|
|
228
|
-
y: boolean;
|
|
229
|
-
z: boolean;
|
|
230
|
-
};
|
|
231
|
-
}>): string;
|
|
232
|
-
stopShake(id?: string): void;
|
|
233
|
-
private calculateShakeOffset;
|
|
234
|
-
private startTransition;
|
|
235
|
-
playSequence(sequence: CinematicSequence): void;
|
|
236
|
-
stopSequence(): void;
|
|
237
|
-
private updateSequence;
|
|
238
|
-
addEffect(type: ScreenEffect['type'], intensity: number, duration?: number, params?: Record<string, unknown>): string;
|
|
239
|
-
removeEffect(id: string): boolean;
|
|
240
|
-
getActiveEffects(): ScreenEffect[];
|
|
241
|
-
private startUpdateLoop;
|
|
242
|
-
update(dt: number): void;
|
|
243
|
-
private updateCameraModes;
|
|
244
|
-
private updateFollowCamera;
|
|
245
|
-
private updateOrbitCamera;
|
|
246
|
-
private updateFreeCamera;
|
|
247
|
-
private updateIsometricCamera;
|
|
248
|
-
lookAt(cameraId: CameraId, target: Vec3): void;
|
|
249
|
-
getViewMatrix(cameraId: CameraId): number[];
|
|
250
|
-
destroy(): void;
|
|
251
|
-
}
|
|
252
|
-
export declare function createCameraSystem(config?: Partial<CameraSystemConfig>): NiceCamera;
|
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
export type CardType = 'creature' | 'spell' | 'artifact' | 'enchantment' | 'land' | 'instant' | 'equipment' | 'action';
|
|
2
|
-
export type CardRarity = 'common' | 'uncommon' | 'rare' | 'epic' | 'legendary';
|
|
3
|
-
export type CardSuit = 'hearts' | 'diamonds' | 'clubs' | 'spades' | 'fire' | 'water' | 'earth' | 'air' | 'light' | 'dark' | 'neutral';
|
|
4
|
-
export type ZoneType = 'deck' | 'hand' | 'discard' | 'battlefield' | 'exile' | 'graveyard';
|
|
5
|
-
export interface CardEffect {
|
|
6
|
-
id: string;
|
|
7
|
-
trigger: 'onPlay' | 'onDraw' | 'onDiscard' | 'onDestroy' | 'passive' | 'activated';
|
|
8
|
-
target: 'self' | 'opponent' | 'all' | 'choose';
|
|
9
|
-
action: string;
|
|
10
|
-
value?: number;
|
|
11
|
-
duration?: number;
|
|
12
|
-
description: string;
|
|
13
|
-
}
|
|
14
|
-
export interface CardDefinition {
|
|
15
|
-
id: string;
|
|
16
|
-
name: string;
|
|
17
|
-
description: string;
|
|
18
|
-
type: CardType;
|
|
19
|
-
rarity: CardRarity;
|
|
20
|
-
suit?: CardSuit;
|
|
21
|
-
cost: number;
|
|
22
|
-
attack?: number;
|
|
23
|
-
defense?: number;
|
|
24
|
-
health?: number;
|
|
25
|
-
effects: CardEffect[];
|
|
26
|
-
keywords: string[];
|
|
27
|
-
artId?: string;
|
|
28
|
-
frameId?: string;
|
|
29
|
-
maxInDeck: number;
|
|
30
|
-
set?: string;
|
|
31
|
-
collectible: boolean;
|
|
32
|
-
}
|
|
33
|
-
export interface CardInstance {
|
|
34
|
-
id: string;
|
|
35
|
-
definitionId: string;
|
|
36
|
-
ownerId: string;
|
|
37
|
-
zone: ZoneType;
|
|
38
|
-
position: number;
|
|
39
|
-
isFaceUp: boolean;
|
|
40
|
-
isTapped: boolean;
|
|
41
|
-
currentAttack?: number;
|
|
42
|
-
currentDefense?: number;
|
|
43
|
-
currentHealth?: number;
|
|
44
|
-
modifiers: CardModifier[];
|
|
45
|
-
canAct: boolean;
|
|
46
|
-
turnsInPlay: number;
|
|
47
|
-
damageDealt: number;
|
|
48
|
-
damageTaken: number;
|
|
49
|
-
metadata: Record<string, unknown>;
|
|
50
|
-
}
|
|
51
|
-
export interface CardModifier {
|
|
52
|
-
id: string;
|
|
53
|
-
source: string;
|
|
54
|
-
stat: 'attack' | 'defense' | 'health' | 'cost';
|
|
55
|
-
value: number;
|
|
56
|
-
duration: number;
|
|
57
|
-
expiresAt?: number;
|
|
58
|
-
}
|
|
59
|
-
export interface Deck {
|
|
60
|
-
id: string;
|
|
61
|
-
name: string;
|
|
62
|
-
ownerId: string;
|
|
63
|
-
cards: string[];
|
|
64
|
-
maxSize: number;
|
|
65
|
-
minSize: number;
|
|
66
|
-
isValid: boolean;
|
|
67
|
-
}
|
|
68
|
-
export interface CardPlayerState {
|
|
69
|
-
id: string;
|
|
70
|
-
name: string;
|
|
71
|
-
health: number;
|
|
72
|
-
maxHealth: number;
|
|
73
|
-
mana: number;
|
|
74
|
-
maxMana: number;
|
|
75
|
-
deck: string[];
|
|
76
|
-
hand: string[];
|
|
77
|
-
battlefield: string[];
|
|
78
|
-
discard: string[];
|
|
79
|
-
exile: string[];
|
|
80
|
-
cardsDrawnThisTurn: number;
|
|
81
|
-
cardsPlayedThisTurn: number;
|
|
82
|
-
manaSpentThisTurn: number;
|
|
83
|
-
maxHandSize: number;
|
|
84
|
-
drawsPerTurn: number;
|
|
85
|
-
}
|
|
86
|
-
export type CardEventType = 'card-draw' | 'card-play' | 'card-discard' | 'card-move' | 'card-tap' | 'card-untap' | 'card-destroy' | 'card-attack' | 'card-damage' | 'card-heal' | 'card-buff' | 'card-debuff' | 'shuffle' | 'turn-start' | 'turn-end' | 'game-over';
|
|
87
|
-
export interface CardEvent {
|
|
88
|
-
type: CardEventType;
|
|
89
|
-
timestamp: number;
|
|
90
|
-
playerId: string;
|
|
91
|
-
cardId?: string;
|
|
92
|
-
data: unknown;
|
|
93
|
-
}
|
|
94
|
-
export type CardEventCallback = (event: CardEvent) => void;
|
|
95
|
-
export interface CardConfig {
|
|
96
|
-
/** Default deck size */
|
|
97
|
-
defaultDeckSize: number;
|
|
98
|
-
/** Minimum deck size */
|
|
99
|
-
minDeckSize: number;
|
|
100
|
-
/** Maximum deck size */
|
|
101
|
-
maxDeckSize: number;
|
|
102
|
-
/** Starting hand size */
|
|
103
|
-
startingHandSize: number;
|
|
104
|
-
/** Maximum hand size */
|
|
105
|
-
maxHandSize: number;
|
|
106
|
-
/** Cards drawn per turn */
|
|
107
|
-
drawsPerTurn: number;
|
|
108
|
-
/** Starting health */
|
|
109
|
-
startingHealth: number;
|
|
110
|
-
/** Starting mana */
|
|
111
|
-
startingMana: number;
|
|
112
|
-
/** Maximum mana */
|
|
113
|
-
maxMana: number;
|
|
114
|
-
/** Mana gain per turn */
|
|
115
|
-
manaGainPerTurn: number;
|
|
116
|
-
/** Mill damage (deck empty) */
|
|
117
|
-
millDamage: number;
|
|
118
|
-
}
|
|
119
|
-
export declare const DEFAULT_CARD_CONFIG: CardConfig;
|
|
120
|
-
export declare const DEFAULT_CARD_DEFINITIONS: CardDefinition[];
|
|
121
|
-
export declare class NiceCard {
|
|
122
|
-
private config;
|
|
123
|
-
private definitions;
|
|
124
|
-
private cards;
|
|
125
|
-
private decks;
|
|
126
|
-
private players;
|
|
127
|
-
private eventListeners;
|
|
128
|
-
private nextId;
|
|
129
|
-
constructor(config?: Partial<CardConfig>);
|
|
130
|
-
on(event: CardEventType, callback: CardEventCallback): () => void;
|
|
131
|
-
private emit;
|
|
132
|
-
registerCard(definition: CardDefinition): void;
|
|
133
|
-
getDefinition(id: string): CardDefinition | undefined;
|
|
134
|
-
createPlayer(id: string, name: string): CardPlayerState;
|
|
135
|
-
getPlayer(id: string): CardPlayerState | undefined;
|
|
136
|
-
createDeck(ownerId: string, name: string): string;
|
|
137
|
-
addCardToDeck(deckId: string, cardDefId: string): string | null;
|
|
138
|
-
removeCardFromDeck(deckId: string, cardId: string): boolean;
|
|
139
|
-
private validateDeck;
|
|
140
|
-
private createCardInstance;
|
|
141
|
-
getCard(id: string): CardInstance | undefined;
|
|
142
|
-
initializeGame(playerIds: string[]): void;
|
|
143
|
-
setPlayerDeck(playerId: string, deckId: string): boolean;
|
|
144
|
-
shuffleDeck(playerId: string): void;
|
|
145
|
-
draw(playerId: string): string | null;
|
|
146
|
-
drawMultiple(playerId: string, count: number): string[];
|
|
147
|
-
playCard(playerId: string, cardId: string, targetId?: string): boolean;
|
|
148
|
-
private getCardCost;
|
|
149
|
-
private triggerEffects;
|
|
150
|
-
private executeEffect;
|
|
151
|
-
private applyEffect;
|
|
152
|
-
attack(attackerId: string, defenderId: string): boolean;
|
|
153
|
-
attackPlayer(attackerId: string, targetPlayerId: string): boolean;
|
|
154
|
-
private checkDeath;
|
|
155
|
-
tap(cardId: string): boolean;
|
|
156
|
-
untap(cardId: string): boolean;
|
|
157
|
-
untapAll(playerId: string): void;
|
|
158
|
-
startTurn(playerId: string): void;
|
|
159
|
-
endTurn(playerId: string): void;
|
|
160
|
-
discard(playerId: string, cardId: string): boolean;
|
|
161
|
-
getHandSize(playerId: string): number;
|
|
162
|
-
getDeckSize(playerId: string): number;
|
|
163
|
-
getBattlefieldCards(playerId: string): CardInstance[];
|
|
164
|
-
getHandCards(playerId: string): CardInstance[];
|
|
165
|
-
getPlayableCards(playerId: string): CardInstance[];
|
|
166
|
-
addModifier(cardId: string, modifier: Omit<CardModifier, 'id'>): string | null;
|
|
167
|
-
removeModifier(cardId: string, modifierId: string): boolean;
|
|
168
|
-
update(_deltaTime: number): void;
|
|
169
|
-
destroy(): void;
|
|
170
|
-
}
|
|
171
|
-
export declare function createCardSystem(config?: Partial<CardConfig>): NiceCard;
|