@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,163 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from 'events';
|
|
2
|
-
export type CropId = string;
|
|
3
|
-
export type PlotId = string;
|
|
4
|
-
export type CropTypeId = string;
|
|
5
|
-
export type FarmerId = string;
|
|
6
|
-
export type FertilizerId = string;
|
|
7
|
-
export interface Vector2 {
|
|
8
|
-
x: number;
|
|
9
|
-
y: number;
|
|
10
|
-
}
|
|
11
|
-
export type Season = 'spring' | 'summer' | 'autumn' | 'winter';
|
|
12
|
-
export interface GrowthStage {
|
|
13
|
-
name: string;
|
|
14
|
-
duration: number;
|
|
15
|
-
sprite?: string;
|
|
16
|
-
waterNeeded: number;
|
|
17
|
-
canHarvest?: boolean;
|
|
18
|
-
yield?: {
|
|
19
|
-
min: number;
|
|
20
|
-
max: number;
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
export interface CropType {
|
|
24
|
-
id: CropTypeId;
|
|
25
|
-
name: string;
|
|
26
|
-
description?: string;
|
|
27
|
-
seeds: string;
|
|
28
|
-
produce: string;
|
|
29
|
-
growthStages: GrowthStage[];
|
|
30
|
-
regrowable?: boolean;
|
|
31
|
-
regrowthStage?: number;
|
|
32
|
-
seasons: Season[];
|
|
33
|
-
minWaterLevel?: number;
|
|
34
|
-
minSoilQuality?: number;
|
|
35
|
-
optimalTemperature?: {
|
|
36
|
-
min: number;
|
|
37
|
-
max: number;
|
|
38
|
-
};
|
|
39
|
-
baseYield: {
|
|
40
|
-
min: number;
|
|
41
|
-
max: number;
|
|
42
|
-
};
|
|
43
|
-
qualityRange: {
|
|
44
|
-
min: number;
|
|
45
|
-
max: number;
|
|
46
|
-
};
|
|
47
|
-
soilDepletion: number;
|
|
48
|
-
experienceGain: number;
|
|
49
|
-
sellPrice: number;
|
|
50
|
-
}
|
|
51
|
-
export type PlotState = 'empty' | 'tilled' | 'planted' | 'growing' | 'harvestable' | 'dead' | 'weeds';
|
|
52
|
-
export interface Plot {
|
|
53
|
-
id: PlotId;
|
|
54
|
-
position: Vector2;
|
|
55
|
-
size: Vector2;
|
|
56
|
-
ownerId: FarmerId;
|
|
57
|
-
state: PlotState;
|
|
58
|
-
soilQuality: number;
|
|
59
|
-
soilMoisture: number;
|
|
60
|
-
soilFertility: number;
|
|
61
|
-
crop?: PlantedCrop;
|
|
62
|
-
fertilizerId?: FertilizerId;
|
|
63
|
-
fertilizerRemaining?: number;
|
|
64
|
-
isWatered: boolean;
|
|
65
|
-
lastWateredAt?: number;
|
|
66
|
-
hasWeeds: boolean;
|
|
67
|
-
weedsGrowth: number;
|
|
68
|
-
hasPests: boolean;
|
|
69
|
-
pestType?: string;
|
|
70
|
-
hasDisease: boolean;
|
|
71
|
-
diseaseType?: string;
|
|
72
|
-
}
|
|
73
|
-
export interface PlantedCrop {
|
|
74
|
-
id: CropId;
|
|
75
|
-
typeId: CropTypeId;
|
|
76
|
-
currentStage: number;
|
|
77
|
-
stageProgress: number;
|
|
78
|
-
health: number;
|
|
79
|
-
quality: number;
|
|
80
|
-
plantedAt: number;
|
|
81
|
-
harvestCount: number;
|
|
82
|
-
}
|
|
83
|
-
export interface Fertilizer {
|
|
84
|
-
id: FertilizerId;
|
|
85
|
-
name: string;
|
|
86
|
-
description?: string;
|
|
87
|
-
growthSpeedBonus: number;
|
|
88
|
-
qualityBonus: number;
|
|
89
|
-
yieldBonus: number;
|
|
90
|
-
duration: number;
|
|
91
|
-
soilFertilityBonus: number;
|
|
92
|
-
}
|
|
93
|
-
export type FarmingEventType = 'plot-tilled' | 'crop-planted' | 'crop-watered' | 'crop-fertilized' | 'crop-stage-changed' | 'crop-harvestable' | 'crop-harvested' | 'crop-died' | 'crop-regrown' | 'weeds-appeared' | 'weeds-removed' | 'pest-appeared' | 'pest-treated' | 'disease-appeared' | 'disease-treated' | 'season-changed';
|
|
94
|
-
export interface FarmingEvent {
|
|
95
|
-
type: FarmingEventType;
|
|
96
|
-
farmerId: FarmerId;
|
|
97
|
-
plotId: PlotId;
|
|
98
|
-
cropId?: CropId;
|
|
99
|
-
data?: Record<string, unknown>;
|
|
100
|
-
}
|
|
101
|
-
export interface FarmingSystemConfig {
|
|
102
|
-
defaultSoilQuality?: number;
|
|
103
|
-
moistureDecayRate?: number;
|
|
104
|
-
weedsGrowthRate?: number;
|
|
105
|
-
pestChance?: number;
|
|
106
|
-
diseaseChance?: number;
|
|
107
|
-
seasonLength?: number;
|
|
108
|
-
dayLength?: number;
|
|
109
|
-
}
|
|
110
|
-
export declare const DEFAULT_FARMING_CONFIG: FarmingSystemConfig;
|
|
111
|
-
export declare class NiceFarming extends EventEmitter {
|
|
112
|
-
private cropTypes;
|
|
113
|
-
private fertilizers;
|
|
114
|
-
private plots;
|
|
115
|
-
private farmerPlots;
|
|
116
|
-
private nextPlotId;
|
|
117
|
-
private nextCropId;
|
|
118
|
-
private config;
|
|
119
|
-
private currentSeason;
|
|
120
|
-
private currentDay;
|
|
121
|
-
private currentHour;
|
|
122
|
-
private temperature;
|
|
123
|
-
private isRaining;
|
|
124
|
-
constructor(config?: Partial<FarmingSystemConfig>);
|
|
125
|
-
registerCropType(crop: CropType): void;
|
|
126
|
-
registerFertilizer(fertilizer: Fertilizer): void;
|
|
127
|
-
getCropType(typeId: CropTypeId): CropType | undefined;
|
|
128
|
-
getAllCropTypes(): CropType[];
|
|
129
|
-
getCropTypesForSeason(season: Season): CropType[];
|
|
130
|
-
setSeason(season: Season): void;
|
|
131
|
-
setTemperature(temp: number): void;
|
|
132
|
-
setRaining(raining: boolean): void;
|
|
133
|
-
getCurrentSeason(): Season;
|
|
134
|
-
createPlot(farmerId: FarmerId, position: Vector2, size?: Vector2): PlotId;
|
|
135
|
-
getPlot(plotId: PlotId): Plot | undefined;
|
|
136
|
-
getFarmerPlots(farmerId: FarmerId): Plot[];
|
|
137
|
-
till(plotId: PlotId): boolean;
|
|
138
|
-
canPlant(plotId: PlotId, cropTypeId: CropTypeId): {
|
|
139
|
-
canPlant: boolean;
|
|
140
|
-
reason?: string;
|
|
141
|
-
};
|
|
142
|
-
plant(plotId: PlotId, cropTypeId: CropTypeId): CropId | null;
|
|
143
|
-
private calculateInitialQuality;
|
|
144
|
-
water(plotId: PlotId, amount?: number): boolean;
|
|
145
|
-
fertilize(plotId: PlotId, fertilizerId: FertilizerId): boolean;
|
|
146
|
-
canHarvest(plotId: PlotId): boolean;
|
|
147
|
-
harvest(plotId: PlotId): {
|
|
148
|
-
produce: string;
|
|
149
|
-
quantity: number;
|
|
150
|
-
quality: number;
|
|
151
|
-
} | null;
|
|
152
|
-
removeWeeds(plotId: PlotId): boolean;
|
|
153
|
-
treatPests(plotId: PlotId): boolean;
|
|
154
|
-
treatDisease(plotId: PlotId): boolean;
|
|
155
|
-
private killCrop;
|
|
156
|
-
update(deltaTime: number): void;
|
|
157
|
-
private updatePlot;
|
|
158
|
-
private updateCropGrowth;
|
|
159
|
-
}
|
|
160
|
-
export declare function createFarmingSystem(config?: Partial<FarmingSystemConfig>): NiceFarming;
|
|
161
|
-
export declare function defineCropType(crop: CropType): CropType;
|
|
162
|
-
export declare function defineFertilizer(fertilizer: Fertilizer): Fertilizer;
|
|
163
|
-
export default NiceFarming;
|
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from 'events';
|
|
2
|
-
export type FishId = string;
|
|
3
|
-
export type FishSpeciesId = string;
|
|
4
|
-
export type FishingSpotId = string;
|
|
5
|
-
export type BaitId = string;
|
|
6
|
-
export type TackleId = string;
|
|
7
|
-
export type FisherId = string;
|
|
8
|
-
export interface Vector3 {
|
|
9
|
-
x: number;
|
|
10
|
-
y: number;
|
|
11
|
-
z: number;
|
|
12
|
-
}
|
|
13
|
-
export type FishRarity = 'common' | 'uncommon' | 'rare' | 'epic' | 'legendary' | 'mythic';
|
|
14
|
-
export interface FishSpecies {
|
|
15
|
-
id: FishSpeciesId;
|
|
16
|
-
name: string;
|
|
17
|
-
description?: string;
|
|
18
|
-
rarity: FishRarity;
|
|
19
|
-
baseWeight: {
|
|
20
|
-
min: number;
|
|
21
|
-
max: number;
|
|
22
|
-
};
|
|
23
|
-
baseLength: {
|
|
24
|
-
min: number;
|
|
25
|
-
max: number;
|
|
26
|
-
};
|
|
27
|
-
value: number;
|
|
28
|
-
experience: number;
|
|
29
|
-
minSkillLevel?: number;
|
|
30
|
-
requiredBait?: BaitId[];
|
|
31
|
-
requiredTime?: {
|
|
32
|
-
start: number;
|
|
33
|
-
end: number;
|
|
34
|
-
};
|
|
35
|
-
requiredWeather?: string[];
|
|
36
|
-
requiredSeason?: string[];
|
|
37
|
-
fightStrength: number;
|
|
38
|
-
escapeProbability: number;
|
|
39
|
-
biteAggressiveness: number;
|
|
40
|
-
trophyWeight?: number;
|
|
41
|
-
trophyLength?: number;
|
|
42
|
-
}
|
|
43
|
-
export interface FishingSpot {
|
|
44
|
-
id: FishingSpotId;
|
|
45
|
-
name: string;
|
|
46
|
-
position: Vector3;
|
|
47
|
-
radius: number;
|
|
48
|
-
depth: number;
|
|
49
|
-
fishPopulation: Map<FishSpeciesId, number>;
|
|
50
|
-
respawnRate: number;
|
|
51
|
-
maxFish: number;
|
|
52
|
-
currentFish: number;
|
|
53
|
-
requiredSkillLevel?: number;
|
|
54
|
-
spotType: 'freshwater' | 'saltwater' | 'brackish';
|
|
55
|
-
specialConditions?: string[];
|
|
56
|
-
}
|
|
57
|
-
export interface Bait {
|
|
58
|
-
id: BaitId;
|
|
59
|
-
name: string;
|
|
60
|
-
description?: string;
|
|
61
|
-
attractiveness: number;
|
|
62
|
-
durability: number;
|
|
63
|
-
rarityBonus?: number;
|
|
64
|
-
targetSpecies?: FishSpeciesId[];
|
|
65
|
-
excludeSpecies?: FishSpeciesId[];
|
|
66
|
-
}
|
|
67
|
-
export interface Tackle {
|
|
68
|
-
id: TackleId;
|
|
69
|
-
name: string;
|
|
70
|
-
description?: string;
|
|
71
|
-
lineStrength: number;
|
|
72
|
-
castDistance: number;
|
|
73
|
-
reelSpeed: number;
|
|
74
|
-
hookSize: number;
|
|
75
|
-
durability: number;
|
|
76
|
-
bonusCatchRate?: number;
|
|
77
|
-
bonusRarity?: number;
|
|
78
|
-
}
|
|
79
|
-
export type FishingState = 'idle' | 'casting' | 'waiting' | 'nibble' | 'bite' | 'fighting' | 'reeling' | 'caught' | 'escaped';
|
|
80
|
-
export interface FishingSession {
|
|
81
|
-
id: string;
|
|
82
|
-
fisherId: FisherId;
|
|
83
|
-
spotId: FishingSpotId;
|
|
84
|
-
baitId?: BaitId;
|
|
85
|
-
tackleId?: TackleId;
|
|
86
|
-
state: FishingState;
|
|
87
|
-
castPosition: Vector3;
|
|
88
|
-
startTime: number;
|
|
89
|
-
hookedFish?: {
|
|
90
|
-
speciesId: FishSpeciesId;
|
|
91
|
-
weight: number;
|
|
92
|
-
length: number;
|
|
93
|
-
stamina: number;
|
|
94
|
-
tension: number;
|
|
95
|
-
};
|
|
96
|
-
baitRemaining: number;
|
|
97
|
-
lineIntegrity: number;
|
|
98
|
-
fishCaught: CaughtFish[];
|
|
99
|
-
}
|
|
100
|
-
export interface CaughtFish {
|
|
101
|
-
id: FishId;
|
|
102
|
-
speciesId: FishSpeciesId;
|
|
103
|
-
weight: number;
|
|
104
|
-
length: number;
|
|
105
|
-
caughtAt: number;
|
|
106
|
-
isTrophy: boolean;
|
|
107
|
-
}
|
|
108
|
-
export interface FisherStats {
|
|
109
|
-
fisherId: FisherId;
|
|
110
|
-
skillLevel: number;
|
|
111
|
-
experience: number;
|
|
112
|
-
totalCatches: number;
|
|
113
|
-
largestCatch: {
|
|
114
|
-
speciesId: FishSpeciesId;
|
|
115
|
-
weight: number;
|
|
116
|
-
} | null;
|
|
117
|
-
speciesCaught: Set<FishSpeciesId>;
|
|
118
|
-
trophies: Map<FishSpeciesId, CaughtFish>;
|
|
119
|
-
}
|
|
120
|
-
export type FishingEventType = 'session-started' | 'session-ended' | 'cast' | 'nibble' | 'bite' | 'hook' | 'fish-caught' | 'fish-escaped' | 'line-snapped' | 'bait-consumed' | 'skill-gained' | 'trophy-caught' | 'spot-depleted';
|
|
121
|
-
export interface FishingEvent {
|
|
122
|
-
type: FishingEventType;
|
|
123
|
-
fisherId: FisherId;
|
|
124
|
-
spotId?: FishingSpotId;
|
|
125
|
-
data?: Record<string, unknown>;
|
|
126
|
-
}
|
|
127
|
-
export interface FishingSystemConfig {
|
|
128
|
-
baseWaitTime?: {
|
|
129
|
-
min: number;
|
|
130
|
-
max: number;
|
|
131
|
-
};
|
|
132
|
-
nibbleWindow?: number;
|
|
133
|
-
biteWindow?: number;
|
|
134
|
-
tensionDecayRate?: number;
|
|
135
|
-
tensionBuildRate?: number;
|
|
136
|
-
maxTension?: number;
|
|
137
|
-
experienceMultiplier?: number;
|
|
138
|
-
spotRespawnInterval?: number;
|
|
139
|
-
}
|
|
140
|
-
export declare const DEFAULT_FISHING_CONFIG: FishingSystemConfig;
|
|
141
|
-
export declare class NiceFishing extends EventEmitter {
|
|
142
|
-
private fishSpecies;
|
|
143
|
-
private fishingSpots;
|
|
144
|
-
private baits;
|
|
145
|
-
private tackles;
|
|
146
|
-
private sessions;
|
|
147
|
-
private fisherStats;
|
|
148
|
-
private nextSessionId;
|
|
149
|
-
private nextFishId;
|
|
150
|
-
private config;
|
|
151
|
-
private currentTime;
|
|
152
|
-
private currentWeather;
|
|
153
|
-
private currentSeason;
|
|
154
|
-
constructor(config?: Partial<FishingSystemConfig>);
|
|
155
|
-
registerSpecies(species: FishSpecies): void;
|
|
156
|
-
registerSpot(spot: FishingSpot): void;
|
|
157
|
-
registerBait(bait: Bait): void;
|
|
158
|
-
registerTackle(tackle: Tackle): void;
|
|
159
|
-
setTimeOfDay(time: number): void;
|
|
160
|
-
setWeather(weather: string): void;
|
|
161
|
-
setSeason(season: string): void;
|
|
162
|
-
startSession(fisherId: FisherId, spotId: FishingSpotId, options?: {
|
|
163
|
-
baitId?: BaitId;
|
|
164
|
-
tackleId?: TackleId;
|
|
165
|
-
}): boolean;
|
|
166
|
-
endSession(fisherId: FisherId): CaughtFish[];
|
|
167
|
-
getSession(fisherId: FisherId): FishingSession | undefined;
|
|
168
|
-
cast(fisherId: FisherId, targetPosition: Vector3): boolean;
|
|
169
|
-
reel(fisherId: FisherId): boolean;
|
|
170
|
-
hook(fisherId: FisherId): boolean;
|
|
171
|
-
private selectFish;
|
|
172
|
-
private getRarityMultiplier;
|
|
173
|
-
reelIn(fisherId: FisherId, intensity?: number): void;
|
|
174
|
-
releaseTension(fisherId: FisherId): void;
|
|
175
|
-
private lineSnap;
|
|
176
|
-
update(deltaTime: number): void;
|
|
177
|
-
private updateSession;
|
|
178
|
-
private updateWaiting;
|
|
179
|
-
private nibbleTimers;
|
|
180
|
-
private biteTimers;
|
|
181
|
-
private updateNibble;
|
|
182
|
-
private updateBite;
|
|
183
|
-
private updateFighting;
|
|
184
|
-
private catchFish;
|
|
185
|
-
private getOrCreateStats;
|
|
186
|
-
getStats(fisherId: FisherId): FisherStats | undefined;
|
|
187
|
-
private addExperience;
|
|
188
|
-
}
|
|
189
|
-
export declare function createFishingSystem(config?: Partial<FishingSystemConfig>): NiceFishing;
|
|
190
|
-
export declare function defineSpecies(species: FishSpecies): FishSpecies;
|
|
191
|
-
export declare function defineFishingSpot(spot: Omit<FishingSpot, 'currentFish'> & {
|
|
192
|
-
fishPopulation: Record<string, number> | Map<string, number>;
|
|
193
|
-
}): FishingSpot;
|
|
194
|
-
export declare function defineBait(bait: Bait): Bait;
|
|
195
|
-
export declare function defineTackle(tackle: Tackle): Tackle;
|
|
196
|
-
export default NiceFishing;
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
export interface Vec2 {
|
|
2
|
-
x: number;
|
|
3
|
-
y: number;
|
|
4
|
-
}
|
|
5
|
-
export interface Vec3 {
|
|
6
|
-
x: number;
|
|
7
|
-
y: number;
|
|
8
|
-
z: number;
|
|
9
|
-
}
|
|
10
|
-
export type BoidRole = 'normal' | 'leader' | 'predator' | 'prey' | 'scout' | 'guard';
|
|
11
|
-
export type FlockState = 'idle' | 'wandering' | 'hunting' | 'fleeing' | 'following' | 'defending' | 'formation';
|
|
12
|
-
export interface Boid {
|
|
13
|
-
id: string;
|
|
14
|
-
flockId: string;
|
|
15
|
-
role: BoidRole;
|
|
16
|
-
position: Vec3;
|
|
17
|
-
velocity: Vec3;
|
|
18
|
-
acceleration: Vec3;
|
|
19
|
-
rotation: number;
|
|
20
|
-
maxSpeed: number;
|
|
21
|
-
maxForce: number;
|
|
22
|
-
mass: number;
|
|
23
|
-
perception: number;
|
|
24
|
-
isActive: boolean;
|
|
25
|
-
neighbors: string[];
|
|
26
|
-
distanceToLeader?: number;
|
|
27
|
-
targetPosition?: Vec3;
|
|
28
|
-
separationForce?: Vec3;
|
|
29
|
-
alignmentForce?: Vec3;
|
|
30
|
-
cohesionForce?: Vec3;
|
|
31
|
-
metadata?: Record<string, unknown>;
|
|
32
|
-
}
|
|
33
|
-
export interface Flock {
|
|
34
|
-
id: string;
|
|
35
|
-
name: string;
|
|
36
|
-
state: FlockState;
|
|
37
|
-
boids: Map<string, Boid>;
|
|
38
|
-
leaderId?: string;
|
|
39
|
-
weights: FlockWeights;
|
|
40
|
-
targetPosition?: Vec3;
|
|
41
|
-
targetEntity?: string;
|
|
42
|
-
formationType?: FormationType;
|
|
43
|
-
formationSpacing: number;
|
|
44
|
-
bounds?: FlockBounds;
|
|
45
|
-
metadata?: Record<string, unknown>;
|
|
46
|
-
}
|
|
47
|
-
export interface FlockWeights {
|
|
48
|
-
separation: number;
|
|
49
|
-
alignment: number;
|
|
50
|
-
cohesion: number;
|
|
51
|
-
avoidance: number;
|
|
52
|
-
wander: number;
|
|
53
|
-
seek: number;
|
|
54
|
-
flee: number;
|
|
55
|
-
follow: number;
|
|
56
|
-
formation: number;
|
|
57
|
-
}
|
|
58
|
-
export interface FlockBounds {
|
|
59
|
-
min: Vec3;
|
|
60
|
-
max: Vec3;
|
|
61
|
-
softEdge: number;
|
|
62
|
-
force: number;
|
|
63
|
-
}
|
|
64
|
-
export type FormationType = 'none' | 'line' | 'column' | 'wedge' | 'circle' | 'grid' | 'scatter';
|
|
65
|
-
export interface FormationSlot {
|
|
66
|
-
index: number;
|
|
67
|
-
offset: Vec3;
|
|
68
|
-
boidId?: string;
|
|
69
|
-
}
|
|
70
|
-
export interface Obstacle {
|
|
71
|
-
id: string;
|
|
72
|
-
type: 'sphere' | 'box' | 'plane';
|
|
73
|
-
position: Vec3;
|
|
74
|
-
size: Vec3;
|
|
75
|
-
isStatic: boolean;
|
|
76
|
-
}
|
|
77
|
-
export type FlockingEventType = 'flock-create' | 'flock-destroy' | 'boid-join' | 'boid-leave' | 'state-change' | 'leader-change' | 'formation-change' | 'target-reached' | 'predator-nearby' | 'collision';
|
|
78
|
-
export interface FlockingEvent {
|
|
79
|
-
type: FlockingEventType;
|
|
80
|
-
timestamp: number;
|
|
81
|
-
flockId: string;
|
|
82
|
-
data: unknown;
|
|
83
|
-
}
|
|
84
|
-
export type FlockingEventCallback = (event: FlockingEvent) => void;
|
|
85
|
-
export interface FlockingConfig {
|
|
86
|
-
/** Default max speed */
|
|
87
|
-
defaultMaxSpeed: number;
|
|
88
|
-
/** Default max steering force */
|
|
89
|
-
defaultMaxForce: number;
|
|
90
|
-
/** Default perception radius */
|
|
91
|
-
defaultPerception: number;
|
|
92
|
-
/** Default separation distance */
|
|
93
|
-
separationDistance: number;
|
|
94
|
-
/** Spatial hash cell size */
|
|
95
|
-
cellSize: number;
|
|
96
|
-
/** Wander circle distance */
|
|
97
|
-
wanderDistance: number;
|
|
98
|
-
/** Wander circle radius */
|
|
99
|
-
wanderRadius: number;
|
|
100
|
-
/** Wander angle change */
|
|
101
|
-
wanderJitter: number;
|
|
102
|
-
/** Arrival slow radius */
|
|
103
|
-
arrivalRadius: number;
|
|
104
|
-
/** Default flock weights */
|
|
105
|
-
defaultWeights: FlockWeights;
|
|
106
|
-
}
|
|
107
|
-
export declare const DEFAULT_FLOCKING_CONFIG: FlockingConfig;
|
|
108
|
-
export declare class NiceFlocking {
|
|
109
|
-
private config;
|
|
110
|
-
private flocks;
|
|
111
|
-
private allBoids;
|
|
112
|
-
private obstacles;
|
|
113
|
-
private spatialHash;
|
|
114
|
-
private eventListeners;
|
|
115
|
-
private nextId;
|
|
116
|
-
private wanderAngles;
|
|
117
|
-
constructor(config?: Partial<FlockingConfig>);
|
|
118
|
-
on(event: FlockingEventType, callback: FlockingEventCallback): () => void;
|
|
119
|
-
private emit;
|
|
120
|
-
createFlock(name: string, options?: Partial<Flock>): string;
|
|
121
|
-
destroyFlock(flockId: string): void;
|
|
122
|
-
getFlock(id: string): Flock | undefined;
|
|
123
|
-
addBoid(flockId: string, position: Vec3, options?: Partial<Boid>): string | null;
|
|
124
|
-
removeBoid(boidId: string): void;
|
|
125
|
-
getBoid(id: string): Boid | undefined;
|
|
126
|
-
setFlockState(flockId: string, state: FlockState): void;
|
|
127
|
-
setFlockTarget(flockId: string, target: Vec3 | string, state?: FlockState): void;
|
|
128
|
-
setFormation(flockId: string, type: FormationType): void;
|
|
129
|
-
addObstacle(obstacle: Omit<Obstacle, 'id'>): string;
|
|
130
|
-
removeObstacle(id: string): void;
|
|
131
|
-
update(deltaTime: number): void;
|
|
132
|
-
private updateFlock;
|
|
133
|
-
private calculateForces;
|
|
134
|
-
private seek;
|
|
135
|
-
private flee;
|
|
136
|
-
private wander;
|
|
137
|
-
private follow;
|
|
138
|
-
private avoidObstacles;
|
|
139
|
-
private distanceToObstacle;
|
|
140
|
-
private containWithinBounds;
|
|
141
|
-
private calculateFormationForce;
|
|
142
|
-
private getFormationOffset;
|
|
143
|
-
private applyForce;
|
|
144
|
-
private updateBoidPhysics;
|
|
145
|
-
private magnitude;
|
|
146
|
-
private normalize;
|
|
147
|
-
private limit;
|
|
148
|
-
private distance;
|
|
149
|
-
getFlockCenter(flockId: string): Vec3 | null;
|
|
150
|
-
getFlockVelocity(flockId: string): Vec3 | null;
|
|
151
|
-
getBoids(flockId: string): Boid[];
|
|
152
|
-
getAllFlocks(): Flock[];
|
|
153
|
-
getBoidsInRadius(position: Vec3, radius: number): Boid[];
|
|
154
|
-
destroy(): void;
|
|
155
|
-
}
|
|
156
|
-
export declare function createFlockingSystem(config?: Partial<FlockingConfig>): NiceFlocking;
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
export type EntityId = string;
|
|
2
|
-
export type TeamId = string;
|
|
3
|
-
export interface Vector2 {
|
|
4
|
-
x: number;
|
|
5
|
-
y: number;
|
|
6
|
-
}
|
|
7
|
-
export type VisibilityState = 'hidden' | 'explored' | 'visible';
|
|
8
|
-
export interface VisionSource {
|
|
9
|
-
id: EntityId;
|
|
10
|
-
position: Vector2;
|
|
11
|
-
/** Vision radius in world units */
|
|
12
|
-
radius: number;
|
|
13
|
-
/** Height for LOS calculations */
|
|
14
|
-
height?: number;
|
|
15
|
-
/** Team this source belongs to */
|
|
16
|
-
teamId?: TeamId;
|
|
17
|
-
/** Whether to use line of sight */
|
|
18
|
-
useLOS?: boolean;
|
|
19
|
-
/** Angle of cone vision (0 = full circle) */
|
|
20
|
-
coneAngle?: number;
|
|
21
|
-
/** Direction for cone vision */
|
|
22
|
-
coneDirection?: number;
|
|
23
|
-
active: boolean;
|
|
24
|
-
}
|
|
25
|
-
export interface VisionBlocker {
|
|
26
|
-
id: string;
|
|
27
|
-
position: Vector2;
|
|
28
|
-
radius: number;
|
|
29
|
-
height?: number;
|
|
30
|
-
/** Blocks vision completely or partially */
|
|
31
|
-
opacity: number;
|
|
32
|
-
}
|
|
33
|
-
export interface FogCell {
|
|
34
|
-
x: number;
|
|
35
|
-
y: number;
|
|
36
|
-
/** Current visibility state per team */
|
|
37
|
-
visibility: Map<TeamId, VisibilityState>;
|
|
38
|
-
/** Height for LOS */
|
|
39
|
-
height: number;
|
|
40
|
-
/** Blocks vision */
|
|
41
|
-
blocksVision: boolean;
|
|
42
|
-
/** Last time this cell was visible */
|
|
43
|
-
lastVisibleTime: Map<TeamId, number>;
|
|
44
|
-
}
|
|
45
|
-
export type FogEventType = 'visibility-changed' | 'area-revealed' | 'area-hidden' | 'entity-spotted' | 'entity-lost';
|
|
46
|
-
export interface FogEvent {
|
|
47
|
-
type: FogEventType;
|
|
48
|
-
timestamp: number;
|
|
49
|
-
teamId?: TeamId;
|
|
50
|
-
data?: unknown;
|
|
51
|
-
}
|
|
52
|
-
export type FogEventCallback = (event: FogEvent) => void;
|
|
53
|
-
export interface FogConfig {
|
|
54
|
-
/** Grid cell size in world units */
|
|
55
|
-
cellSize: number;
|
|
56
|
-
/** World bounds */
|
|
57
|
-
worldBounds: {
|
|
58
|
-
minX: number;
|
|
59
|
-
minY: number;
|
|
60
|
-
maxX: number;
|
|
61
|
-
maxY: number;
|
|
62
|
-
};
|
|
63
|
-
/** Default fog state */
|
|
64
|
-
defaultState: VisibilityState;
|
|
65
|
-
/** Enable line of sight */
|
|
66
|
-
enableLOS: boolean;
|
|
67
|
-
/** LOS ray count for accuracy */
|
|
68
|
-
losRayCount: number;
|
|
69
|
-
/** Fade time when losing vision (seconds) */
|
|
70
|
-
fadeTime: number;
|
|
71
|
-
/** Remember explored areas */
|
|
72
|
-
rememberExplored: boolean;
|
|
73
|
-
/** Update interval (0 = every frame) */
|
|
74
|
-
updateInterval: number;
|
|
75
|
-
/** Teams share vision */
|
|
76
|
-
sharedVision: Map<TeamId, TeamId[]>;
|
|
77
|
-
}
|
|
78
|
-
export declare const DEFAULT_FOG_CONFIG: FogConfig;
|
|
79
|
-
export interface FogRenderData {
|
|
80
|
-
cells: Array<{
|
|
81
|
-
x: number;
|
|
82
|
-
y: number;
|
|
83
|
-
worldX: number;
|
|
84
|
-
worldY: number;
|
|
85
|
-
visibility: VisibilityState;
|
|
86
|
-
alpha: number;
|
|
87
|
-
}>;
|
|
88
|
-
cellSize: number;
|
|
89
|
-
}
|
|
90
|
-
export declare class NiceFog {
|
|
91
|
-
private config;
|
|
92
|
-
private grid;
|
|
93
|
-
private visionSources;
|
|
94
|
-
private visionBlockers;
|
|
95
|
-
private gridWidth;
|
|
96
|
-
private gridHeight;
|
|
97
|
-
private updateTimer;
|
|
98
|
-
private cachedVisibility;
|
|
99
|
-
private eventListeners;
|
|
100
|
-
constructor(config?: Partial<FogConfig>);
|
|
101
|
-
private initializeGrid;
|
|
102
|
-
private cellKey;
|
|
103
|
-
on(event: FogEventType, callback: FogEventCallback): () => void;
|
|
104
|
-
private emit;
|
|
105
|
-
addVisionSource(source: VisionSource): void;
|
|
106
|
-
updateVisionSource(id: EntityId, updates: Partial<VisionSource>): void;
|
|
107
|
-
removeVisionSource(id: EntityId): void;
|
|
108
|
-
getVisionSource(id: EntityId): VisionSource | undefined;
|
|
109
|
-
addBlocker(blocker: VisionBlocker): void;
|
|
110
|
-
removeBlocker(id: string): void;
|
|
111
|
-
setTerrainHeight(gridX: number, gridY: number, height: number, blocksVision?: boolean): void;
|
|
112
|
-
private invalidateCache;
|
|
113
|
-
private invalidateCacheAll;
|
|
114
|
-
private calculateVisibility;
|
|
115
|
-
private sharesVision;
|
|
116
|
-
private getVisibleCellsFromSource;
|
|
117
|
-
private angleDiff;
|
|
118
|
-
private hasLineOfSight;
|
|
119
|
-
update(deltaTime: number): void;
|
|
120
|
-
private updateVisibility;
|
|
121
|
-
forceUpdate(): void;
|
|
122
|
-
getVisibility(worldX: number, worldY: number, teamId: TeamId): VisibilityState;
|
|
123
|
-
isVisible(worldX: number, worldY: number, teamId: TeamId): boolean;
|
|
124
|
-
isExplored(worldX: number, worldY: number, teamId: TeamId): boolean;
|
|
125
|
-
isEntityVisible(entityId: EntityId, viewerTeamId: TeamId): boolean;
|
|
126
|
-
getVisibleEntities(teamId: TeamId): EntityId[];
|
|
127
|
-
revealArea(worldX: number, worldY: number, radius: number, teamId: TeamId): void;
|
|
128
|
-
revealAll(teamId: TeamId): void;
|
|
129
|
-
hideAll(teamId: TeamId): void;
|
|
130
|
-
getRenderData(teamId: TeamId): FogRenderData;
|
|
131
|
-
setSharedVision(teamId: TeamId, sharedWith: TeamId[]): void;
|
|
132
|
-
serialize(): string;
|
|
133
|
-
deserialize(json: string): void;
|
|
134
|
-
clear(): void;
|
|
135
|
-
destroy(): void;
|
|
136
|
-
}
|
|
137
|
-
export declare function createFogSystem(config?: Partial<FogConfig>): NiceFog;
|