@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,142 +0,0 @@
|
|
|
1
|
-
export interface GridPosition {
|
|
2
|
-
x: number;
|
|
3
|
-
y: number;
|
|
4
|
-
}
|
|
5
|
-
export interface GridSize {
|
|
6
|
-
width: number;
|
|
7
|
-
height: number;
|
|
8
|
-
}
|
|
9
|
-
export type GridCellCallback<T> = (cell: T, x: number, y: number) => void;
|
|
10
|
-
export type GridCellPredicate<T> = (cell: T, x: number, y: number) => boolean;
|
|
11
|
-
export type GridCellMapper<T, U> = (cell: T, x: number, y: number) => U;
|
|
12
|
-
export type CardinalDirection = 'north' | 'east' | 'south' | 'west';
|
|
13
|
-
export type DiagonalDirection = 'northeast' | 'southeast' | 'southwest' | 'northwest';
|
|
14
|
-
export type Direction = CardinalDirection | DiagonalDirection;
|
|
15
|
-
export declare const DIRECTIONS: Record<Direction, GridPosition>;
|
|
16
|
-
export declare const CARDINAL_DIRECTIONS: CardinalDirection[];
|
|
17
|
-
export declare const ALL_DIRECTIONS: Direction[];
|
|
18
|
-
export interface GridCell<T = unknown> {
|
|
19
|
-
x: number;
|
|
20
|
-
y: number;
|
|
21
|
-
data: T;
|
|
22
|
-
walkable: boolean;
|
|
23
|
-
cost: number;
|
|
24
|
-
metadata?: Record<string, unknown>;
|
|
25
|
-
}
|
|
26
|
-
export interface GridConfig<T> {
|
|
27
|
-
width: number;
|
|
28
|
-
height: number;
|
|
29
|
-
defaultValue: T | (() => T);
|
|
30
|
-
wrapX?: boolean;
|
|
31
|
-
wrapY?: boolean;
|
|
32
|
-
}
|
|
33
|
-
export declare class NiceGrid<T> {
|
|
34
|
-
readonly width: number;
|
|
35
|
-
readonly height: number;
|
|
36
|
-
private cells;
|
|
37
|
-
private wrapX;
|
|
38
|
-
private wrapY;
|
|
39
|
-
private defaultValue;
|
|
40
|
-
constructor(config: GridConfig<T>);
|
|
41
|
-
private getDefaultValue;
|
|
42
|
-
private normalizeX;
|
|
43
|
-
private normalizeY;
|
|
44
|
-
isInBounds(x: number, y: number): boolean;
|
|
45
|
-
toIndex(x: number, y: number): number;
|
|
46
|
-
fromIndex(index: number): GridPosition;
|
|
47
|
-
get(x: number, y: number): T | undefined;
|
|
48
|
-
set(x: number, y: number, value: T): void;
|
|
49
|
-
getAt(pos: GridPosition): T | undefined;
|
|
50
|
-
setAt(pos: GridPosition, value: T): void;
|
|
51
|
-
fill(value: T): void;
|
|
52
|
-
fillRect(x: number, y: number, width: number, height: number, value: T): void;
|
|
53
|
-
clear(): void;
|
|
54
|
-
getNeighbor(x: number, y: number, direction: Direction): T | undefined;
|
|
55
|
-
getNeighbors(x: number, y: number, includeDiagonals?: boolean): Array<{
|
|
56
|
-
value: T;
|
|
57
|
-
direction: Direction;
|
|
58
|
-
x: number;
|
|
59
|
-
y: number;
|
|
60
|
-
}>;
|
|
61
|
-
getCardinalNeighbors(x: number, y: number): Array<{
|
|
62
|
-
value: T;
|
|
63
|
-
direction: CardinalDirection;
|
|
64
|
-
x: number;
|
|
65
|
-
y: number;
|
|
66
|
-
}>;
|
|
67
|
-
getAllNeighbors(x: number, y: number): Array<{
|
|
68
|
-
value: T;
|
|
69
|
-
direction: Direction;
|
|
70
|
-
x: number;
|
|
71
|
-
y: number;
|
|
72
|
-
}>;
|
|
73
|
-
forEach(callback: GridCellCallback<T>): void;
|
|
74
|
-
map<U>(mapper: GridCellMapper<T, U>): NiceGrid<U>;
|
|
75
|
-
filter(predicate: GridCellPredicate<T>): Array<{
|
|
76
|
-
value: T;
|
|
77
|
-
x: number;
|
|
78
|
-
y: number;
|
|
79
|
-
}>;
|
|
80
|
-
find(predicate: GridCellPredicate<T>): {
|
|
81
|
-
value: T;
|
|
82
|
-
x: number;
|
|
83
|
-
y: number;
|
|
84
|
-
} | undefined;
|
|
85
|
-
some(predicate: GridCellPredicate<T>): boolean;
|
|
86
|
-
every(predicate: GridCellPredicate<T>): boolean;
|
|
87
|
-
count(predicate: GridCellPredicate<T>): number;
|
|
88
|
-
getInRadius(centerX: number, centerY: number, radius: number, includeDiagonals?: boolean): Array<{
|
|
89
|
-
value: T;
|
|
90
|
-
x: number;
|
|
91
|
-
y: number;
|
|
92
|
-
distance: number;
|
|
93
|
-
}>;
|
|
94
|
-
getInRect(startX: number, startY: number, width: number, height: number): Array<{
|
|
95
|
-
value: T;
|
|
96
|
-
x: number;
|
|
97
|
-
y: number;
|
|
98
|
-
}>;
|
|
99
|
-
getLine(x1: number, y1: number, x2: number, y2: number): Array<{
|
|
100
|
-
value: T;
|
|
101
|
-
x: number;
|
|
102
|
-
y: number;
|
|
103
|
-
}>;
|
|
104
|
-
manhattanDistance(x1: number, y1: number, x2: number, y2: number): number;
|
|
105
|
-
euclideanDistance(x1: number, y1: number, x2: number, y2: number): number;
|
|
106
|
-
chebyshevDistance(x1: number, y1: number, x2: number, y2: number): number;
|
|
107
|
-
floodFill(startX: number, startY: number, value: T, predicate: GridCellPredicate<T>): number;
|
|
108
|
-
clone(): NiceGrid<T>;
|
|
109
|
-
copyTo(target: NiceGrid<T>, offsetX?: number, offsetY?: number): void;
|
|
110
|
-
toArray(): T[][];
|
|
111
|
-
toFlatArray(): T[];
|
|
112
|
-
static fromArray<T>(array: T[][], defaultValue: T): NiceGrid<T>;
|
|
113
|
-
}
|
|
114
|
-
export declare function createGrid<T>(width: number, height: number, defaultValue: T | (() => T)): NiceGrid<T>;
|
|
115
|
-
export declare function createBooleanGrid(width: number, height: number, defaultValue?: boolean): NiceGrid<boolean>;
|
|
116
|
-
export declare function createNumberGrid(width: number, height: number, defaultValue?: number): NiceGrid<number>;
|
|
117
|
-
export declare class SparseGrid<T> {
|
|
118
|
-
private cells;
|
|
119
|
-
private defaultValue;
|
|
120
|
-
constructor(defaultValue: T | (() => T));
|
|
121
|
-
private key;
|
|
122
|
-
private getDefault;
|
|
123
|
-
get(x: number, y: number): T;
|
|
124
|
-
set(x: number, y: number, value: T): void;
|
|
125
|
-
has(x: number, y: number): boolean;
|
|
126
|
-
delete(x: number, y: number): boolean;
|
|
127
|
-
clear(): void;
|
|
128
|
-
getSize(): number;
|
|
129
|
-
getBounds(): {
|
|
130
|
-
minX: number;
|
|
131
|
-
maxX: number;
|
|
132
|
-
minY: number;
|
|
133
|
-
maxY: number;
|
|
134
|
-
} | null;
|
|
135
|
-
forEach(callback: (value: T, x: number, y: number) => void): void;
|
|
136
|
-
entries(): Array<{
|
|
137
|
-
x: number;
|
|
138
|
-
y: number;
|
|
139
|
-
value: T;
|
|
140
|
-
}>;
|
|
141
|
-
}
|
|
142
|
-
export declare function createSparseGrid<T>(defaultValue: T | (() => T)): SparseGrid<T>;
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from 'events';
|
|
2
|
-
export type EntityId = string;
|
|
3
|
-
export type GuildId = string;
|
|
4
|
-
export type RankId = string;
|
|
5
|
-
export type AllianceId = string;
|
|
6
|
-
export type GuildPermission = 'invite' | 'kick' | 'promote' | 'demote' | 'edit_info' | 'edit_ranks' | 'manage_bank' | 'withdraw_bank' | 'deposit_bank' | 'declare_war' | 'manage_alliance' | 'broadcast' | 'edit_motd' | 'disband';
|
|
7
|
-
export interface GuildRank {
|
|
8
|
-
id: RankId;
|
|
9
|
-
name: string;
|
|
10
|
-
order: number;
|
|
11
|
-
permissions: Set<GuildPermission>;
|
|
12
|
-
isDefault?: boolean;
|
|
13
|
-
isLeader?: boolean;
|
|
14
|
-
}
|
|
15
|
-
export interface GuildInfo {
|
|
16
|
-
id: GuildId;
|
|
17
|
-
name: string;
|
|
18
|
-
tag: string;
|
|
19
|
-
description: string;
|
|
20
|
-
motd: string;
|
|
21
|
-
emblem?: string;
|
|
22
|
-
createdAt: number;
|
|
23
|
-
leaderId: EntityId;
|
|
24
|
-
}
|
|
25
|
-
export interface GuildMember {
|
|
26
|
-
entityId: EntityId;
|
|
27
|
-
rankId: RankId;
|
|
28
|
-
joinedAt: number;
|
|
29
|
-
lastActive: number;
|
|
30
|
-
contribution: number;
|
|
31
|
-
note?: string;
|
|
32
|
-
}
|
|
33
|
-
export interface GuildBank {
|
|
34
|
-
gold: number;
|
|
35
|
-
items: Map<string, number>;
|
|
36
|
-
capacity: number;
|
|
37
|
-
}
|
|
38
|
-
export interface GuildPerk {
|
|
39
|
-
id: string;
|
|
40
|
-
name: string;
|
|
41
|
-
description: string;
|
|
42
|
-
level: number;
|
|
43
|
-
maxLevel: number;
|
|
44
|
-
effects: {
|
|
45
|
-
type: string;
|
|
46
|
-
value: number;
|
|
47
|
-
}[];
|
|
48
|
-
cost: number;
|
|
49
|
-
}
|
|
50
|
-
export interface Guild {
|
|
51
|
-
info: GuildInfo;
|
|
52
|
-
ranks: Map<RankId, GuildRank>;
|
|
53
|
-
members: Map<EntityId, GuildMember>;
|
|
54
|
-
bank: GuildBank;
|
|
55
|
-
level: number;
|
|
56
|
-
experience: number;
|
|
57
|
-
perks: Map<string, GuildPerk>;
|
|
58
|
-
maxMembers: number;
|
|
59
|
-
allianceId?: AllianceId;
|
|
60
|
-
wars: Set<GuildId>;
|
|
61
|
-
rivals: Set<GuildId>;
|
|
62
|
-
}
|
|
63
|
-
export interface Alliance {
|
|
64
|
-
id: AllianceId;
|
|
65
|
-
name: string;
|
|
66
|
-
leaderId: GuildId;
|
|
67
|
-
memberGuilds: Set<GuildId>;
|
|
68
|
-
createdAt: number;
|
|
69
|
-
}
|
|
70
|
-
export interface GuildInvitation {
|
|
71
|
-
id: string;
|
|
72
|
-
guildId: GuildId;
|
|
73
|
-
targetId: EntityId;
|
|
74
|
-
inviterId: EntityId;
|
|
75
|
-
createdAt: number;
|
|
76
|
-
expiresAt: number;
|
|
77
|
-
}
|
|
78
|
-
export interface GuildApplication {
|
|
79
|
-
id: string;
|
|
80
|
-
guildId: GuildId;
|
|
81
|
-
applicantId: EntityId;
|
|
82
|
-
message: string;
|
|
83
|
-
createdAt: number;
|
|
84
|
-
}
|
|
85
|
-
export type GuildEventType = 'guild-created' | 'guild-disbanded' | 'member-joined' | 'member-left' | 'member-kicked' | 'member-promoted' | 'member-demoted' | 'rank-created' | 'rank-updated' | 'rank-deleted' | 'info-updated' | 'level-up' | 'perk-unlocked' | 'bank-deposit' | 'bank-withdraw' | 'war-declared' | 'war-ended' | 'alliance-created' | 'alliance-joined' | 'alliance-left' | 'alliance-disbanded';
|
|
86
|
-
export interface GuildEvent {
|
|
87
|
-
type: GuildEventType;
|
|
88
|
-
guildId: GuildId;
|
|
89
|
-
entityId?: EntityId;
|
|
90
|
-
data?: Record<string, unknown>;
|
|
91
|
-
}
|
|
92
|
-
export interface GuildSystemConfig {
|
|
93
|
-
maxGuilds?: number;
|
|
94
|
-
defaultMaxMembers?: number;
|
|
95
|
-
invitationExpiryMs?: number;
|
|
96
|
-
guildNameMinLength?: number;
|
|
97
|
-
guildNameMaxLength?: number;
|
|
98
|
-
tagMinLength?: number;
|
|
99
|
-
tagMaxLength?: number;
|
|
100
|
-
maxRanks?: number;
|
|
101
|
-
experiencePerLevel?: number[];
|
|
102
|
-
creationCost?: number;
|
|
103
|
-
}
|
|
104
|
-
export declare const DEFAULT_GUILD_CONFIG: GuildSystemConfig;
|
|
105
|
-
export declare class NiceGuild extends EventEmitter {
|
|
106
|
-
private guilds;
|
|
107
|
-
private alliances;
|
|
108
|
-
private invitations;
|
|
109
|
-
private applications;
|
|
110
|
-
private entityToGuild;
|
|
111
|
-
private nameToGuild;
|
|
112
|
-
private tagToGuild;
|
|
113
|
-
private nextGuildId;
|
|
114
|
-
private nextAllianceId;
|
|
115
|
-
private config;
|
|
116
|
-
constructor(config?: Partial<GuildSystemConfig>);
|
|
117
|
-
createGuild(founderId: EntityId, name: string, tag: string, description?: string): GuildId | null;
|
|
118
|
-
private createDefaultRanks;
|
|
119
|
-
disbandGuild(guildId: GuildId, disbanderId: EntityId): boolean;
|
|
120
|
-
invite(guildId: GuildId, inviterId: EntityId, targetId: EntityId): string | null;
|
|
121
|
-
acceptInvitation(invitationId: string): boolean;
|
|
122
|
-
declineInvitation(invitationId: string): void;
|
|
123
|
-
leave(entityId: EntityId): boolean;
|
|
124
|
-
kick(guildId: GuildId, kickerId: EntityId, targetId: EntityId): boolean;
|
|
125
|
-
promote(guildId: GuildId, promoterId: EntityId, targetId: EntityId): boolean;
|
|
126
|
-
demote(guildId: GuildId, demoterId: EntityId, targetId: EntityId): boolean;
|
|
127
|
-
transferLeadership(guildId: GuildId, currentLeaderId: EntityId, newLeaderId: EntityId): boolean;
|
|
128
|
-
hasPermission(guildId: GuildId, entityId: EntityId, permission: GuildPermission): boolean;
|
|
129
|
-
createRank(guildId: GuildId, creatorId: EntityId, rankId: RankId, name: string, order: number, permissions: GuildPermission[]): boolean;
|
|
130
|
-
updateRank(guildId: GuildId, updaterId: EntityId, rankId: RankId, updates: {
|
|
131
|
-
name?: string;
|
|
132
|
-
permissions?: GuildPermission[];
|
|
133
|
-
}): boolean;
|
|
134
|
-
deleteRank(guildId: GuildId, deleterId: EntityId, rankId: RankId): boolean;
|
|
135
|
-
updateInfo(guildId: GuildId, updaterId: EntityId, updates: {
|
|
136
|
-
description?: string;
|
|
137
|
-
motd?: string;
|
|
138
|
-
emblem?: string;
|
|
139
|
-
}): boolean;
|
|
140
|
-
depositGold(guildId: GuildId, entityId: EntityId, amount: number): boolean;
|
|
141
|
-
withdrawGold(guildId: GuildId, entityId: EntityId, amount: number): boolean;
|
|
142
|
-
depositItem(guildId: GuildId, entityId: EntityId, itemId: string, quantity: number): boolean;
|
|
143
|
-
withdrawItem(guildId: GuildId, entityId: EntityId, itemId: string, quantity: number): boolean;
|
|
144
|
-
addExperience(guildId: GuildId, amount: number): void;
|
|
145
|
-
declareWar(guildId: GuildId, declarerId: EntityId, enemyGuildId: GuildId): boolean;
|
|
146
|
-
endWar(guildId: GuildId, enemyGuildId: GuildId): boolean;
|
|
147
|
-
isAtWar(guildId1: GuildId, guildId2: GuildId): boolean;
|
|
148
|
-
createAlliance(creatorGuildId: GuildId, name: string): AllianceId | null;
|
|
149
|
-
joinAlliance(guildId: GuildId, allianceId: AllianceId): boolean;
|
|
150
|
-
leaveAlliance(guildId: GuildId): boolean;
|
|
151
|
-
getGuild(id: GuildId): Guild | undefined;
|
|
152
|
-
getGuildByName(name: string): Guild | undefined;
|
|
153
|
-
getGuildByTag(tag: string): Guild | undefined;
|
|
154
|
-
getEntityGuild(entityId: EntityId): Guild | undefined;
|
|
155
|
-
getMember(guildId: GuildId, entityId: EntityId): GuildMember | undefined;
|
|
156
|
-
getAllGuilds(): Guild[];
|
|
157
|
-
getAlliance(id: AllianceId): Alliance | undefined;
|
|
158
|
-
getInvitationsFor(entityId: EntityId): GuildInvitation[];
|
|
159
|
-
}
|
|
160
|
-
export declare function createGuildSystem(config?: Partial<GuildSystemConfig>): NiceGuild;
|
|
161
|
-
export declare function defineGuildPerk(options: GuildPerk): GuildPerk;
|
|
162
|
-
export default NiceGuild;
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from 'events';
|
|
2
|
-
export type EntityId = string;
|
|
3
|
-
export type PatternId = string;
|
|
4
|
-
export type ControllerId = string;
|
|
5
|
-
export type MotorType = 'left' | 'right' | 'both' | 'trigger_left' | 'trigger_right';
|
|
6
|
-
export type WaveformType = 'sine' | 'square' | 'triangle' | 'sawtooth' | 'noise';
|
|
7
|
-
export interface VibrationParams {
|
|
8
|
-
motor: MotorType;
|
|
9
|
-
intensity: number;
|
|
10
|
-
duration: number;
|
|
11
|
-
delay?: number;
|
|
12
|
-
}
|
|
13
|
-
export interface VibrationSegment {
|
|
14
|
-
intensity: number;
|
|
15
|
-
duration: number;
|
|
16
|
-
frequency?: number;
|
|
17
|
-
waveform?: WaveformType;
|
|
18
|
-
}
|
|
19
|
-
export type PatternCategory = 'combat' | 'environment' | 'ui' | 'movement' | 'notification' | 'custom';
|
|
20
|
-
export interface HapticPattern {
|
|
21
|
-
id: PatternId;
|
|
22
|
-
name: string;
|
|
23
|
-
category: PatternCategory;
|
|
24
|
-
segments: VibrationSegment[];
|
|
25
|
-
motor: MotorType;
|
|
26
|
-
loop?: boolean;
|
|
27
|
-
priority: number;
|
|
28
|
-
}
|
|
29
|
-
export type TriggerEffect = 'off' | 'feedback' | 'weapon' | 'vibration' | 'resistance' | 'bow' | 'galloping' | 'automatic' | 'machine';
|
|
30
|
-
export interface AdaptiveTriggerParams {
|
|
31
|
-
trigger: 'left' | 'right';
|
|
32
|
-
effect: TriggerEffect;
|
|
33
|
-
startPosition?: number;
|
|
34
|
-
endPosition?: number;
|
|
35
|
-
strength?: number;
|
|
36
|
-
frequency?: number;
|
|
37
|
-
}
|
|
38
|
-
export interface ControllerState {
|
|
39
|
-
id: ControllerId;
|
|
40
|
-
isConnected: boolean;
|
|
41
|
-
supportsHaptics: boolean;
|
|
42
|
-
supportsAdaptiveTriggers: boolean;
|
|
43
|
-
supportsHDHaptics: boolean;
|
|
44
|
-
batteryLevel?: number;
|
|
45
|
-
activePatterns: PatternId[];
|
|
46
|
-
triggerStates: {
|
|
47
|
-
left: AdaptiveTriggerParams | null;
|
|
48
|
-
right: AdaptiveTriggerParams | null;
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
export type HapticsEventType = 'controller-connected' | 'controller-disconnected' | 'pattern-started' | 'pattern-stopped' | 'trigger-effect-applied' | 'vibration-started' | 'vibration-stopped';
|
|
52
|
-
export interface HapticsEvent {
|
|
53
|
-
type: HapticsEventType;
|
|
54
|
-
controllerId?: ControllerId;
|
|
55
|
-
patternId?: PatternId;
|
|
56
|
-
data?: Record<string, unknown>;
|
|
57
|
-
}
|
|
58
|
-
export interface HapticsSystemConfig {
|
|
59
|
-
enabled?: boolean;
|
|
60
|
-
globalIntensity?: number;
|
|
61
|
-
maxConcurrentPatterns?: number;
|
|
62
|
-
defaultDuration?: number;
|
|
63
|
-
respectSystemSettings?: boolean;
|
|
64
|
-
minIntensity?: number;
|
|
65
|
-
maxIntensity?: number;
|
|
66
|
-
}
|
|
67
|
-
export declare const DEFAULT_HAPTICS_CONFIG: HapticsSystemConfig;
|
|
68
|
-
export declare class NiceHaptics extends EventEmitter {
|
|
69
|
-
private patterns;
|
|
70
|
-
private controllers;
|
|
71
|
-
private activeVibrations;
|
|
72
|
-
private config;
|
|
73
|
-
constructor(config?: Partial<HapticsSystemConfig>);
|
|
74
|
-
private initializeBuiltInPatterns;
|
|
75
|
-
registerController(controllerId: ControllerId, capabilities?: {
|
|
76
|
-
supportsHaptics?: boolean;
|
|
77
|
-
supportsAdaptiveTriggers?: boolean;
|
|
78
|
-
supportsHDHaptics?: boolean;
|
|
79
|
-
}): void;
|
|
80
|
-
unregisterController(controllerId: ControllerId): void;
|
|
81
|
-
getController(controllerId: ControllerId): ControllerState | undefined;
|
|
82
|
-
getAllControllers(): ControllerState[];
|
|
83
|
-
registerPattern(pattern: HapticPattern): void;
|
|
84
|
-
unregisterPattern(patternId: PatternId): void;
|
|
85
|
-
getPattern(patternId: PatternId): HapticPattern | undefined;
|
|
86
|
-
getPatterns(category?: PatternCategory): HapticPattern[];
|
|
87
|
-
vibrate(controllerId: ControllerId, params: VibrationParams | VibrationParams[]): void;
|
|
88
|
-
private executeVibration;
|
|
89
|
-
stopVibration(controllerId: ControllerId, motor?: MotorType): void;
|
|
90
|
-
playPattern(controllerId: ControllerId, patternId: PatternId, intensityMultiplier?: number): boolean;
|
|
91
|
-
private executePattern;
|
|
92
|
-
stopPattern(controllerId: ControllerId, patternId: PatternId): void;
|
|
93
|
-
stopAllPatterns(controllerId: ControllerId): void;
|
|
94
|
-
setAdaptiveTrigger(controllerId: ControllerId, params: AdaptiveTriggerParams): boolean;
|
|
95
|
-
clearAdaptiveTrigger(controllerId: ControllerId, trigger: 'left' | 'right'): void;
|
|
96
|
-
setWeaponTrigger(controllerId: ControllerId, trigger: 'left' | 'right', startPosition?: number, endPosition?: number, strength?: number): void;
|
|
97
|
-
setBowTrigger(controllerId: ControllerId, trigger: 'left' | 'right', strength?: number): void;
|
|
98
|
-
setResistanceTrigger(controllerId: ControllerId, trigger: 'left' | 'right', startPosition?: number, strength?: number): void;
|
|
99
|
-
setEnabled(enabled: boolean): void;
|
|
100
|
-
isEnabled(): boolean;
|
|
101
|
-
setGlobalIntensity(intensity: number): void;
|
|
102
|
-
getGlobalIntensity(): number;
|
|
103
|
-
stopAll(): void;
|
|
104
|
-
private stopAllForController;
|
|
105
|
-
private clampIntensity;
|
|
106
|
-
quickVibrate(controllerId: ControllerId, intensity?: number, duration?: number): void;
|
|
107
|
-
pulseVibration(controllerId: ControllerId, intensity?: number, pulseCount?: number, pulseDuration?: number, pauseDuration?: number): void;
|
|
108
|
-
rampVibration(controllerId: ControllerId, startIntensity: number, endIntensity: number, duration: number, steps?: number): void;
|
|
109
|
-
}
|
|
110
|
-
export declare function createHapticsSystem(config?: Partial<HapticsSystemConfig>): NiceHaptics;
|
|
111
|
-
export declare function defineHapticPattern(options: HapticPattern): HapticPattern;
|
|
112
|
-
export default NiceHaptics;
|
|
@@ -1,197 +0,0 @@
|
|
|
1
|
-
export type HouseId = string;
|
|
2
|
-
export type PropertyId = string;
|
|
3
|
-
export type FurnitureId = string;
|
|
4
|
-
export type RoomId = string;
|
|
5
|
-
export type HouseSize = 'tiny' | 'small' | 'medium' | 'large' | 'mansion' | 'estate';
|
|
6
|
-
export type PropertyType = 'apartment' | 'house' | 'villa' | 'castle' | 'treehouse' | 'underwater' | 'floating' | 'custom';
|
|
7
|
-
export interface PropertyDefinition {
|
|
8
|
-
id: PropertyId;
|
|
9
|
-
name: string;
|
|
10
|
-
description: string;
|
|
11
|
-
type: PropertyType;
|
|
12
|
-
size: HouseSize;
|
|
13
|
-
rooms: RoomDefinition[];
|
|
14
|
-
maxFurniture: number;
|
|
15
|
-
storageSlots: number;
|
|
16
|
-
purchasePrice: number;
|
|
17
|
-
currency: string;
|
|
18
|
-
maintenanceCost?: number;
|
|
19
|
-
maintenanceInterval?: number;
|
|
20
|
-
levelRequired?: number;
|
|
21
|
-
questRequired?: string;
|
|
22
|
-
reputationRequired?: Record<string, number>;
|
|
23
|
-
features: string[];
|
|
24
|
-
outdoorSpace?: boolean;
|
|
25
|
-
gardenSlots?: number;
|
|
26
|
-
imageUrl?: string;
|
|
27
|
-
previewImages?: string[];
|
|
28
|
-
}
|
|
29
|
-
export interface RoomDefinition {
|
|
30
|
-
id: string;
|
|
31
|
-
name: string;
|
|
32
|
-
type: 'living' | 'bedroom' | 'kitchen' | 'bathroom' | 'storage' | 'crafting' | 'garden' | 'special';
|
|
33
|
-
width: number;
|
|
34
|
-
height: number;
|
|
35
|
-
maxFurniture: number;
|
|
36
|
-
wallSlots: number;
|
|
37
|
-
floorSlots: number;
|
|
38
|
-
}
|
|
39
|
-
export interface RoomInstance {
|
|
40
|
-
definitionId: string;
|
|
41
|
-
wallColor?: string;
|
|
42
|
-
wallTexture?: string;
|
|
43
|
-
floorColor?: string;
|
|
44
|
-
floorTexture?: string;
|
|
45
|
-
lighting?: number;
|
|
46
|
-
furniture: PlacedFurniture[];
|
|
47
|
-
decorations: PlacedDecoration[];
|
|
48
|
-
}
|
|
49
|
-
export interface FurnitureDefinition {
|
|
50
|
-
id: FurnitureId;
|
|
51
|
-
name: string;
|
|
52
|
-
description: string;
|
|
53
|
-
category: 'seating' | 'table' | 'storage' | 'lighting' | 'decoration' | 'appliance' | 'bed' | 'plant' | 'trophy';
|
|
54
|
-
width: number;
|
|
55
|
-
height: number;
|
|
56
|
-
depth?: number;
|
|
57
|
-
placementType: 'floor' | 'wall' | 'ceiling' | 'table';
|
|
58
|
-
rotatable: boolean;
|
|
59
|
-
stackable: boolean;
|
|
60
|
-
price: number;
|
|
61
|
-
currency: string;
|
|
62
|
-
craftable?: boolean;
|
|
63
|
-
craftingRecipe?: Record<string, number>;
|
|
64
|
-
comfortBonus?: number;
|
|
65
|
-
storageSlots?: number;
|
|
66
|
-
craftingStationId?: string;
|
|
67
|
-
restBonus?: number;
|
|
68
|
-
modelId?: string;
|
|
69
|
-
variations?: string[];
|
|
70
|
-
imageUrl?: string;
|
|
71
|
-
}
|
|
72
|
-
export interface PlacedFurniture {
|
|
73
|
-
instanceId: string;
|
|
74
|
-
definitionId: FurnitureId;
|
|
75
|
-
roomId: string;
|
|
76
|
-
x: number;
|
|
77
|
-
y: number;
|
|
78
|
-
rotation: number;
|
|
79
|
-
variation?: string;
|
|
80
|
-
condition: number;
|
|
81
|
-
storedItems?: Array<{
|
|
82
|
-
itemId: string;
|
|
83
|
-
quantity: number;
|
|
84
|
-
}>;
|
|
85
|
-
}
|
|
86
|
-
export interface PlacedDecoration {
|
|
87
|
-
instanceId: string;
|
|
88
|
-
type: 'poster' | 'painting' | 'plant' | 'rug' | 'lamp' | 'trophy';
|
|
89
|
-
itemId: string;
|
|
90
|
-
x: number;
|
|
91
|
-
y: number;
|
|
92
|
-
rotation: number;
|
|
93
|
-
}
|
|
94
|
-
export interface HouseInstance {
|
|
95
|
-
id: HouseId;
|
|
96
|
-
propertyId: PropertyId;
|
|
97
|
-
ownerId: string;
|
|
98
|
-
name: string;
|
|
99
|
-
purchasedAt: number;
|
|
100
|
-
lastVisitedAt?: number;
|
|
101
|
-
lastMaintenanceAt?: number;
|
|
102
|
-
maintenanceStatus: 'good' | 'needs-maintenance' | 'deteriorating';
|
|
103
|
-
rooms: Map<string, RoomInstance>;
|
|
104
|
-
totalFurniture: number;
|
|
105
|
-
totalDecorations: number;
|
|
106
|
-
comfortLevel: number;
|
|
107
|
-
aestheticScore: number;
|
|
108
|
-
storageUsed: number;
|
|
109
|
-
storageCapacity: number;
|
|
110
|
-
storedItems: Array<{
|
|
111
|
-
itemId: string;
|
|
112
|
-
quantity: number;
|
|
113
|
-
}>;
|
|
114
|
-
visitorPermissions: 'private' | 'friends' | 'guild' | 'public';
|
|
115
|
-
allowedVisitors: string[];
|
|
116
|
-
blockedVisitors: string[];
|
|
117
|
-
visitorLog: Array<{
|
|
118
|
-
visitorId: string;
|
|
119
|
-
timestamp: number;
|
|
120
|
-
}>;
|
|
121
|
-
unlockedFeatures: string[];
|
|
122
|
-
activeBuffs: string[];
|
|
123
|
-
}
|
|
124
|
-
export type HousingEventType = 'property-purchased' | 'property-sold' | 'furniture-placed' | 'furniture-removed' | 'furniture-moved' | 'room-customized' | 'visitor-entered' | 'visitor-left' | 'storage-updated' | 'maintenance-due' | 'maintenance-completed' | 'feature-unlocked' | 'comfort-changed';
|
|
125
|
-
export interface HousingEvent {
|
|
126
|
-
type: HousingEventType;
|
|
127
|
-
timestamp: number;
|
|
128
|
-
houseId?: HouseId;
|
|
129
|
-
ownerId?: string;
|
|
130
|
-
data?: unknown;
|
|
131
|
-
}
|
|
132
|
-
export type HousingEventCallback = (event: HousingEvent) => void;
|
|
133
|
-
export interface HousingConfig {
|
|
134
|
-
maxPropertiesPerPlayer: number;
|
|
135
|
-
maintenanceCheckInterval: number;
|
|
136
|
-
deteriorationRate: number;
|
|
137
|
-
comfortDecayRate: number;
|
|
138
|
-
visitorLogSize: number;
|
|
139
|
-
defaultStorageSlots: number;
|
|
140
|
-
storageExpansionCost: number;
|
|
141
|
-
storageExpansionAmount: number;
|
|
142
|
-
storageKey: string;
|
|
143
|
-
}
|
|
144
|
-
export declare const DEFAULT_HOUSING_CONFIG: HousingConfig;
|
|
145
|
-
export declare class NiceHousing {
|
|
146
|
-
private config;
|
|
147
|
-
private properties;
|
|
148
|
-
private furniture;
|
|
149
|
-
private houses;
|
|
150
|
-
private playerHouses;
|
|
151
|
-
private eventListeners;
|
|
152
|
-
private idCounter;
|
|
153
|
-
constructor(config?: Partial<HousingConfig>);
|
|
154
|
-
on(event: HousingEventType, callback: HousingEventCallback): () => void;
|
|
155
|
-
private emit;
|
|
156
|
-
registerProperty(property: PropertyDefinition): void;
|
|
157
|
-
registerFurniture(furniture: FurnitureDefinition): void;
|
|
158
|
-
canPurchaseProperty(playerId: string, propertyId: PropertyId): {
|
|
159
|
-
can: boolean;
|
|
160
|
-
reason?: string;
|
|
161
|
-
};
|
|
162
|
-
purchaseProperty(playerId: string, propertyId: PropertyId, customName?: string): HouseInstance | null;
|
|
163
|
-
sellProperty(houseId: HouseId): number;
|
|
164
|
-
placeFurniture(houseId: HouseId, roomId: string, furnitureId: FurnitureId, x: number, y: number, rotation?: number, variation?: string): PlacedFurniture | null;
|
|
165
|
-
removeFurniture(houseId: HouseId, roomId: string, instanceId: string): boolean;
|
|
166
|
-
moveFurniture(houseId: HouseId, roomId: string, instanceId: string, newX: number, newY: number, newRotation?: number): boolean;
|
|
167
|
-
private isValidPlacement;
|
|
168
|
-
customizeRoom(houseId: HouseId, roomId: string, options: {
|
|
169
|
-
wallColor?: string;
|
|
170
|
-
wallTexture?: string;
|
|
171
|
-
floorColor?: string;
|
|
172
|
-
floorTexture?: string;
|
|
173
|
-
lighting?: number;
|
|
174
|
-
}): boolean;
|
|
175
|
-
storeItem(houseId: HouseId, itemId: string, quantity: number): boolean;
|
|
176
|
-
retrieveItem(houseId: HouseId, itemId: string, quantity: number): boolean;
|
|
177
|
-
expandStorage(houseId: HouseId): boolean;
|
|
178
|
-
setVisitorPermissions(houseId: HouseId, permissions: 'private' | 'friends' | 'guild' | 'public'): boolean;
|
|
179
|
-
allowVisitor(houseId: HouseId, visitorId: string): boolean;
|
|
180
|
-
blockVisitor(houseId: HouseId, visitorId: string): boolean;
|
|
181
|
-
canVisit(houseId: HouseId, visitorId: string, relationship?: 'friend' | 'guild' | 'none'): boolean;
|
|
182
|
-
recordVisit(houseId: HouseId, visitorId: string): void;
|
|
183
|
-
checkMaintenance(houseId: HouseId): void;
|
|
184
|
-
performMaintenance(houseId: HouseId): boolean;
|
|
185
|
-
private recalculateHouseStats;
|
|
186
|
-
getHouse(houseId: HouseId): HouseInstance | undefined;
|
|
187
|
-
getPlayerHouses(playerId: string): HouseInstance[];
|
|
188
|
-
getProperty(propertyId: PropertyId): PropertyDefinition | undefined;
|
|
189
|
-
getAllProperties(): PropertyDefinition[];
|
|
190
|
-
getAvailableProperties(playerId: string): PropertyDefinition[];
|
|
191
|
-
getFurnitureCatalog(category?: string): FurnitureDefinition[];
|
|
192
|
-
private save;
|
|
193
|
-
private load;
|
|
194
|
-
reset(): void;
|
|
195
|
-
destroy(): void;
|
|
196
|
-
}
|
|
197
|
-
export declare function createHousingSystem(config?: Partial<HousingConfig>): NiceHousing;
|