@nice2dev/game-engine 1.3.12 → 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 +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,143 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from 'events';
|
|
2
|
-
export type TerrainId = string;
|
|
3
|
-
export type LayerId = string;
|
|
4
|
-
export interface Vector2 {
|
|
5
|
-
x: number;
|
|
6
|
-
y: number;
|
|
7
|
-
}
|
|
8
|
-
export interface Vector3 {
|
|
9
|
-
x: number;
|
|
10
|
-
y: number;
|
|
11
|
-
z: number;
|
|
12
|
-
}
|
|
13
|
-
export interface TerrainLayer {
|
|
14
|
-
id: LayerId;
|
|
15
|
-
name: string;
|
|
16
|
-
texture: string;
|
|
17
|
-
normalMap?: string;
|
|
18
|
-
tileSize: number;
|
|
19
|
-
metallic?: number;
|
|
20
|
-
smoothness?: number;
|
|
21
|
-
minSlope?: number;
|
|
22
|
-
maxSlope?: number;
|
|
23
|
-
minHeight?: number;
|
|
24
|
-
maxHeight?: number;
|
|
25
|
-
}
|
|
26
|
-
export interface DetailPrototype {
|
|
27
|
-
id: string;
|
|
28
|
-
mesh?: string;
|
|
29
|
-
texture?: string;
|
|
30
|
-
minWidth: number;
|
|
31
|
-
maxWidth: number;
|
|
32
|
-
minHeight: number;
|
|
33
|
-
maxHeight: number;
|
|
34
|
-
noiseSpread: number;
|
|
35
|
-
healthyColor: {
|
|
36
|
-
r: number;
|
|
37
|
-
g: number;
|
|
38
|
-
b: number;
|
|
39
|
-
};
|
|
40
|
-
dryColor: {
|
|
41
|
-
r: number;
|
|
42
|
-
g: number;
|
|
43
|
-
b: number;
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
export interface TreePrototype {
|
|
47
|
-
id: string;
|
|
48
|
-
mesh: string;
|
|
49
|
-
bendFactor: number;
|
|
50
|
-
navMeshObstacle?: boolean;
|
|
51
|
-
}
|
|
52
|
-
export interface TerrainData {
|
|
53
|
-
id: TerrainId;
|
|
54
|
-
width: number;
|
|
55
|
-
height: number;
|
|
56
|
-
resolution: number;
|
|
57
|
-
heightMap: Float32Array;
|
|
58
|
-
splatMap: Float32Array[];
|
|
59
|
-
holeMap?: Uint8Array;
|
|
60
|
-
detailMaps?: Uint16Array[];
|
|
61
|
-
treePlacements?: TreePlacement[];
|
|
62
|
-
minHeight: number;
|
|
63
|
-
maxHeight: number;
|
|
64
|
-
}
|
|
65
|
-
export interface TreePlacement {
|
|
66
|
-
prototypeId: string;
|
|
67
|
-
position: Vector3;
|
|
68
|
-
rotation: number;
|
|
69
|
-
scale: Vector3;
|
|
70
|
-
color?: {
|
|
71
|
-
r: number;
|
|
72
|
-
g: number;
|
|
73
|
-
b: number;
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
export interface Brush {
|
|
77
|
-
size: number;
|
|
78
|
-
falloff: number;
|
|
79
|
-
strength: number;
|
|
80
|
-
shape: 'circle' | 'square' | 'custom';
|
|
81
|
-
customMask?: Float32Array;
|
|
82
|
-
}
|
|
83
|
-
export type TerrainEventType = 'height-modified' | 'splat-modified' | 'detail-modified' | 'tree-added' | 'tree-removed' | 'hole-created' | 'hole-filled' | 'terrain-created' | 'terrain-destroyed';
|
|
84
|
-
export interface TerrainEvent {
|
|
85
|
-
type: TerrainEventType;
|
|
86
|
-
terrainId: TerrainId;
|
|
87
|
-
position?: Vector2;
|
|
88
|
-
radius?: number;
|
|
89
|
-
}
|
|
90
|
-
export interface TerrainConfig {
|
|
91
|
-
defaultResolution?: number;
|
|
92
|
-
defaultMinHeight?: number;
|
|
93
|
-
defaultMaxHeight?: number;
|
|
94
|
-
lodLevels?: number;
|
|
95
|
-
lodDistances?: number[];
|
|
96
|
-
}
|
|
97
|
-
export declare const DEFAULT_TERRAIN_CONFIG: TerrainConfig;
|
|
98
|
-
export declare class NiceTerrain extends EventEmitter {
|
|
99
|
-
private terrains;
|
|
100
|
-
private layers;
|
|
101
|
-
private detailPrototypes;
|
|
102
|
-
private treePrototypes;
|
|
103
|
-
private nextTerrainId;
|
|
104
|
-
private config;
|
|
105
|
-
constructor(config?: Partial<TerrainConfig>);
|
|
106
|
-
registerLayer(layer: TerrainLayer): void;
|
|
107
|
-
unregisterLayer(layerId: LayerId): boolean;
|
|
108
|
-
getLayer(layerId: LayerId): TerrainLayer | undefined;
|
|
109
|
-
getAllLayers(): TerrainLayer[];
|
|
110
|
-
registerDetailPrototype(prototype: DetailPrototype): void;
|
|
111
|
-
registerTreePrototype(prototype: TreePrototype): void;
|
|
112
|
-
create(width: number, height: number, options?: {
|
|
113
|
-
resolution?: number;
|
|
114
|
-
minHeight?: number;
|
|
115
|
-
maxHeight?: number;
|
|
116
|
-
}): TerrainId;
|
|
117
|
-
destroy(terrainId: TerrainId): boolean;
|
|
118
|
-
get(terrainId: TerrainId): TerrainData | undefined;
|
|
119
|
-
getHeight(terrainId: TerrainId, x: number, y: number): number;
|
|
120
|
-
private sampleHeightMap;
|
|
121
|
-
setHeight(terrainId: TerrainId, x: number, y: number, height: number): void;
|
|
122
|
-
modifyHeight(terrainId: TerrainId, centerX: number, centerY: number, brush: Brush, delta: number): void;
|
|
123
|
-
private calculateFalloff;
|
|
124
|
-
flatten(terrainId: TerrainId, centerX: number, centerY: number, brush: Brush, targetHeight: number): void;
|
|
125
|
-
smooth(terrainId: TerrainId, centerX: number, centerY: number, brush: Brush): void;
|
|
126
|
-
getNormal(terrainId: TerrainId, x: number, y: number): Vector3;
|
|
127
|
-
getSlope(terrainId: TerrainId, x: number, y: number): number;
|
|
128
|
-
addSplatLayer(terrainId: TerrainId): number;
|
|
129
|
-
paintLayer(terrainId: TerrainId, layerIndex: number, centerX: number, centerY: number, brush: Brush): void;
|
|
130
|
-
getSplatWeights(terrainId: TerrainId, x: number, y: number): number[];
|
|
131
|
-
createHole(terrainId: TerrainId, centerX: number, centerY: number, brush: Brush): void;
|
|
132
|
-
fillHole(terrainId: TerrainId, centerX: number, centerY: number, brush: Brush): void;
|
|
133
|
-
isHole(terrainId: TerrainId, x: number, y: number): boolean;
|
|
134
|
-
placeTree(terrainId: TerrainId, prototypeId: string, position: Vector3, options?: {
|
|
135
|
-
rotation?: number;
|
|
136
|
-
scale?: Vector3;
|
|
137
|
-
}): void;
|
|
138
|
-
removeTree(terrainId: TerrainId, x: number, z: number, radius: number): number;
|
|
139
|
-
getTrees(terrainId: TerrainId): TreePlacement[];
|
|
140
|
-
}
|
|
141
|
-
export declare function createTerrainSystem(config?: Partial<TerrainConfig>): NiceTerrain;
|
|
142
|
-
export declare function createBrush(options?: Partial<Brush>): Brush;
|
|
143
|
-
export default NiceTerrain;
|
|
@@ -1,218 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from 'events';
|
|
2
|
-
export interface TilePosition {
|
|
3
|
-
x: number;
|
|
4
|
-
y: number;
|
|
5
|
-
}
|
|
6
|
-
export interface WorldPosition {
|
|
7
|
-
worldX: number;
|
|
8
|
-
worldY: number;
|
|
9
|
-
}
|
|
10
|
-
export interface TileRect {
|
|
11
|
-
x: number;
|
|
12
|
-
y: number;
|
|
13
|
-
width: number;
|
|
14
|
-
height: number;
|
|
15
|
-
}
|
|
16
|
-
export interface TileData {
|
|
17
|
-
id: number;
|
|
18
|
-
tilesetId: string;
|
|
19
|
-
localId: number;
|
|
20
|
-
flipH?: boolean;
|
|
21
|
-
flipV?: boolean;
|
|
22
|
-
rotation?: 0 | 90 | 180 | 270;
|
|
23
|
-
}
|
|
24
|
-
export interface TileProperties {
|
|
25
|
-
[key: string]: string | number | boolean;
|
|
26
|
-
}
|
|
27
|
-
export interface Tile {
|
|
28
|
-
id: number;
|
|
29
|
-
name?: string;
|
|
30
|
-
collision?: boolean;
|
|
31
|
-
collisionShape?: 'full' | 'half-top' | 'half-bottom' | 'half-left' | 'half-right' | 'slope-left' | 'slope-right' | 'custom';
|
|
32
|
-
customCollision?: Array<{
|
|
33
|
-
x: number;
|
|
34
|
-
y: number;
|
|
35
|
-
}>;
|
|
36
|
-
animation?: TileAnimation;
|
|
37
|
-
properties: TileProperties;
|
|
38
|
-
}
|
|
39
|
-
export interface TileAnimation {
|
|
40
|
-
frames: number[];
|
|
41
|
-
duration: number;
|
|
42
|
-
loop: boolean;
|
|
43
|
-
currentFrame: number;
|
|
44
|
-
timer: number;
|
|
45
|
-
}
|
|
46
|
-
export interface TilesetConfig {
|
|
47
|
-
id: string;
|
|
48
|
-
name: string;
|
|
49
|
-
imageUrl: string;
|
|
50
|
-
tileWidth: number;
|
|
51
|
-
tileHeight: number;
|
|
52
|
-
spacing?: number;
|
|
53
|
-
margin?: number;
|
|
54
|
-
columns?: number;
|
|
55
|
-
rows?: number;
|
|
56
|
-
firstGid: number;
|
|
57
|
-
}
|
|
58
|
-
export declare class Tileset {
|
|
59
|
-
readonly id: string;
|
|
60
|
-
readonly name: string;
|
|
61
|
-
readonly imageUrl: string;
|
|
62
|
-
readonly tileWidth: number;
|
|
63
|
-
readonly tileHeight: number;
|
|
64
|
-
readonly spacing: number;
|
|
65
|
-
readonly margin: number;
|
|
66
|
-
readonly columns: number;
|
|
67
|
-
readonly rows: number;
|
|
68
|
-
readonly firstGid: number;
|
|
69
|
-
private tiles;
|
|
70
|
-
private image;
|
|
71
|
-
private loaded;
|
|
72
|
-
constructor(config: TilesetConfig);
|
|
73
|
-
load(): Promise<void>;
|
|
74
|
-
isLoaded(): boolean;
|
|
75
|
-
getImage(): HTMLImageElement | null;
|
|
76
|
-
getTile(localId: number): Tile | undefined;
|
|
77
|
-
setTile(localId: number, tile: Tile): void;
|
|
78
|
-
containsGid(gid: number): boolean;
|
|
79
|
-
gidToLocal(gid: number): number;
|
|
80
|
-
localToGid(localId: number): number;
|
|
81
|
-
getTileUV(localId: number): {
|
|
82
|
-
u: number;
|
|
83
|
-
v: number;
|
|
84
|
-
u2: number;
|
|
85
|
-
v2: number;
|
|
86
|
-
};
|
|
87
|
-
getTileRect(localId: number): TileRect;
|
|
88
|
-
}
|
|
89
|
-
export interface LayerConfig {
|
|
90
|
-
id: string;
|
|
91
|
-
name: string;
|
|
92
|
-
width: number;
|
|
93
|
-
height: number;
|
|
94
|
-
visible?: boolean;
|
|
95
|
-
opacity?: number;
|
|
96
|
-
offsetX?: number;
|
|
97
|
-
offsetY?: number;
|
|
98
|
-
parallaxX?: number;
|
|
99
|
-
parallaxY?: number;
|
|
100
|
-
tintColor?: string;
|
|
101
|
-
}
|
|
102
|
-
export declare class TilemapLayer {
|
|
103
|
-
readonly id: string;
|
|
104
|
-
readonly name: string;
|
|
105
|
-
readonly width: number;
|
|
106
|
-
readonly height: number;
|
|
107
|
-
visible: boolean;
|
|
108
|
-
opacity: number;
|
|
109
|
-
offsetX: number;
|
|
110
|
-
offsetY: number;
|
|
111
|
-
parallaxX: number;
|
|
112
|
-
parallaxY: number;
|
|
113
|
-
tintColor: string | null;
|
|
114
|
-
private tiles;
|
|
115
|
-
constructor(config: LayerConfig);
|
|
116
|
-
isInBounds(x: number, y: number): boolean;
|
|
117
|
-
getTile(x: number, y: number): TileData | null;
|
|
118
|
-
setTile(x: number, y: number, tile: TileData | null): void;
|
|
119
|
-
fill(tile: TileData | null): void;
|
|
120
|
-
fillRect(startX: number, startY: number, width: number, height: number, tile: TileData | null): void;
|
|
121
|
-
clear(): void;
|
|
122
|
-
forEach(callback: (tile: TileData | null, x: number, y: number) => void): void;
|
|
123
|
-
toArray(): (number | null)[][];
|
|
124
|
-
}
|
|
125
|
-
export declare const AUTOTILE_BLOB_47: Record<number, number>;
|
|
126
|
-
export type AutoTileRule = {
|
|
127
|
-
mask: number;
|
|
128
|
-
result: number;
|
|
129
|
-
};
|
|
130
|
-
export interface AutoTileConfig {
|
|
131
|
-
tilesetId: string;
|
|
132
|
-
baseTile: number;
|
|
133
|
-
rules?: AutoTileRule[];
|
|
134
|
-
type: '4bit' | '8bit' | 'blob47' | 'custom';
|
|
135
|
-
}
|
|
136
|
-
export type TilemapEventType = 'tile-changed' | 'layer-added' | 'layer-removed' | 'tileset-added' | 'loaded' | 'chunk-loaded' | 'chunk-unloaded';
|
|
137
|
-
export interface TilemapEvent {
|
|
138
|
-
type: TilemapEventType;
|
|
139
|
-
x?: number;
|
|
140
|
-
y?: number;
|
|
141
|
-
layerId?: string;
|
|
142
|
-
tilesetId?: string;
|
|
143
|
-
chunkX?: number;
|
|
144
|
-
chunkY?: number;
|
|
145
|
-
}
|
|
146
|
-
export interface Chunk {
|
|
147
|
-
x: number;
|
|
148
|
-
y: number;
|
|
149
|
-
layers: Map<string, (TileData | null)[][]>;
|
|
150
|
-
dirty: boolean;
|
|
151
|
-
lastAccess: number;
|
|
152
|
-
}
|
|
153
|
-
export interface TilemapConfig {
|
|
154
|
-
width: number;
|
|
155
|
-
height: number;
|
|
156
|
-
tileWidth: number;
|
|
157
|
-
tileHeight: number;
|
|
158
|
-
infinite?: boolean;
|
|
159
|
-
chunkSize?: number;
|
|
160
|
-
orientation?: 'orthogonal' | 'isometric' | 'hexagonal';
|
|
161
|
-
staggerAxis?: 'x' | 'y';
|
|
162
|
-
staggerIndex?: 'odd' | 'even';
|
|
163
|
-
}
|
|
164
|
-
export declare class NiceTilemap extends EventEmitter {
|
|
165
|
-
readonly width: number;
|
|
166
|
-
readonly height: number;
|
|
167
|
-
readonly tileWidth: number;
|
|
168
|
-
readonly tileHeight: number;
|
|
169
|
-
readonly infinite: boolean;
|
|
170
|
-
readonly chunkSize: number;
|
|
171
|
-
readonly orientation: 'orthogonal' | 'isometric' | 'hexagonal';
|
|
172
|
-
private tilesets;
|
|
173
|
-
private layers;
|
|
174
|
-
private layerOrder;
|
|
175
|
-
private chunks;
|
|
176
|
-
private autoTileConfigs;
|
|
177
|
-
private animatedTiles;
|
|
178
|
-
constructor(config: TilemapConfig);
|
|
179
|
-
addTileset(config: TilesetConfig): Tileset;
|
|
180
|
-
getTileset(id: string): Tileset | undefined;
|
|
181
|
-
getTilesetForGid(gid: number): Tileset | undefined;
|
|
182
|
-
loadTilesets(): Promise<void>;
|
|
183
|
-
addLayer(config: LayerConfig): TilemapLayer;
|
|
184
|
-
getLayer(id: string): TilemapLayer | undefined;
|
|
185
|
-
removeLayer(id: string): boolean;
|
|
186
|
-
getLayers(): TilemapLayer[];
|
|
187
|
-
moveLayer(id: string, newIndex: number): void;
|
|
188
|
-
setTile(layerId: string, x: number, y: number, gid: number): void;
|
|
189
|
-
getTile(layerId: string, x: number, y: number): TileData | null;
|
|
190
|
-
getTileProperties(layerId: string, x: number, y: number): TileProperties | null;
|
|
191
|
-
isCollision(x: number, y: number): boolean;
|
|
192
|
-
tileToWorld(tileX: number, tileY: number): WorldPosition;
|
|
193
|
-
worldToTile(worldX: number, worldY: number): TilePosition;
|
|
194
|
-
registerAutoTile(id: string, config: AutoTileConfig): void;
|
|
195
|
-
applyAutoTile(layerId: string, autoTileId: string, x: number, y: number, updateNeighbors?: boolean): void;
|
|
196
|
-
private calculateAutoTileMask;
|
|
197
|
-
private getAutoTileResult;
|
|
198
|
-
registerAnimatedTile(tilesetId: string, localId: number, frames: number[], duration: number, loop?: boolean): void;
|
|
199
|
-
updateAnimations(deltaTime: number): void;
|
|
200
|
-
getCurrentAnimationFrame(tilesetId: string, localId: number): number;
|
|
201
|
-
getVisibleTiles(viewX: number, viewY: number, viewWidth: number, viewHeight: number): Array<{
|
|
202
|
-
layerId: string;
|
|
203
|
-
tile: TileData;
|
|
204
|
-
x: number;
|
|
205
|
-
y: number;
|
|
206
|
-
worldX: number;
|
|
207
|
-
worldY: number;
|
|
208
|
-
}>;
|
|
209
|
-
toJSON(): object;
|
|
210
|
-
loadFromJSON(data: {
|
|
211
|
-
layers: Record<string, (number | null)[][]>;
|
|
212
|
-
}): void;
|
|
213
|
-
getWalkableNeighbors(x: number, y: number, includeDiagonals?: boolean): TilePosition[];
|
|
214
|
-
}
|
|
215
|
-
export declare function createTilemap(width: number, height: number, tileWidth: number, tileHeight: number): NiceTilemap;
|
|
216
|
-
export declare function createIsometricTilemap(width: number, height: number, tileWidth: number, tileHeight: number): NiceTilemap;
|
|
217
|
-
export declare function createHexTilemap(width: number, height: number, tileWidth: number, tileHeight: number): NiceTilemap;
|
|
218
|
-
export default NiceTilemap;
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
export type TimerId = string;
|
|
2
|
-
export type TimerGroupId = string;
|
|
3
|
-
export type TimerCallback = (elapsed: number, remaining: number) => void;
|
|
4
|
-
export type TimerCompleteCallback = () => void;
|
|
5
|
-
export interface TimerConfig {
|
|
6
|
-
/** Duration in seconds */
|
|
7
|
-
duration: number;
|
|
8
|
-
/** Repeat count (-1 = infinite, 0 = once) */
|
|
9
|
-
repeat: number;
|
|
10
|
-
/** Delay before first execution */
|
|
11
|
-
delay: number;
|
|
12
|
-
/** Callback on each tick */
|
|
13
|
-
onTick?: TimerCallback;
|
|
14
|
-
/** Callback on complete */
|
|
15
|
-
onComplete?: TimerCompleteCallback;
|
|
16
|
-
/** Group for batch operations */
|
|
17
|
-
group?: TimerGroupId;
|
|
18
|
-
/** Time scale (0-1 for slow, >1 for fast) */
|
|
19
|
-
timeScale: number;
|
|
20
|
-
/** Pause on creation */
|
|
21
|
-
paused: boolean;
|
|
22
|
-
/** Auto-destroy when complete */
|
|
23
|
-
autoDestroy: boolean;
|
|
24
|
-
/** Tags for filtering */
|
|
25
|
-
tags?: string[];
|
|
26
|
-
}
|
|
27
|
-
export declare const DEFAULT_TIMER_CONFIG: Partial<TimerConfig>;
|
|
28
|
-
export interface TimerState {
|
|
29
|
-
id: TimerId;
|
|
30
|
-
config: TimerConfig;
|
|
31
|
-
/** Current elapsed time */
|
|
32
|
-
elapsed: number;
|
|
33
|
-
/** Current delay remaining */
|
|
34
|
-
delayRemaining: number;
|
|
35
|
-
/** Number of times completed */
|
|
36
|
-
completions: number;
|
|
37
|
-
/** Is paused */
|
|
38
|
-
paused: boolean;
|
|
39
|
-
/** Is running (not paused, started) */
|
|
40
|
-
running: boolean;
|
|
41
|
-
/** Is finished */
|
|
42
|
-
finished: boolean;
|
|
43
|
-
/** Creation time */
|
|
44
|
-
createdAt: number;
|
|
45
|
-
}
|
|
46
|
-
export interface ScheduledTask {
|
|
47
|
-
id: string;
|
|
48
|
-
/** Execute at this time (ms) */
|
|
49
|
-
executeAt: number;
|
|
50
|
-
/** Callback */
|
|
51
|
-
callback: () => void;
|
|
52
|
-
/** Priority (lower = sooner) */
|
|
53
|
-
priority: number;
|
|
54
|
-
/** Has been executed */
|
|
55
|
-
executed: boolean;
|
|
56
|
-
/** Cancelled */
|
|
57
|
-
cancelled: boolean;
|
|
58
|
-
}
|
|
59
|
-
export type SequenceStep = {
|
|
60
|
-
type: 'wait';
|
|
61
|
-
duration: number;
|
|
62
|
-
} | {
|
|
63
|
-
type: 'call';
|
|
64
|
-
callback: () => void;
|
|
65
|
-
} | {
|
|
66
|
-
type: 'parallel';
|
|
67
|
-
steps: SequenceStep[];
|
|
68
|
-
} | {
|
|
69
|
-
type: 'loop';
|
|
70
|
-
count: number;
|
|
71
|
-
steps: SequenceStep[];
|
|
72
|
-
} | {
|
|
73
|
-
type: 'condition';
|
|
74
|
-
check: () => boolean;
|
|
75
|
-
then: SequenceStep[];
|
|
76
|
-
else?: SequenceStep[];
|
|
77
|
-
};
|
|
78
|
-
export type TimerEventType = 'timer-created' | 'timer-started' | 'timer-tick' | 'timer-paused' | 'timer-resumed' | 'timer-completed' | 'timer-destroyed' | 'group-paused' | 'group-resumed';
|
|
79
|
-
export interface TimerEvent {
|
|
80
|
-
type: TimerEventType;
|
|
81
|
-
timestamp: number;
|
|
82
|
-
timerId?: TimerId;
|
|
83
|
-
data?: unknown;
|
|
84
|
-
}
|
|
85
|
-
export type TimerEventCallback = (event: TimerEvent) => void;
|
|
86
|
-
export declare class NiceTimer {
|
|
87
|
-
private timers;
|
|
88
|
-
private groups;
|
|
89
|
-
private scheduledTasks;
|
|
90
|
-
private activeSequences;
|
|
91
|
-
private eventListeners;
|
|
92
|
-
private globalTimeScale;
|
|
93
|
-
private globalPaused;
|
|
94
|
-
private totalElapsed;
|
|
95
|
-
private idCounter;
|
|
96
|
-
on(event: TimerEventType, callback: TimerEventCallback): () => void;
|
|
97
|
-
private emit;
|
|
98
|
-
create(config: Partial<TimerConfig> & {
|
|
99
|
-
duration: number;
|
|
100
|
-
}): TimerId;
|
|
101
|
-
/** Create a one-shot timer */
|
|
102
|
-
after(duration: number, callback: TimerCompleteCallback, group?: TimerGroupId): TimerId;
|
|
103
|
-
/** Create a repeating timer */
|
|
104
|
-
every(interval: number, callback: TimerCallback, options?: {
|
|
105
|
-
count?: number;
|
|
106
|
-
group?: TimerGroupId;
|
|
107
|
-
}): TimerId;
|
|
108
|
-
/** Create a delayed call (alias) */
|
|
109
|
-
delay(duration: number, callback: TimerCompleteCallback): TimerId;
|
|
110
|
-
/** Schedule at specific time */
|
|
111
|
-
schedule(executeAt: Date | number, callback: () => void, priority?: number): string;
|
|
112
|
-
pause(id: TimerId): void;
|
|
113
|
-
resume(id: TimerId): void;
|
|
114
|
-
reset(id: TimerId): void;
|
|
115
|
-
cancel(id: TimerId): void;
|
|
116
|
-
pauseGroup(groupId: TimerGroupId): void;
|
|
117
|
-
resumeGroup(groupId: TimerGroupId): void;
|
|
118
|
-
cancelGroup(groupId: TimerGroupId): void;
|
|
119
|
-
setGlobalTimeScale(scale: number): void;
|
|
120
|
-
getGlobalTimeScale(): number;
|
|
121
|
-
pauseAll(): void;
|
|
122
|
-
resumeAll(): void;
|
|
123
|
-
/** Slow-motion effect */
|
|
124
|
-
slowMotion(scale: number, duration: number): TimerId;
|
|
125
|
-
sequence(steps: SequenceStep[], _group?: TimerGroupId): string;
|
|
126
|
-
private flattenSequence;
|
|
127
|
-
private updateSequences;
|
|
128
|
-
get(id: TimerId): TimerState | undefined;
|
|
129
|
-
isRunning(id: TimerId): boolean;
|
|
130
|
-
isPaused(id: TimerId): boolean;
|
|
131
|
-
isFinished(id: TimerId): boolean;
|
|
132
|
-
getElapsed(id: TimerId): number;
|
|
133
|
-
getRemaining(id: TimerId): number;
|
|
134
|
-
getProgress(id: TimerId): number;
|
|
135
|
-
getActiveCount(): number;
|
|
136
|
-
findByTag(tag: string): TimerId[];
|
|
137
|
-
update(deltaTime: number): void;
|
|
138
|
-
cancelScheduled(taskId: string): void;
|
|
139
|
-
cancelSequence(sequenceId: string): void;
|
|
140
|
-
getTotalElapsed(): number;
|
|
141
|
-
destroy(): void;
|
|
142
|
-
}
|
|
143
|
-
export declare function createTimerSystem(): NiceTimer;
|
|
144
|
-
export declare class SequenceBuilder {
|
|
145
|
-
private steps;
|
|
146
|
-
wait(duration: number): this;
|
|
147
|
-
call(callback: () => void): this;
|
|
148
|
-
loop(count: number, builder: (seq: SequenceBuilder) => void): this;
|
|
149
|
-
parallel(...callbacks: (() => void)[]): this;
|
|
150
|
-
condition(check: () => boolean, thenBuilder: (seq: SequenceBuilder) => void, elseBuilder?: (seq: SequenceBuilder) => void): this;
|
|
151
|
-
build(): SequenceStep[];
|
|
152
|
-
}
|
|
153
|
-
export declare function buildSequence(builder: (seq: SequenceBuilder) => void): SequenceStep[];
|
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
export type TournamentId = string;
|
|
2
|
-
export type MatchId = string;
|
|
3
|
-
export type ParticipantId = string;
|
|
4
|
-
export type BracketId = string;
|
|
5
|
-
export type TournamentFormat = 'single-elimination' | 'double-elimination' | 'round-robin' | 'swiss' | 'group-stage' | 'battle-royale' | 'league' | 'custom';
|
|
6
|
-
export type TournamentStatus = 'draft' | 'registration' | 'check-in' | 'seeding' | 'in-progress' | 'finals' | 'completed' | 'cancelled';
|
|
7
|
-
export type MatchStatus = 'pending' | 'ready' | 'in-progress' | 'score-reported' | 'disputed' | 'completed' | 'forfeit';
|
|
8
|
-
export interface Participant {
|
|
9
|
-
id: ParticipantId;
|
|
10
|
-
tournamentId: TournamentId;
|
|
11
|
-
playerId?: string;
|
|
12
|
-
teamId?: string;
|
|
13
|
-
name: string;
|
|
14
|
-
seed?: number;
|
|
15
|
-
registeredAt: number;
|
|
16
|
-
checkedIn: boolean;
|
|
17
|
-
checkedInAt?: number;
|
|
18
|
-
eliminated: boolean;
|
|
19
|
-
eliminatedAt?: number;
|
|
20
|
-
placement?: number;
|
|
21
|
-
wins: number;
|
|
22
|
-
losses: number;
|
|
23
|
-
draws: number;
|
|
24
|
-
pointsFor: number;
|
|
25
|
-
pointsAgainst: number;
|
|
26
|
-
tiebreaker?: number;
|
|
27
|
-
}
|
|
28
|
-
export interface MatchParticipant {
|
|
29
|
-
participantId: ParticipantId | null;
|
|
30
|
-
score: number;
|
|
31
|
-
isWinner: boolean;
|
|
32
|
-
reportedScore?: number;
|
|
33
|
-
reportedAt?: number;
|
|
34
|
-
}
|
|
35
|
-
export interface TournamentMatch {
|
|
36
|
-
id: MatchId;
|
|
37
|
-
tournamentId: TournamentId;
|
|
38
|
-
bracketId?: BracketId;
|
|
39
|
-
round: number;
|
|
40
|
-
matchNumber: number;
|
|
41
|
-
bestOf: number;
|
|
42
|
-
participants: [MatchParticipant, MatchParticipant];
|
|
43
|
-
status: MatchStatus;
|
|
44
|
-
scheduledAt?: number;
|
|
45
|
-
startedAt?: number;
|
|
46
|
-
completedAt?: number;
|
|
47
|
-
winnerId?: ParticipantId;
|
|
48
|
-
loserId?: ParticipantId;
|
|
49
|
-
nextMatchId?: MatchId;
|
|
50
|
-
nextLoserMatchId?: MatchId;
|
|
51
|
-
previousMatchIds?: MatchId[];
|
|
52
|
-
streamUrl?: string;
|
|
53
|
-
notes?: string;
|
|
54
|
-
disputeReason?: string;
|
|
55
|
-
adminNotes?: string;
|
|
56
|
-
}
|
|
57
|
-
export interface Bracket {
|
|
58
|
-
id: BracketId;
|
|
59
|
-
tournamentId: TournamentId;
|
|
60
|
-
name: string;
|
|
61
|
-
type: 'winners' | 'losers' | 'grand-finals' | 'group' | 'main';
|
|
62
|
-
rounds: number;
|
|
63
|
-
matches: MatchId[];
|
|
64
|
-
}
|
|
65
|
-
export interface PrizePlacement {
|
|
66
|
-
minPlace: number;
|
|
67
|
-
maxPlace: number;
|
|
68
|
-
currency?: string;
|
|
69
|
-
amount?: number;
|
|
70
|
-
items?: Array<{
|
|
71
|
-
itemId: string;
|
|
72
|
-
quantity: number;
|
|
73
|
-
}>;
|
|
74
|
-
title?: string;
|
|
75
|
-
badge?: string;
|
|
76
|
-
}
|
|
77
|
-
export interface PrizePool {
|
|
78
|
-
totalValue: number;
|
|
79
|
-
currency: string;
|
|
80
|
-
placements: PrizePlacement[];
|
|
81
|
-
distributed: boolean;
|
|
82
|
-
}
|
|
83
|
-
export interface TournamentDefinition {
|
|
84
|
-
id: TournamentId;
|
|
85
|
-
name: string;
|
|
86
|
-
description: string;
|
|
87
|
-
format: TournamentFormat;
|
|
88
|
-
minParticipants: number;
|
|
89
|
-
maxParticipants: number;
|
|
90
|
-
teamSize?: number;
|
|
91
|
-
registrationStart?: number;
|
|
92
|
-
registrationEnd?: number;
|
|
93
|
-
checkInStart?: number;
|
|
94
|
-
checkInEnd?: number;
|
|
95
|
-
tournamentStart?: number;
|
|
96
|
-
bestOf: number;
|
|
97
|
-
matchTimeout?: number;
|
|
98
|
-
rounds?: number;
|
|
99
|
-
groupCount?: number;
|
|
100
|
-
advancePerGroup?: number;
|
|
101
|
-
rules?: string;
|
|
102
|
-
seedingMethod?: 'random' | 'rating' | 'manual';
|
|
103
|
-
prizePool?: PrizePool;
|
|
104
|
-
gameId?: string;
|
|
105
|
-
tags?: string[];
|
|
106
|
-
imageUrl?: string;
|
|
107
|
-
}
|
|
108
|
-
export interface TournamentInstance {
|
|
109
|
-
definition: TournamentDefinition;
|
|
110
|
-
status: TournamentStatus;
|
|
111
|
-
participants: Map<ParticipantId, Participant>;
|
|
112
|
-
matches: Map<MatchId, TournamentMatch>;
|
|
113
|
-
brackets: Map<BracketId, Bracket>;
|
|
114
|
-
currentRound: number;
|
|
115
|
-
createdAt: number;
|
|
116
|
-
startedAt?: number;
|
|
117
|
-
completedAt?: number;
|
|
118
|
-
standings?: ParticipantId[];
|
|
119
|
-
}
|
|
120
|
-
export type TournamentEventType = 'tournament-created' | 'registration-opened' | 'registration-closed' | 'check-in-opened' | 'check-in-closed' | 'player-registered' | 'player-checked-in' | 'player-withdrawn' | 'bracket-generated' | 'tournament-started' | 'match-ready' | 'match-started' | 'score-reported' | 'score-disputed' | 'match-completed' | 'round-completed' | 'player-eliminated' | 'tournament-completed' | 'prizes-distributed';
|
|
121
|
-
export interface TournamentEvent {
|
|
122
|
-
type: TournamentEventType;
|
|
123
|
-
timestamp: number;
|
|
124
|
-
tournamentId: TournamentId;
|
|
125
|
-
matchId?: MatchId;
|
|
126
|
-
participantId?: ParticipantId;
|
|
127
|
-
data?: unknown;
|
|
128
|
-
}
|
|
129
|
-
export type TournamentEventCallback = (event: TournamentEvent) => void;
|
|
130
|
-
export interface TournamentConfig {
|
|
131
|
-
checkInDuration: number;
|
|
132
|
-
matchReadyTimeout: number;
|
|
133
|
-
scoreReportTimeout: number;
|
|
134
|
-
allowSelfReport: boolean;
|
|
135
|
-
requireBothReports: boolean;
|
|
136
|
-
autoResolveScores: boolean;
|
|
137
|
-
storageKey: string;
|
|
138
|
-
}
|
|
139
|
-
export declare const DEFAULT_TOURNAMENT_CONFIG: TournamentConfig;
|
|
140
|
-
export declare class NiceTournament {
|
|
141
|
-
private config;
|
|
142
|
-
private tournaments;
|
|
143
|
-
private eventListeners;
|
|
144
|
-
private idCounter;
|
|
145
|
-
constructor(config?: Partial<TournamentConfig>);
|
|
146
|
-
on(event: TournamentEventType, callback: TournamentEventCallback): () => void;
|
|
147
|
-
private emit;
|
|
148
|
-
createTournament(definition: TournamentDefinition): TournamentInstance;
|
|
149
|
-
getTournament(tournamentId: TournamentId): TournamentInstance | undefined;
|
|
150
|
-
getAllTournaments(): TournamentInstance[];
|
|
151
|
-
getTournamentsByStatus(status: TournamentStatus): TournamentInstance[];
|
|
152
|
-
openRegistration(tournamentId: TournamentId): boolean;
|
|
153
|
-
closeRegistration(tournamentId: TournamentId): boolean;
|
|
154
|
-
register(tournamentId: TournamentId, name: string, playerId?: string, teamId?: string): Participant | null;
|
|
155
|
-
withdraw(tournamentId: TournamentId, participantId: ParticipantId): boolean;
|
|
156
|
-
checkIn(tournamentId: TournamentId, participantId: ParticipantId): boolean;
|
|
157
|
-
closeCheckIn(tournamentId: TournamentId, removeNoShows?: boolean): boolean;
|
|
158
|
-
generateBracket(tournamentId: TournamentId): boolean;
|
|
159
|
-
private seedParticipants;
|
|
160
|
-
private shuffleArray;
|
|
161
|
-
private generateSingleElimination;
|
|
162
|
-
private generateDoubleElimination;
|
|
163
|
-
private generateRoundRobin;
|
|
164
|
-
private generateSwissRound;
|
|
165
|
-
private generateSwissRoundMatches;
|
|
166
|
-
private generateGroupStage;
|
|
167
|
-
private createMatch;
|
|
168
|
-
startTournament(tournamentId: TournamentId): boolean;
|
|
169
|
-
reportScore(matchId: MatchId, reporterId: ParticipantId, score1: number, score2: number): boolean;
|
|
170
|
-
disputeMatch(matchId: MatchId, reason: string): boolean;
|
|
171
|
-
completeMatch(matchId: MatchId, score1: number, score2: number): boolean;
|
|
172
|
-
private advanceWinner;
|
|
173
|
-
private checkProgress;
|
|
174
|
-
private completeTournament;
|
|
175
|
-
private calculateStandings;
|
|
176
|
-
private distributePrizes;
|
|
177
|
-
getMatch(matchId: MatchId): TournamentMatch | undefined;
|
|
178
|
-
getMatchesForParticipant(participantId: ParticipantId): TournamentMatch[];
|
|
179
|
-
getUpcomingMatches(tournamentId: TournamentId): TournamentMatch[];
|
|
180
|
-
getBracketData(tournamentId: TournamentId): {
|
|
181
|
-
brackets: Bracket[];
|
|
182
|
-
matches: TournamentMatch[];
|
|
183
|
-
participants: Participant[];
|
|
184
|
-
} | null;
|
|
185
|
-
private save;
|
|
186
|
-
private load;
|
|
187
|
-
reset(): void;
|
|
188
|
-
destroy(): void;
|
|
189
|
-
}
|
|
190
|
-
export declare function createTournamentSystem(config?: Partial<TournamentConfig>): NiceTournament;
|