@nice2dev/game-engine 0.1.0
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 +33 -0
- package/LICENSE +21 -0
- package/README.md +105 -0
- package/dist/cjs/accessibility/Accessibility.js +162 -0
- package/dist/cjs/accessibility/Accessibility.js.map +1 -0
- package/dist/cjs/ai/AI.js +321 -0
- package/dist/cjs/ai/AI.js.map +1 -0
- package/dist/cjs/animation/Animation.js +233 -0
- package/dist/cjs/animation/Animation.js.map +1 -0
- package/dist/cjs/audio/AudioAdvanced.js +262 -0
- package/dist/cjs/audio/AudioAdvanced.js.map +1 -0
- package/dist/cjs/audio/AudioManager.js +248 -0
- package/dist/cjs/audio/AudioManager.js.map +1 -0
- package/dist/cjs/core/EventBus.js +63 -0
- package/dist/cjs/core/EventBus.js.map +1 -0
- package/dist/cjs/core/GameClock.js +70 -0
- package/dist/cjs/core/GameClock.js.map +1 -0
- package/dist/cjs/core/GameConfig.js +86 -0
- package/dist/cjs/core/GameConfig.js.map +1 -0
- package/dist/cjs/core/GameLoop.js +93 -0
- package/dist/cjs/core/GameLoop.js.map +1 -0
- package/dist/cjs/core/ServiceLocator.js +73 -0
- package/dist/cjs/core/ServiceLocator.js.map +1 -0
- package/dist/cjs/core/Validation.js +119 -0
- package/dist/cjs/core/Validation.js.map +1 -0
- package/dist/cjs/core/math.js +116 -0
- package/dist/cjs/core/math.js.map +1 -0
- package/dist/cjs/devtools/DevTools.js +560 -0
- package/dist/cjs/devtools/DevTools.js.map +1 -0
- package/dist/cjs/devtools/DeveloperExperience.js +562 -0
- package/dist/cjs/devtools/DeveloperExperience.js.map +1 -0
- package/dist/cjs/docs/DocGenerator.js +357 -0
- package/dist/cjs/docs/DocGenerator.js.map +1 -0
- package/dist/cjs/ecs/World.js +280 -0
- package/dist/cjs/ecs/World.js.map +1 -0
- package/dist/cjs/editor/AdvancedEditor.js +149 -0
- package/dist/cjs/editor/AdvancedEditor.js.map +1 -0
- package/dist/cjs/editor/AssetManager.js +190 -0
- package/dist/cjs/editor/AssetManager.js.map +1 -0
- package/dist/cjs/editor/DebugTools.js +187 -0
- package/dist/cjs/editor/DebugTools.js.map +1 -0
- package/dist/cjs/editor/NiceGameEditor.js +361 -0
- package/dist/cjs/editor/NiceGameEditor.js.map +1 -0
- package/dist/cjs/editor/SceneEditor.js +223 -0
- package/dist/cjs/editor/SceneEditor.js.map +1 -0
- package/dist/cjs/engine/NiceGameEngine.js +172 -0
- package/dist/cjs/engine/NiceGameEngine.js.map +1 -0
- package/dist/cjs/enterprise/Enterprise.js +258 -0
- package/dist/cjs/enterprise/Enterprise.js.map +1 -0
- package/dist/cjs/i18n/I18n.js +634 -0
- package/dist/cjs/i18n/I18n.js.map +1 -0
- package/dist/cjs/i18n/useTranslation.js +100 -0
- package/dist/cjs/i18n/useTranslation.js.map +1 -0
- package/dist/cjs/index.js +526 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/input/GamepadNavigation.js +181 -0
- package/dist/cjs/input/GamepadNavigation.js.map +1 -0
- package/dist/cjs/input/InputManager.js +404 -0
- package/dist/cjs/input/InputManager.js.map +1 -0
- package/dist/cjs/input/useGamepads.js +86 -0
- package/dist/cjs/input/useGamepads.js.map +1 -0
- package/dist/cjs/kids/KidMode.js +670 -0
- package/dist/cjs/kids/KidMode.js.map +1 -0
- package/dist/cjs/kids/KidTools.js +533 -0
- package/dist/cjs/kids/KidTools.js.map +1 -0
- package/dist/cjs/monetization/Monetization.js +197 -0
- package/dist/cjs/monetization/Monetization.js.map +1 -0
- package/dist/cjs/multiplayer/LocalMultiplayer.js +288 -0
- package/dist/cjs/multiplayer/LocalMultiplayer.js.map +1 -0
- package/dist/cjs/multiplayer/MiniGameTypes.js +70 -0
- package/dist/cjs/multiplayer/MiniGameTypes.js.map +1 -0
- package/dist/cjs/network/MultiplayerTransport.js +109 -0
- package/dist/cjs/network/MultiplayerTransport.js.map +1 -0
- package/dist/cjs/network/Networking.js +569 -0
- package/dist/cjs/network/Networking.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/AbortController.js +32 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/AbortController.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/AccessTokenHttpClient.js +51 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/AccessTokenHttpClient.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/DefaultHttpClient.js +46 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/DefaultHttpClient.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/DefaultReconnectPolicy.js +18 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/DefaultReconnectPolicy.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Errors.js +145 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Errors.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/FetchHttpClient.js +161 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/FetchHttpClient.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js +56 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HeaderNames.js +11 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HeaderNames.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HttpClient.js +52 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HttpClient.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HttpConnection.js +576 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HttpConnection.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HubConnection.js +956 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HubConnection.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js +149 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/IHubProtocol.js +25 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/IHubProtocol.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ILogger.js +27 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ILogger.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ITransport.js +26 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ITransport.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js +124 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Loggers.js +17 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Loggers.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/LongPollingTransport.js +188 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/LongPollingTransport.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/MessageBuffer.js +199 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/MessageBuffer.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ServerSentEventsTransport.js +108 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ServerSentEventsTransport.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Subject.js +38 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Subject.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/TextMessageFormat.js +24 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/TextMessageFormat.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Utils.js +264 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Utils.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/WebSocketTransport.js +160 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/WebSocketTransport.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/XhrHttpClient.js +88 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/XhrHttpClient.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/index.js +50 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/index.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/pkg-version.js +6 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/pkg-version.js.map +1 -0
- package/dist/cjs/pathfinding/Pathfinding.js +255 -0
- package/dist/cjs/pathfinding/Pathfinding.js.map +1 -0
- package/dist/cjs/performance/BenchmarkSuite.js +318 -0
- package/dist/cjs/performance/BenchmarkSuite.js.map +1 -0
- package/dist/cjs/performance/Performance.js +180 -0
- package/dist/cjs/performance/Performance.js.map +1 -0
- package/dist/cjs/performance/PerformanceAdvanced.js +628 -0
- package/dist/cjs/performance/PerformanceAdvanced.js.map +1 -0
- package/dist/cjs/physics/PhysicsAdvanced.js +432 -0
- package/dist/cjs/physics/PhysicsAdvanced.js.map +1 -0
- package/dist/cjs/physics/PhysicsEngine2D.js +445 -0
- package/dist/cjs/physics/PhysicsEngine2D.js.map +1 -0
- package/dist/cjs/plugins/PluginSDK.js +488 -0
- package/dist/cjs/plugins/PluginSDK.js.map +1 -0
- package/dist/cjs/plugins/PluginTestKit.js +368 -0
- package/dist/cjs/plugins/PluginTestKit.js.map +1 -0
- package/dist/cjs/procedural/Procedural.js +288 -0
- package/dist/cjs/procedural/Procedural.js.map +1 -0
- package/dist/cjs/procedural/WorldBuilding.js +246 -0
- package/dist/cjs/procedural/WorldBuilding.js.map +1 -0
- package/dist/cjs/release/MobileExport.js +149 -0
- package/dist/cjs/release/MobileExport.js.map +1 -0
- package/dist/cjs/release/Release.js +151 -0
- package/dist/cjs/release/Release.js.map +1 -0
- package/dist/cjs/rendering/Camera2D.js +129 -0
- package/dist/cjs/rendering/Camera2D.js.map +1 -0
- package/dist/cjs/rendering/Renderer2D.js +337 -0
- package/dist/cjs/rendering/Renderer2D.js.map +1 -0
- package/dist/cjs/runtime3d/Runtime3D.js +381 -0
- package/dist/cjs/runtime3d/Runtime3D.js.map +1 -0
- package/dist/cjs/runtime3d/SceneEditor3D.js +316 -0
- package/dist/cjs/runtime3d/SceneEditor3D.js.map +1 -0
- package/dist/cjs/scene/SceneManager.js +186 -0
- package/dist/cjs/scene/SceneManager.js.map +1 -0
- package/dist/cjs/scripting/NodeGraph.js +573 -0
- package/dist/cjs/scripting/NodeGraph.js.map +1 -0
- package/dist/cjs/social/Social.js +91 -0
- package/dist/cjs/social/Social.js.map +1 -0
- package/dist/cjs/templates/ActionTemplates.js +229 -0
- package/dist/cjs/templates/ActionTemplates.js.map +1 -0
- package/dist/cjs/templates/PartyTemplates.js +221 -0
- package/dist/cjs/templates/PartyTemplates.js.map +1 -0
- package/dist/cjs/templates/PuzzleTemplates.js +283 -0
- package/dist/cjs/templates/PuzzleTemplates.js.map +1 -0
- package/dist/cjs/templates/RPGTemplates.js +209 -0
- package/dist/cjs/templates/RPGTemplates.js.map +1 -0
- package/dist/cjs/templates/SportsTemplates.js +272 -0
- package/dist/cjs/templates/SportsTemplates.js.map +1 -0
- package/dist/cjs/templates/StrategyTemplates.js +173 -0
- package/dist/cjs/templates/StrategyTemplates.js.map +1 -0
- package/dist/cjs/templates/WaveDefense.js +470 -0
- package/dist/cjs/templates/WaveDefense.js.map +1 -0
- package/dist/cjs/tilemap/Tilemap.js +208 -0
- package/dist/cjs/tilemap/Tilemap.js.map +1 -0
- package/dist/cjs/tutorials/TutorialBranching.js +392 -0
- package/dist/cjs/tutorials/TutorialBranching.js.map +1 -0
- package/dist/cjs/tutorials/TutorialEngine.js +903 -0
- package/dist/cjs/tutorials/TutorialEngine.js.map +1 -0
- package/dist/cjs/tutorials/TutorialOverlay.js +602 -0
- package/dist/cjs/tutorials/TutorialOverlay.js.map +1 -0
- package/dist/cjs/tutorials/content/Tutorials_T05_T08.js +816 -0
- package/dist/cjs/tutorials/content/Tutorials_T05_T08.js.map +1 -0
- package/dist/cjs/tutorials/content/Tutorials_T09_T11.js +741 -0
- package/dist/cjs/tutorials/content/Tutorials_T09_T11.js.map +1 -0
- package/dist/cjs/tutorials/content/Tutorials_T12_T15.js +786 -0
- package/dist/cjs/tutorials/content/Tutorials_T12_T15.js.map +1 -0
- package/dist/cjs/ui/GameUI.js +312 -0
- package/dist/cjs/ui/GameUI.js.map +1 -0
- package/dist/cjs/xr/ARVR.js +197 -0
- package/dist/cjs/xr/ARVR.js.map +1 -0
- package/dist/esm/accessibility/Accessibility.js +153 -0
- package/dist/esm/accessibility/Accessibility.js.map +1 -0
- package/dist/esm/ai/AI.js +302 -0
- package/dist/esm/ai/AI.js.map +1 -0
- package/dist/esm/animation/Animation.js +227 -0
- package/dist/esm/animation/Animation.js.map +1 -0
- package/dist/esm/audio/AudioAdvanced.js +243 -0
- package/dist/esm/audio/AudioAdvanced.js.map +1 -0
- package/dist/esm/audio/AudioManager.js +246 -0
- package/dist/esm/audio/AudioManager.js.map +1 -0
- package/dist/esm/core/EventBus.js +61 -0
- package/dist/esm/core/EventBus.js.map +1 -0
- package/dist/esm/core/GameClock.js +68 -0
- package/dist/esm/core/GameClock.js.map +1 -0
- package/dist/esm/core/GameConfig.js +80 -0
- package/dist/esm/core/GameConfig.js.map +1 -0
- package/dist/esm/core/GameLoop.js +91 -0
- package/dist/esm/core/GameLoop.js.map +1 -0
- package/dist/esm/core/ServiceLocator.js +70 -0
- package/dist/esm/core/ServiceLocator.js.map +1 -0
- package/dist/esm/core/Validation.js +108 -0
- package/dist/esm/core/Validation.js.map +1 -0
- package/dist/esm/core/math.js +114 -0
- package/dist/esm/core/math.js.map +1 -0
- package/dist/esm/devtools/DevTools.js +555 -0
- package/dist/esm/devtools/DevTools.js.map +1 -0
- package/dist/esm/devtools/DeveloperExperience.js +547 -0
- package/dist/esm/devtools/DeveloperExperience.js.map +1 -0
- package/dist/esm/docs/DocGenerator.js +353 -0
- package/dist/esm/docs/DocGenerator.js.map +1 -0
- package/dist/esm/ecs/World.js +276 -0
- package/dist/esm/ecs/World.js.map +1 -0
- package/dist/esm/editor/AdvancedEditor.js +141 -0
- package/dist/esm/editor/AdvancedEditor.js.map +1 -0
- package/dist/esm/editor/AssetManager.js +188 -0
- package/dist/esm/editor/AssetManager.js.map +1 -0
- package/dist/esm/editor/DebugTools.js +179 -0
- package/dist/esm/editor/DebugTools.js.map +1 -0
- package/dist/esm/editor/NiceGameEditor.js +355 -0
- package/dist/esm/editor/NiceGameEditor.js.map +1 -0
- package/dist/esm/editor/SceneEditor.js +209 -0
- package/dist/esm/editor/SceneEditor.js.map +1 -0
- package/dist/esm/engine/NiceGameEngine.js +170 -0
- package/dist/esm/engine/NiceGameEngine.js.map +1 -0
- package/dist/esm/enterprise/Enterprise.js +246 -0
- package/dist/esm/enterprise/Enterprise.js.map +1 -0
- package/dist/esm/i18n/I18n.js +622 -0
- package/dist/esm/i18n/I18n.js.map +1 -0
- package/dist/esm/i18n/useTranslation.js +95 -0
- package/dist/esm/i18n/useTranslation.js.map +1 -0
- package/dist/esm/index.js +71 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/input/GamepadNavigation.js +178 -0
- package/dist/esm/input/GamepadNavigation.js.map +1 -0
- package/dist/esm/input/InputManager.js +399 -0
- package/dist/esm/input/InputManager.js.map +1 -0
- package/dist/esm/input/useGamepads.js +83 -0
- package/dist/esm/input/useGamepads.js.map +1 -0
- package/dist/esm/kids/KidMode.js +663 -0
- package/dist/esm/kids/KidMode.js.map +1 -0
- package/dist/esm/kids/KidTools.js +529 -0
- package/dist/esm/kids/KidTools.js.map +1 -0
- package/dist/esm/monetization/Monetization.js +186 -0
- package/dist/esm/monetization/Monetization.js.map +1 -0
- package/dist/esm/multiplayer/LocalMultiplayer.js +284 -0
- package/dist/esm/multiplayer/LocalMultiplayer.js.map +1 -0
- package/dist/esm/multiplayer/MiniGameTypes.js +60 -0
- package/dist/esm/multiplayer/MiniGameTypes.js.map +1 -0
- package/dist/esm/network/MultiplayerTransport.js +106 -0
- package/dist/esm/network/MultiplayerTransport.js.map +1 -0
- package/dist/esm/network/Networking.js +561 -0
- package/dist/esm/network/Networking.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/AbortController.js +30 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/AbortController.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/AccessTokenHttpClient.js +49 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/AccessTokenHttpClient.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/DefaultHttpClient.js +44 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/DefaultHttpClient.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/DefaultReconnectPolicy.js +16 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/DefaultReconnectPolicy.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Errors.js +136 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Errors.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/FetchHttpClient.js +159 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/FetchHttpClient.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js +54 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HeaderNames.js +9 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HeaderNames.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HttpClient.js +49 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HttpClient.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HttpConnection.js +573 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HttpConnection.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HubConnection.js +954 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HubConnection.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js +147 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/IHubProtocol.js +25 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/IHubProtocol.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ILogger.js +27 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ILogger.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ITransport.js +26 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ITransport.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js +122 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Loggers.js +15 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Loggers.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/LongPollingTransport.js +186 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/LongPollingTransport.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/MessageBuffer.js +197 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/MessageBuffer.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ServerSentEventsTransport.js +106 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ServerSentEventsTransport.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Subject.js +36 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Subject.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/TextMessageFormat.js +22 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/TextMessageFormat.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Utils.js +249 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Utils.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/WebSocketTransport.js +158 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/WebSocketTransport.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/XhrHttpClient.js +86 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/XhrHttpClient.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/index.js +13 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/index.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/pkg-version.js +4 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/pkg-version.js.map +1 -0
- package/dist/esm/pathfinding/Pathfinding.js +250 -0
- package/dist/esm/pathfinding/Pathfinding.js.map +1 -0
- package/dist/esm/performance/BenchmarkSuite.js +315 -0
- package/dist/esm/performance/BenchmarkSuite.js.map +1 -0
- package/dist/esm/performance/Performance.js +171 -0
- package/dist/esm/performance/Performance.js.map +1 -0
- package/dist/esm/performance/PerformanceAdvanced.js +620 -0
- package/dist/esm/performance/PerformanceAdvanced.js.map +1 -0
- package/dist/esm/physics/PhysicsAdvanced.js +417 -0
- package/dist/esm/physics/PhysicsAdvanced.js.map +1 -0
- package/dist/esm/physics/PhysicsEngine2D.js +442 -0
- package/dist/esm/physics/PhysicsEngine2D.js.map +1 -0
- package/dist/esm/plugins/PluginSDK.js +484 -0
- package/dist/esm/plugins/PluginSDK.js.map +1 -0
- package/dist/esm/plugins/PluginTestKit.js +359 -0
- package/dist/esm/plugins/PluginTestKit.js.map +1 -0
- package/dist/esm/procedural/Procedural.js +282 -0
- package/dist/esm/procedural/Procedural.js.map +1 -0
- package/dist/esm/procedural/WorldBuilding.js +225 -0
- package/dist/esm/procedural/WorldBuilding.js.map +1 -0
- package/dist/esm/release/MobileExport.js +142 -0
- package/dist/esm/release/MobileExport.js.map +1 -0
- package/dist/esm/release/Release.js +141 -0
- package/dist/esm/release/Release.js.map +1 -0
- package/dist/esm/rendering/Camera2D.js +127 -0
- package/dist/esm/rendering/Camera2D.js.map +1 -0
- package/dist/esm/rendering/Renderer2D.js +334 -0
- package/dist/esm/rendering/Renderer2D.js.map +1 -0
- package/dist/esm/runtime3d/Runtime3D.js +371 -0
- package/dist/esm/runtime3d/Runtime3D.js.map +1 -0
- package/dist/esm/runtime3d/SceneEditor3D.js +299 -0
- package/dist/esm/runtime3d/SceneEditor3D.js.map +1 -0
- package/dist/esm/scene/SceneManager.js +184 -0
- package/dist/esm/scene/SceneManager.js.map +1 -0
- package/dist/esm/scripting/NodeGraph.js +568 -0
- package/dist/esm/scripting/NodeGraph.js.map +1 -0
- package/dist/esm/social/Social.js +85 -0
- package/dist/esm/social/Social.js.map +1 -0
- package/dist/esm/templates/ActionTemplates.js +217 -0
- package/dist/esm/templates/ActionTemplates.js.map +1 -0
- package/dist/esm/templates/PartyTemplates.js +204 -0
- package/dist/esm/templates/PartyTemplates.js.map +1 -0
- package/dist/esm/templates/PuzzleTemplates.js +267 -0
- package/dist/esm/templates/PuzzleTemplates.js.map +1 -0
- package/dist/esm/templates/RPGTemplates.js +196 -0
- package/dist/esm/templates/RPGTemplates.js.map +1 -0
- package/dist/esm/templates/SportsTemplates.js +257 -0
- package/dist/esm/templates/SportsTemplates.js.map +1 -0
- package/dist/esm/templates/StrategyTemplates.js +157 -0
- package/dist/esm/templates/StrategyTemplates.js.map +1 -0
- package/dist/esm/templates/WaveDefense.js +467 -0
- package/dist/esm/templates/WaveDefense.js.map +1 -0
- package/dist/esm/tilemap/Tilemap.js +205 -0
- package/dist/esm/tilemap/Tilemap.js.map +1 -0
- package/dist/esm/tutorials/TutorialBranching.js +388 -0
- package/dist/esm/tutorials/TutorialBranching.js.map +1 -0
- package/dist/esm/tutorials/TutorialEngine.js +897 -0
- package/dist/esm/tutorials/TutorialEngine.js.map +1 -0
- package/dist/esm/tutorials/TutorialOverlay.js +600 -0
- package/dist/esm/tutorials/TutorialOverlay.js.map +1 -0
- package/dist/esm/tutorials/content/Tutorials_T05_T08.js +810 -0
- package/dist/esm/tutorials/content/Tutorials_T05_T08.js.map +1 -0
- package/dist/esm/tutorials/content/Tutorials_T09_T11.js +736 -0
- package/dist/esm/tutorials/content/Tutorials_T09_T11.js.map +1 -0
- package/dist/esm/tutorials/content/Tutorials_T12_T15.js +780 -0
- package/dist/esm/tutorials/content/Tutorials_T12_T15.js.map +1 -0
- package/dist/esm/ui/GameUI.js +310 -0
- package/dist/esm/ui/GameUI.js.map +1 -0
- package/dist/esm/xr/ARVR.js +182 -0
- package/dist/esm/xr/ARVR.js.map +1 -0
- package/dist/types/__tests__/setup.d.ts +1 -0
- package/dist/types/accessibility/Accessibility.d.ts +82 -0
- package/dist/types/accessibility/index.d.ts +1 -0
- package/dist/types/ai/AI.d.ts +140 -0
- package/dist/types/ai/index.d.ts +1 -0
- package/dist/types/animation/Animation.d.ts +90 -0
- package/dist/types/animation/index.d.ts +1 -0
- package/dist/types/audio/AudioAdvanced.d.ts +190 -0
- package/dist/types/audio/AudioManager.d.ts +55 -0
- package/dist/types/audio/index.d.ts +1 -0
- package/dist/types/community/Community.d.ts +112 -0
- package/dist/types/community/index.d.ts +1 -0
- package/dist/types/core/EventBus.d.ts +16 -0
- package/dist/types/core/GameClock.d.ts +29 -0
- package/dist/types/core/GameConfig.d.ts +20 -0
- package/dist/types/core/GameLoop.d.ts +32 -0
- package/dist/types/core/ServiceLocator.d.ts +36 -0
- package/dist/types/core/TypeSafety.d.ts +190 -0
- package/dist/types/core/Validation.d.ts +24 -0
- package/dist/types/core/index.d.ts +7 -0
- package/dist/types/core/math.d.ts +32 -0
- package/dist/types/core/types.d.ts +130 -0
- package/dist/types/devtools/AssetStore.d.ts +133 -0
- package/dist/types/devtools/DevTools.d.ts +217 -0
- package/dist/types/devtools/DeveloperExperience.d.ts +123 -0
- package/dist/types/devtools/index.d.ts +3 -0
- package/dist/types/docs/APIPlayground.d.ts +26 -0
- package/dist/types/docs/Cookbook.d.ts +18 -0
- package/dist/types/docs/DocGenerator.d.ts +83 -0
- package/dist/types/docs/Guides.d.ts +18 -0
- package/dist/types/docs/index.d.ts +4 -0
- package/dist/types/ecs/World.d.ts +219 -0
- package/dist/types/ecs/index.d.ts +1 -0
- package/dist/types/editor/AdvancedEditor.d.ts +267 -0
- package/dist/types/editor/AssetManager.d.ts +45 -0
- package/dist/types/editor/DebugTools.d.ts +74 -0
- package/dist/types/editor/NiceGameEditor.d.ts +115 -0
- package/dist/types/editor/SceneEditor.d.ts +37 -0
- package/dist/types/editor/index.d.ts +8 -0
- package/dist/types/engine/NiceGameEngine.d.ts +53 -0
- package/dist/types/engine/index.d.ts +2 -0
- package/dist/types/enterprise/Enterprise.d.ts +217 -0
- package/dist/types/enterprise/index.d.ts +1 -0
- package/dist/types/epic/index.d.ts +10 -0
- package/dist/types/i18n/I18n.d.ts +107 -0
- package/dist/types/i18n/index.d.ts +2 -0
- package/dist/types/i18n/useTranslation.d.ts +74 -0
- package/dist/types/index.d.ts +127 -0
- package/dist/types/input/GamepadNavigation.d.ts +34 -0
- package/dist/types/input/InputManager.d.ts +77 -0
- package/dist/types/input/index.d.ts +3 -0
- package/dist/types/input/useGamepads.d.ts +39 -0
- package/dist/types/kids/KidMode.d.ts +207 -0
- package/dist/types/kids/KidTools.d.ts +135 -0
- package/dist/types/kids/index.d.ts +2 -0
- package/dist/types/legendary/index.d.ts +57 -0
- package/dist/types/monetization/Monetization.d.ts +224 -0
- package/dist/types/monetization/index.d.ts +1 -0
- package/dist/types/multiplayer/LocalMultiplayer.d.ts +61 -0
- package/dist/types/multiplayer/MiniGameTypes.d.ts +70 -0
- package/dist/types/multiplayer/index.d.ts +3 -0
- package/dist/types/network/MultiplayerTransport.d.ts +71 -0
- package/dist/types/network/Networking.d.ts +199 -0
- package/dist/types/network/index.d.ts +2 -0
- package/dist/types/pathfinding/Pathfinding.d.ts +42 -0
- package/dist/types/pathfinding/index.d.ts +1 -0
- package/dist/types/performance/AssetCompression.d.ts +137 -0
- package/dist/types/performance/BenchmarkSuite.d.ts +99 -0
- package/dist/types/performance/Performance.d.ts +87 -0
- package/dist/types/performance/PerformanceAdvanced.d.ts +220 -0
- package/dist/types/performance/WASMModules.d.ts +65 -0
- package/dist/types/performance/WebGPUCompute.d.ts +164 -0
- package/dist/types/performance/index.d.ts +1 -0
- package/dist/types/physics/PhysicsAdvanced.d.ts +148 -0
- package/dist/types/physics/PhysicsEngine2D.d.ts +66 -0
- package/dist/types/physics/index.d.ts +1 -0
- package/dist/types/plugins/PluginSDK.d.ts +134 -0
- package/dist/types/plugins/PluginTestKit.d.ts +107 -0
- package/dist/types/plugins/index.d.ts +2 -0
- package/dist/types/procedural/Procedural.d.ts +90 -0
- package/dist/types/procedural/WorldBuilding.d.ts +200 -0
- package/dist/types/procedural/index.d.ts +2 -0
- package/dist/types/release/MobileExport.d.ts +218 -0
- package/dist/types/release/Release.d.ts +81 -0
- package/dist/types/release/index.d.ts +1 -0
- package/dist/types/rendering/Camera2D.d.ts +39 -0
- package/dist/types/rendering/Renderer2D.d.ts +41 -0
- package/dist/types/rendering/index.d.ts +2 -0
- package/dist/types/runtime3d/Runtime3D.d.ts +259 -0
- package/dist/types/runtime3d/SceneEditor3D.d.ts +186 -0
- package/dist/types/runtime3d/index.d.ts +2 -0
- package/dist/types/scene/SceneManager.d.ts +59 -0
- package/dist/types/scene/index.d.ts +2 -0
- package/dist/types/scripting/NodeGraph.d.ts +84 -0
- package/dist/types/scripting/index.d.ts +2 -0
- package/dist/types/social/Social.d.ts +245 -0
- package/dist/types/social/index.d.ts +1 -0
- package/dist/types/templates/ActionTemplates.d.ts +173 -0
- package/dist/types/templates/PartyTemplates.d.ts +195 -0
- package/dist/types/templates/PuzzleTemplates.d.ts +127 -0
- package/dist/types/templates/RPGTemplates.d.ts +210 -0
- package/dist/types/templates/SportsTemplates.d.ts +162 -0
- package/dist/types/templates/StrategyTemplates.d.ts +264 -0
- package/dist/types/templates/WaveDefense.d.ts +92 -0
- package/dist/types/templates/index.d.ts +2 -0
- package/dist/types/tilemap/Tilemap.d.ts +66 -0
- package/dist/types/tilemap/index.d.ts +1 -0
- package/dist/types/tutorials/TutorialBranching.d.ts +132 -0
- package/dist/types/tutorials/TutorialEditor.d.ts +43 -0
- package/dist/types/tutorials/TutorialEngine.d.ts +237 -0
- package/dist/types/tutorials/TutorialOverlay.d.ts +79 -0
- package/dist/types/tutorials/VoiceNarration.d.ts +75 -0
- package/dist/types/tutorials/content/Tutorials_T04.d.ts +3 -0
- package/dist/types/tutorials/content/Tutorials_T05_T08.d.ts +6 -0
- package/dist/types/tutorials/content/Tutorials_T09_T11.d.ts +5 -0
- package/dist/types/tutorials/content/Tutorials_T12_T15.d.ts +6 -0
- package/dist/types/tutorials/content/UITutorials.d.ts +14 -0
- package/dist/types/tutorials/content/index.d.ts +5 -0
- package/dist/types/tutorials/index.d.ts +6 -0
- package/dist/types/ui/GameUI.d.ts +97 -0
- package/dist/types/ui/index.d.ts +2 -0
- package/dist/types/xr/ARVR.d.ts +252 -0
- package/dist/types/xr/index.d.ts +1 -0
- package/package.json +88 -0
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import type { Vec2, EntityId } from '../core/types';
|
|
2
|
+
export interface PlatformerConfig {
|
|
3
|
+
moveSpeed: number;
|
|
4
|
+
jumpForce: number;
|
|
5
|
+
gravity: number;
|
|
6
|
+
maxJumps: number;
|
|
7
|
+
coyoteTime: number;
|
|
8
|
+
jumpBufferTime: number;
|
|
9
|
+
wallSlideSpeed: number;
|
|
10
|
+
wallJumpForce: Vec2;
|
|
11
|
+
dashSpeed: number;
|
|
12
|
+
dashDuration: number;
|
|
13
|
+
groundCheckDistance: number;
|
|
14
|
+
maxFallSpeed: number;
|
|
15
|
+
}
|
|
16
|
+
export declare const DEFAULT_PLATFORMER_CONFIG: PlatformerConfig;
|
|
17
|
+
export interface PlatformerState {
|
|
18
|
+
grounded: boolean;
|
|
19
|
+
jumpsRemaining: number;
|
|
20
|
+
coyoteTimer: number;
|
|
21
|
+
jumpBufferTimer: number;
|
|
22
|
+
wallSliding: boolean;
|
|
23
|
+
dashing: boolean;
|
|
24
|
+
dashTimer: number;
|
|
25
|
+
facingRight: boolean;
|
|
26
|
+
velocity: Vec2;
|
|
27
|
+
}
|
|
28
|
+
export declare function createPlatformerState(): PlatformerState;
|
|
29
|
+
export declare function updatePlatformer(state: PlatformerState, input: {
|
|
30
|
+
moveX: number;
|
|
31
|
+
jump: boolean;
|
|
32
|
+
dash: boolean;
|
|
33
|
+
}, config: PlatformerConfig, dt: number): Vec2;
|
|
34
|
+
export interface RunAndGunConfig {
|
|
35
|
+
moveSpeed: number;
|
|
36
|
+
jumpForce: number;
|
|
37
|
+
gravity: number;
|
|
38
|
+
fireRate: number;
|
|
39
|
+
bulletSpeed: number;
|
|
40
|
+
bulletDamage: number;
|
|
41
|
+
spreadAngle: number;
|
|
42
|
+
maxAmmo: number;
|
|
43
|
+
reloadTime: number;
|
|
44
|
+
aimDirections: 8 | 4;
|
|
45
|
+
scrollSpeed: number;
|
|
46
|
+
}
|
|
47
|
+
export declare const DEFAULT_RUN_AND_GUN_CONFIG: RunAndGunConfig;
|
|
48
|
+
export type WeaponType = 'pistol' | 'shotgun' | 'machinegun' | 'rocket' | 'laser' | 'flamethrower';
|
|
49
|
+
export interface WeaponDef {
|
|
50
|
+
type: WeaponType;
|
|
51
|
+
name: string;
|
|
52
|
+
damage: number;
|
|
53
|
+
fireRate: number;
|
|
54
|
+
bulletSpeed: number;
|
|
55
|
+
spread: number;
|
|
56
|
+
bulletsPerShot: number;
|
|
57
|
+
ammoMax: number;
|
|
58
|
+
reloadTime: number;
|
|
59
|
+
piercing: boolean;
|
|
60
|
+
explosive: boolean;
|
|
61
|
+
explosionRadius: number;
|
|
62
|
+
}
|
|
63
|
+
export declare const PRESET_WEAPONS: Record<WeaponType, WeaponDef>;
|
|
64
|
+
export interface BeatEmUpConfig {
|
|
65
|
+
moveSpeed: number;
|
|
66
|
+
combo: ComboChain[];
|
|
67
|
+
grabRange: number;
|
|
68
|
+
throwDamage: number;
|
|
69
|
+
knockbackForce: number;
|
|
70
|
+
healthMax: number;
|
|
71
|
+
lives: number;
|
|
72
|
+
iFrameDuration: number;
|
|
73
|
+
specialMeterMax: number;
|
|
74
|
+
specialCostPerUse: number;
|
|
75
|
+
laneCount: number;
|
|
76
|
+
laneHeight: number;
|
|
77
|
+
}
|
|
78
|
+
export interface ComboChain {
|
|
79
|
+
name: string;
|
|
80
|
+
sequence: string[];
|
|
81
|
+
damage: number[];
|
|
82
|
+
timing: number;
|
|
83
|
+
}
|
|
84
|
+
export declare const DEFAULT_BEAT_EM_UP_CONFIG: BeatEmUpConfig;
|
|
85
|
+
export interface BeatEmUpState {
|
|
86
|
+
comboIndex: number;
|
|
87
|
+
comboTimer: number;
|
|
88
|
+
specialMeter: number;
|
|
89
|
+
iFrameTimer: number;
|
|
90
|
+
health: number;
|
|
91
|
+
lives: number;
|
|
92
|
+
currentLane: number;
|
|
93
|
+
}
|
|
94
|
+
export declare function createBeatEmUpState(config: BeatEmUpConfig): BeatEmUpState;
|
|
95
|
+
export interface HackAndSlashConfig {
|
|
96
|
+
moveSpeed: number;
|
|
97
|
+
attackSpeed: number;
|
|
98
|
+
attackRange: number;
|
|
99
|
+
attackArc: number;
|
|
100
|
+
damage: number;
|
|
101
|
+
critChance: number;
|
|
102
|
+
critMultiplier: number;
|
|
103
|
+
dodgeSpeed: number;
|
|
104
|
+
dodgeDuration: number;
|
|
105
|
+
dodgeCooldown: number;
|
|
106
|
+
healthMax: number;
|
|
107
|
+
manaMax: number;
|
|
108
|
+
manaRegen: number;
|
|
109
|
+
xpPerLevel: number;
|
|
110
|
+
xpScaling: number;
|
|
111
|
+
skillSlots: number;
|
|
112
|
+
}
|
|
113
|
+
export declare const DEFAULT_HACK_AND_SLASH_CONFIG: HackAndSlashConfig;
|
|
114
|
+
export interface SkillDef {
|
|
115
|
+
id: string;
|
|
116
|
+
name: string;
|
|
117
|
+
manaCost: number;
|
|
118
|
+
cooldown: number;
|
|
119
|
+
damage: number;
|
|
120
|
+
range: number;
|
|
121
|
+
aoe: boolean;
|
|
122
|
+
aoeRadius: number;
|
|
123
|
+
projectile: boolean;
|
|
124
|
+
projectileSpeed: number;
|
|
125
|
+
}
|
|
126
|
+
export interface TwinStickConfig {
|
|
127
|
+
moveSpeed: number;
|
|
128
|
+
fireRate: number;
|
|
129
|
+
bulletSpeed: number;
|
|
130
|
+
bulletDamage: number;
|
|
131
|
+
bulletLifetime: number;
|
|
132
|
+
healthMax: number;
|
|
133
|
+
shieldMax: number;
|
|
134
|
+
shieldRegenRate: number;
|
|
135
|
+
shieldRegenDelay: number;
|
|
136
|
+
maxBullets: number;
|
|
137
|
+
spreadAngle: number;
|
|
138
|
+
bulletCount: number;
|
|
139
|
+
homingStrength: number;
|
|
140
|
+
}
|
|
141
|
+
export declare const DEFAULT_TWIN_STICK_CONFIG: TwinStickConfig;
|
|
142
|
+
export interface TwinStickState {
|
|
143
|
+
health: number;
|
|
144
|
+
shield: number;
|
|
145
|
+
shieldRegenTimer: number;
|
|
146
|
+
fireTimer: number;
|
|
147
|
+
score: number;
|
|
148
|
+
killStreak: number;
|
|
149
|
+
multiplier: number;
|
|
150
|
+
}
|
|
151
|
+
export declare function createTwinStickState(config: TwinStickConfig): TwinStickState;
|
|
152
|
+
export interface Projectile {
|
|
153
|
+
id: number;
|
|
154
|
+
x: number;
|
|
155
|
+
y: number;
|
|
156
|
+
vx: number;
|
|
157
|
+
vy: number;
|
|
158
|
+
damage: number;
|
|
159
|
+
lifetime: number;
|
|
160
|
+
ownerId: EntityId;
|
|
161
|
+
piercing: boolean;
|
|
162
|
+
hitEntities: Set<EntityId>;
|
|
163
|
+
}
|
|
164
|
+
export declare class ProjectilePool {
|
|
165
|
+
private pool;
|
|
166
|
+
private active;
|
|
167
|
+
private nextId;
|
|
168
|
+
spawn(x: number, y: number, vx: number, vy: number, damage: number, lifetime: number, ownerId: EntityId, piercing?: boolean): Projectile;
|
|
169
|
+
update(dt: number): void;
|
|
170
|
+
getActive(): readonly Projectile[];
|
|
171
|
+
remove(id: number): void;
|
|
172
|
+
clear(): void;
|
|
173
|
+
}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
export interface MinigameCollectionConfig {
|
|
2
|
+
maxPlayers: number;
|
|
3
|
+
roundsPerGame: number;
|
|
4
|
+
minigameTimeLimit: number;
|
|
5
|
+
transitionDuration: number;
|
|
6
|
+
selectionMode: 'random' | 'vote' | 'sequential';
|
|
7
|
+
scoreMode: 'points' | 'stars' | 'coins';
|
|
8
|
+
bonusRound: boolean;
|
|
9
|
+
bonusEveryNRounds: number;
|
|
10
|
+
tiebreaker: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare const DEFAULT_MINIGAME_COLLECTION_CONFIG: MinigameCollectionConfig;
|
|
13
|
+
export type MinigameType = 'ffa' | 'teams' | '1v3' | '2v2' | 'duel' | 'coop';
|
|
14
|
+
export interface MinigameDef {
|
|
15
|
+
id: string;
|
|
16
|
+
name: string;
|
|
17
|
+
description: string;
|
|
18
|
+
type: MinigameType;
|
|
19
|
+
duration: number;
|
|
20
|
+
minPlayers: number;
|
|
21
|
+
maxPlayers: number;
|
|
22
|
+
rules: string;
|
|
23
|
+
winCondition: 'last_standing' | 'high_score' | 'first_to_goal' | 'time_trial';
|
|
24
|
+
}
|
|
25
|
+
export interface MinigameCollectionState {
|
|
26
|
+
currentRound: number;
|
|
27
|
+
players: MinigamePlayer[];
|
|
28
|
+
currentMinigame: MinigameDef | null;
|
|
29
|
+
phase: 'lobby' | 'selection' | 'playing' | 'results' | 'final';
|
|
30
|
+
history: Array<{
|
|
31
|
+
minigameId: string;
|
|
32
|
+
winners: string[];
|
|
33
|
+
}>;
|
|
34
|
+
}
|
|
35
|
+
export interface MinigamePlayer {
|
|
36
|
+
id: string;
|
|
37
|
+
name: string;
|
|
38
|
+
score: number;
|
|
39
|
+
stars: number;
|
|
40
|
+
wins: number;
|
|
41
|
+
connected: boolean;
|
|
42
|
+
}
|
|
43
|
+
export declare function createMinigameCollectionState(players: Array<{
|
|
44
|
+
id: string;
|
|
45
|
+
name: string;
|
|
46
|
+
}>): MinigameCollectionState;
|
|
47
|
+
export declare function awardPoints(state: MinigameCollectionState, rankings: Array<{
|
|
48
|
+
playerId: string;
|
|
49
|
+
position: number;
|
|
50
|
+
}>, basePoints?: number): void;
|
|
51
|
+
export interface QuizConfig {
|
|
52
|
+
questionsPerRound: number;
|
|
53
|
+
timePerQuestion: number;
|
|
54
|
+
answerOptions: number;
|
|
55
|
+
scoreForCorrect: number;
|
|
56
|
+
bonusForSpeed: boolean;
|
|
57
|
+
streakBonus: number;
|
|
58
|
+
maxPlayers: number;
|
|
59
|
+
categoryCount: number;
|
|
60
|
+
lifelines: QuizLifeline[];
|
|
61
|
+
}
|
|
62
|
+
export type QuizLifeline = '50/50' | 'skip' | 'extra_time' | 'ask_audience' | 'double_points';
|
|
63
|
+
export declare const DEFAULT_QUIZ_CONFIG: QuizConfig;
|
|
64
|
+
export interface QuizQuestion {
|
|
65
|
+
id: string;
|
|
66
|
+
category: string;
|
|
67
|
+
question: string;
|
|
68
|
+
answers: string[];
|
|
69
|
+
correctIndex: number;
|
|
70
|
+
difficulty: number;
|
|
71
|
+
imageId?: string;
|
|
72
|
+
explanation?: string;
|
|
73
|
+
}
|
|
74
|
+
export interface QuizState {
|
|
75
|
+
currentQuestion: number;
|
|
76
|
+
scores: Map<string, number>;
|
|
77
|
+
streaks: Map<string, number>;
|
|
78
|
+
answers: Map<string, number | null>;
|
|
79
|
+
lifelinesUsed: Map<string, Set<string>>;
|
|
80
|
+
phase: 'waiting' | 'question' | 'reveal' | 'scoreboard' | 'finished';
|
|
81
|
+
timer: number;
|
|
82
|
+
}
|
|
83
|
+
export declare function createQuizState(playerIds: string[]): QuizState;
|
|
84
|
+
export declare function scoreQuizAnswer(state: QuizState, playerId: string, answerIndex: number, correctIndex: number, timeRemaining: number, config: QuizConfig): number;
|
|
85
|
+
export interface BoardGameConfig {
|
|
86
|
+
boardType: 'linear' | 'grid' | 'hex' | 'custom';
|
|
87
|
+
spaceCount: number;
|
|
88
|
+
diceCount: number;
|
|
89
|
+
diceSides: number;
|
|
90
|
+
maxPlayers: number;
|
|
91
|
+
turnOrder: 'clockwise' | 'counterclockwise' | 'random';
|
|
92
|
+
startSpace: number;
|
|
93
|
+
winCondition: 'reach_end' | 'most_points' | 'last_standing' | 'collect_all';
|
|
94
|
+
eventSpaces: boolean;
|
|
95
|
+
shopSpaces: boolean;
|
|
96
|
+
branchPaths: boolean;
|
|
97
|
+
}
|
|
98
|
+
export declare const DEFAULT_BOARD_GAME_CONFIG: BoardGameConfig;
|
|
99
|
+
export type BoardSpaceType = 'normal' | 'event' | 'shop' | 'minigame' | 'bonus' | 'penalty' | 'start' | 'finish';
|
|
100
|
+
export interface BoardSpace {
|
|
101
|
+
index: number;
|
|
102
|
+
type: BoardSpaceType;
|
|
103
|
+
label: string;
|
|
104
|
+
nextSpaces: number[];
|
|
105
|
+
effect?: string;
|
|
106
|
+
}
|
|
107
|
+
export interface BoardGameState {
|
|
108
|
+
currentTurn: number;
|
|
109
|
+
currentPlayer: number;
|
|
110
|
+
players: Array<{
|
|
111
|
+
id: string;
|
|
112
|
+
name: string;
|
|
113
|
+
position: number;
|
|
114
|
+
score: number;
|
|
115
|
+
coins: number;
|
|
116
|
+
items: string[];
|
|
117
|
+
skippedTurns: number;
|
|
118
|
+
}>;
|
|
119
|
+
diceResult: number[];
|
|
120
|
+
phase: 'roll' | 'move' | 'event' | 'shop' | 'end_turn' | 'game_over';
|
|
121
|
+
}
|
|
122
|
+
export declare function rollDice(count: number, sides: number): number[];
|
|
123
|
+
export declare function createBoardGameState(playerInfos: Array<{
|
|
124
|
+
id: string;
|
|
125
|
+
name: string;
|
|
126
|
+
}>, config: BoardGameConfig): BoardGameState;
|
|
127
|
+
export interface ReactionGameConfig {
|
|
128
|
+
type: 'speed_tap' | 'color_match' | 'simon_says' | 'whack_a_mole' | 'quick_draw';
|
|
129
|
+
roundCount: number;
|
|
130
|
+
roundDuration: number;
|
|
131
|
+
minReactionTime: number;
|
|
132
|
+
targetCount: number;
|
|
133
|
+
decoyChance: number;
|
|
134
|
+
penaltyForDecoy: number;
|
|
135
|
+
targetShowDuration: number;
|
|
136
|
+
speedIncrease: number;
|
|
137
|
+
maxPlayers: number;
|
|
138
|
+
}
|
|
139
|
+
export declare const DEFAULT_REACTION_CONFIG: ReactionGameConfig;
|
|
140
|
+
export interface ReactionState {
|
|
141
|
+
round: number;
|
|
142
|
+
scores: Map<string, number>;
|
|
143
|
+
reactionTimes: Map<string, number[]>;
|
|
144
|
+
currentTargets: Array<{
|
|
145
|
+
id: number;
|
|
146
|
+
x: number;
|
|
147
|
+
y: number;
|
|
148
|
+
isDecoy: boolean;
|
|
149
|
+
showTime: number;
|
|
150
|
+
}>;
|
|
151
|
+
phase: 'waiting' | 'ready' | 'go' | 'results';
|
|
152
|
+
nextTargetId: number;
|
|
153
|
+
}
|
|
154
|
+
export declare function createReactionState(playerIds: string[]): ReactionState;
|
|
155
|
+
export declare function getAverageReactionTime(state: ReactionState, playerId: string): number;
|
|
156
|
+
export interface DrawingGameConfig {
|
|
157
|
+
roundDuration: number;
|
|
158
|
+
maxPlayers: number;
|
|
159
|
+
roundsPerPlayer: number;
|
|
160
|
+
hintInterval: number;
|
|
161
|
+
maxHints: number;
|
|
162
|
+
canvasWidth: number;
|
|
163
|
+
canvasHeight: number;
|
|
164
|
+
brushColors: string[];
|
|
165
|
+
brushSizes: number[];
|
|
166
|
+
categories: string[];
|
|
167
|
+
pointsForGuess: number;
|
|
168
|
+
pointsForDrawer: number;
|
|
169
|
+
bonusForSpeed: boolean;
|
|
170
|
+
}
|
|
171
|
+
export declare const DEFAULT_DRAWING_CONFIG: DrawingGameConfig;
|
|
172
|
+
export interface DrawingStroke {
|
|
173
|
+
points: Array<{
|
|
174
|
+
x: number;
|
|
175
|
+
y: number;
|
|
176
|
+
}>;
|
|
177
|
+
color: string;
|
|
178
|
+
size: number;
|
|
179
|
+
tool: 'brush' | 'eraser' | 'fill';
|
|
180
|
+
}
|
|
181
|
+
export interface DrawingGameState {
|
|
182
|
+
currentDrawer: string;
|
|
183
|
+
currentWord: string;
|
|
184
|
+
hint: string;
|
|
185
|
+
hintsGiven: number;
|
|
186
|
+
timer: number;
|
|
187
|
+
strokes: DrawingStroke[];
|
|
188
|
+
scores: Map<string, number>;
|
|
189
|
+
guessedPlayers: Set<string>;
|
|
190
|
+
round: number;
|
|
191
|
+
phase: 'choosing' | 'drawing' | 'reveal' | 'finished';
|
|
192
|
+
}
|
|
193
|
+
export declare function createDrawingState(playerIds: string[]): DrawingGameState;
|
|
194
|
+
export declare function generateHint(word: string, hintsGiven: number): string;
|
|
195
|
+
export declare function checkGuess(guess: string, word: string): boolean;
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
export interface Match3Config {
|
|
2
|
+
columns: number;
|
|
3
|
+
rows: number;
|
|
4
|
+
gemTypes: number;
|
|
5
|
+
minMatch: number;
|
|
6
|
+
swapDuration: number;
|
|
7
|
+
fallSpeed: number;
|
|
8
|
+
scorePerGem: number;
|
|
9
|
+
comboMultiplier: number;
|
|
10
|
+
movesLimit: number;
|
|
11
|
+
timeLimit: number;
|
|
12
|
+
powerUpThreshold: number;
|
|
13
|
+
}
|
|
14
|
+
export declare const DEFAULT_MATCH3_CONFIG: Match3Config;
|
|
15
|
+
export type GemType = number;
|
|
16
|
+
export interface Match3Board {
|
|
17
|
+
cols: number;
|
|
18
|
+
rows: number;
|
|
19
|
+
cells: GemType[];
|
|
20
|
+
}
|
|
21
|
+
export declare function createMatch3Board(config: Match3Config): Match3Board;
|
|
22
|
+
export declare function findMatches(board: Match3Board, minMatch: number): number[];
|
|
23
|
+
export declare function removeMatches(board: Match3Board, indices: number[]): void;
|
|
24
|
+
export declare function applyGravity(board: Match3Board, config: Match3Config): void;
|
|
25
|
+
export declare function swapGems(board: Match3Board, idx1: number, idx2: number): void;
|
|
26
|
+
export interface BlockPuzzleConfig {
|
|
27
|
+
columns: number;
|
|
28
|
+
rows: number;
|
|
29
|
+
fallInterval: number;
|
|
30
|
+
lockDelay: number;
|
|
31
|
+
softDropMultiplier: number;
|
|
32
|
+
hardDrop: boolean;
|
|
33
|
+
holdPiece: boolean;
|
|
34
|
+
previewCount: number;
|
|
35
|
+
lineScores: number[];
|
|
36
|
+
levelSpeedFactor: number;
|
|
37
|
+
linesPerLevel: number;
|
|
38
|
+
}
|
|
39
|
+
export declare const DEFAULT_BLOCK_PUZZLE_CONFIG: BlockPuzzleConfig;
|
|
40
|
+
/** Standard tetrominoes as 4×4 bitmask rotations. */
|
|
41
|
+
export declare const TETROMINOES: Record<string, number[][]>;
|
|
42
|
+
export interface BlockPuzzleState {
|
|
43
|
+
board: number[];
|
|
44
|
+
currentPiece: string;
|
|
45
|
+
currentRotation: number;
|
|
46
|
+
pieceX: number;
|
|
47
|
+
pieceY: number;
|
|
48
|
+
score: number;
|
|
49
|
+
level: number;
|
|
50
|
+
lines: number;
|
|
51
|
+
heldPiece: string | null;
|
|
52
|
+
preview: string[];
|
|
53
|
+
gameOver: boolean;
|
|
54
|
+
}
|
|
55
|
+
export declare function createBlockPuzzleState(config: BlockPuzzleConfig): BlockPuzzleState;
|
|
56
|
+
export declare function checkLines(board: number[], cols: number, rows: number): number[];
|
|
57
|
+
export declare function clearLines(board: number[], cols: number, lineRows: number[]): void;
|
|
58
|
+
export interface PhysicsPuzzleConfig {
|
|
59
|
+
gravity: number;
|
|
60
|
+
maxObjects: number;
|
|
61
|
+
goalType: 'reach' | 'destroy' | 'collect' | 'balance';
|
|
62
|
+
starThresholds: [number, number, number];
|
|
63
|
+
hintDelay: number;
|
|
64
|
+
undoSteps: number;
|
|
65
|
+
}
|
|
66
|
+
export declare const DEFAULT_PHYSICS_PUZZLE_CONFIG: PhysicsPuzzleConfig;
|
|
67
|
+
export interface PuzzleLevelDef {
|
|
68
|
+
id: string;
|
|
69
|
+
name: string;
|
|
70
|
+
goalType: PhysicsPuzzleConfig['goalType'];
|
|
71
|
+
targetScore: number;
|
|
72
|
+
availableObjects: string[];
|
|
73
|
+
maxPlacements: number;
|
|
74
|
+
}
|
|
75
|
+
export interface HiddenObjectConfig {
|
|
76
|
+
timeLimit: number;
|
|
77
|
+
hintCooldown: number;
|
|
78
|
+
penaltyPerMisclick: number;
|
|
79
|
+
zoomEnabled: boolean;
|
|
80
|
+
maxZoom: number;
|
|
81
|
+
scorePerFind: number;
|
|
82
|
+
bonusTimePerFind: number;
|
|
83
|
+
}
|
|
84
|
+
export declare const DEFAULT_HIDDEN_OBJECT_CONFIG: HiddenObjectConfig;
|
|
85
|
+
export interface HiddenObjectDef {
|
|
86
|
+
id: string;
|
|
87
|
+
name: string;
|
|
88
|
+
x: number;
|
|
89
|
+
y: number;
|
|
90
|
+
width: number;
|
|
91
|
+
height: number;
|
|
92
|
+
found: boolean;
|
|
93
|
+
}
|
|
94
|
+
export interface HiddenObjectLevel {
|
|
95
|
+
sceneImage: string;
|
|
96
|
+
objects: HiddenObjectDef[];
|
|
97
|
+
}
|
|
98
|
+
export interface CardDef {
|
|
99
|
+
id: string;
|
|
100
|
+
name: string;
|
|
101
|
+
suit?: string;
|
|
102
|
+
rank?: number;
|
|
103
|
+
value: number;
|
|
104
|
+
imageId: string;
|
|
105
|
+
properties: Record<string, unknown>;
|
|
106
|
+
}
|
|
107
|
+
export interface DeckConfig {
|
|
108
|
+
cards: CardDef[];
|
|
109
|
+
shuffled: boolean;
|
|
110
|
+
maxHandSize: number;
|
|
111
|
+
drawCount: number;
|
|
112
|
+
}
|
|
113
|
+
export declare class Deck {
|
|
114
|
+
private cards;
|
|
115
|
+
private discardPile;
|
|
116
|
+
constructor(config: DeckConfig);
|
|
117
|
+
shuffle(): void;
|
|
118
|
+
draw(): CardDef | null;
|
|
119
|
+
drawMultiple(count: number): CardDef[];
|
|
120
|
+
discard(card: CardDef): void;
|
|
121
|
+
reshuffleDiscard(): void;
|
|
122
|
+
remaining(): number;
|
|
123
|
+
discarded(): number;
|
|
124
|
+
peek(count?: number): CardDef[];
|
|
125
|
+
}
|
|
126
|
+
/** Create a standard 52-card deck. */
|
|
127
|
+
export declare function createStandardDeck(): CardDef[];
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import type { Vec2 } from '../core/types';
|
|
2
|
+
export interface RPGConfig {
|
|
3
|
+
moveSpeed: number;
|
|
4
|
+
tileSize: number;
|
|
5
|
+
gridMovement: boolean;
|
|
6
|
+
maxPartySize: number;
|
|
7
|
+
baseStats: RPGStats;
|
|
8
|
+
xpCurve: 'linear' | 'quadratic' | 'cubic';
|
|
9
|
+
xpBase: number;
|
|
10
|
+
xpScale: number;
|
|
11
|
+
maxLevel: number;
|
|
12
|
+
battleSystem: 'action' | 'turn-based' | 'atb';
|
|
13
|
+
encounterRate: number;
|
|
14
|
+
inventorySlots: number;
|
|
15
|
+
}
|
|
16
|
+
export interface RPGStats {
|
|
17
|
+
hp: number;
|
|
18
|
+
mp: number;
|
|
19
|
+
attack: number;
|
|
20
|
+
defense: number;
|
|
21
|
+
magic: number;
|
|
22
|
+
speed: number;
|
|
23
|
+
luck: number;
|
|
24
|
+
}
|
|
25
|
+
export declare const DEFAULT_RPG_CONFIG: RPGConfig;
|
|
26
|
+
export declare function xpForLevel(level: number, config: RPGConfig): number;
|
|
27
|
+
export interface RPGCharacter {
|
|
28
|
+
id: string;
|
|
29
|
+
name: string;
|
|
30
|
+
level: number;
|
|
31
|
+
xp: number;
|
|
32
|
+
stats: RPGStats;
|
|
33
|
+
currentHp: number;
|
|
34
|
+
currentMp: number;
|
|
35
|
+
equipment: Record<string, string | null>;
|
|
36
|
+
skills: string[];
|
|
37
|
+
statusEffects: StatusEffect[];
|
|
38
|
+
}
|
|
39
|
+
export interface StatusEffect {
|
|
40
|
+
id: string;
|
|
41
|
+
name: string;
|
|
42
|
+
duration: number;
|
|
43
|
+
statMod: Partial<RPGStats>;
|
|
44
|
+
dot: number;
|
|
45
|
+
hot: number;
|
|
46
|
+
}
|
|
47
|
+
export interface ItemDef {
|
|
48
|
+
id: string;
|
|
49
|
+
name: string;
|
|
50
|
+
description: string;
|
|
51
|
+
type: 'weapon' | 'armor' | 'accessory' | 'consumable' | 'key' | 'material';
|
|
52
|
+
slot?: string;
|
|
53
|
+
stackable: boolean;
|
|
54
|
+
maxStack: number;
|
|
55
|
+
statBonus: Partial<RPGStats>;
|
|
56
|
+
price: number;
|
|
57
|
+
rarity: 'common' | 'uncommon' | 'rare' | 'epic' | 'legendary';
|
|
58
|
+
effectId?: string;
|
|
59
|
+
}
|
|
60
|
+
export interface Inventory {
|
|
61
|
+
slots: Array<{
|
|
62
|
+
itemId: string;
|
|
63
|
+
count: number;
|
|
64
|
+
} | null>;
|
|
65
|
+
gold: number;
|
|
66
|
+
}
|
|
67
|
+
export declare function createInventory(capacity: number): Inventory;
|
|
68
|
+
export declare function addItem(inv: Inventory, itemId: string, count: number, itemDefs: Map<string, ItemDef>): boolean;
|
|
69
|
+
export interface VisualNovelConfig {
|
|
70
|
+
textSpeed: number;
|
|
71
|
+
autoAdvanceDelay: number;
|
|
72
|
+
skipSpeed: number;
|
|
73
|
+
historyLength: number;
|
|
74
|
+
saveSlots: number;
|
|
75
|
+
maxCharactersOnScreen: number;
|
|
76
|
+
transitionDuration: number;
|
|
77
|
+
}
|
|
78
|
+
export declare const DEFAULT_VISUAL_NOVEL_CONFIG: VisualNovelConfig;
|
|
79
|
+
export type VNCommandType = 'dialog' | 'choice' | 'show' | 'hide' | 'scene' | 'music' | 'sfx' | 'wait' | 'set' | 'if' | 'jump' | 'end';
|
|
80
|
+
export interface VNCommand {
|
|
81
|
+
type: VNCommandType;
|
|
82
|
+
character?: string;
|
|
83
|
+
text?: string;
|
|
84
|
+
choices?: VNChoice[];
|
|
85
|
+
asset?: string;
|
|
86
|
+
position?: string;
|
|
87
|
+
expression?: string;
|
|
88
|
+
variable?: string;
|
|
89
|
+
value?: string | number | boolean;
|
|
90
|
+
condition?: string;
|
|
91
|
+
label?: string;
|
|
92
|
+
duration?: number;
|
|
93
|
+
}
|
|
94
|
+
export interface VNChoice {
|
|
95
|
+
text: string;
|
|
96
|
+
label: string;
|
|
97
|
+
condition?: string;
|
|
98
|
+
}
|
|
99
|
+
export interface VNScript {
|
|
100
|
+
id: string;
|
|
101
|
+
name: string;
|
|
102
|
+
commands: VNCommand[];
|
|
103
|
+
labels: Record<string, number>;
|
|
104
|
+
}
|
|
105
|
+
export declare function parseVNLabels(commands: VNCommand[]): Record<string, number>;
|
|
106
|
+
export interface VNState {
|
|
107
|
+
scriptId: string;
|
|
108
|
+
commandIndex: number;
|
|
109
|
+
variables: Record<string, string | number | boolean>;
|
|
110
|
+
history: VNCommand[];
|
|
111
|
+
visibleCharacters: Array<{
|
|
112
|
+
id: string;
|
|
113
|
+
position: string;
|
|
114
|
+
expression: string;
|
|
115
|
+
}>;
|
|
116
|
+
currentBackground: string;
|
|
117
|
+
textProgress: number;
|
|
118
|
+
waitingForChoice: boolean;
|
|
119
|
+
}
|
|
120
|
+
export declare function createVNState(scriptId: string): VNState;
|
|
121
|
+
export interface PointAndClickConfig {
|
|
122
|
+
walkSpeed: number;
|
|
123
|
+
doubleClickRun: boolean;
|
|
124
|
+
runMultiplier: number;
|
|
125
|
+
interactionDistance: number;
|
|
126
|
+
inventoryPosition: 'top' | 'bottom' | 'sidebar';
|
|
127
|
+
cursorTypes: string[];
|
|
128
|
+
verbCoin: boolean;
|
|
129
|
+
hotspotHighlight: boolean;
|
|
130
|
+
}
|
|
131
|
+
export declare const DEFAULT_POINT_AND_CLICK_CONFIG: PointAndClickConfig;
|
|
132
|
+
export interface Hotspot {
|
|
133
|
+
id: string;
|
|
134
|
+
name: string;
|
|
135
|
+
x: number;
|
|
136
|
+
y: number;
|
|
137
|
+
width: number;
|
|
138
|
+
height: number;
|
|
139
|
+
actions: Record<string, string>;
|
|
140
|
+
description: string;
|
|
141
|
+
enabled: boolean;
|
|
142
|
+
}
|
|
143
|
+
export interface RoomDef {
|
|
144
|
+
id: string;
|
|
145
|
+
name: string;
|
|
146
|
+
background: string;
|
|
147
|
+
walkableArea: Array<{
|
|
148
|
+
x: number;
|
|
149
|
+
y: number;
|
|
150
|
+
}>;
|
|
151
|
+
hotspots: Hotspot[];
|
|
152
|
+
exits: Array<{
|
|
153
|
+
targetRoom: string;
|
|
154
|
+
position: Vec2;
|
|
155
|
+
direction: string;
|
|
156
|
+
}>;
|
|
157
|
+
}
|
|
158
|
+
export interface RoguelikeConfig {
|
|
159
|
+
mapWidth: number;
|
|
160
|
+
mapHeight: number;
|
|
161
|
+
roomMinSize: number;
|
|
162
|
+
roomMaxSize: number;
|
|
163
|
+
maxRooms: number;
|
|
164
|
+
fovRadius: number;
|
|
165
|
+
turnBased: boolean;
|
|
166
|
+
permadeath: boolean;
|
|
167
|
+
metaProgression: boolean;
|
|
168
|
+
floorCount: number;
|
|
169
|
+
itemDropRate: number;
|
|
170
|
+
eliteChance: number;
|
|
171
|
+
bossEveryNFloors: number;
|
|
172
|
+
}
|
|
173
|
+
export declare const DEFAULT_ROGUELIKE_CONFIG: RoguelikeConfig;
|
|
174
|
+
export type TileType = 'wall' | 'floor' | 'door' | 'stairs_up' | 'stairs_down' | 'water' | 'lava';
|
|
175
|
+
export interface DungeonRoom {
|
|
176
|
+
x: number;
|
|
177
|
+
y: number;
|
|
178
|
+
width: number;
|
|
179
|
+
height: number;
|
|
180
|
+
connected: boolean;
|
|
181
|
+
}
|
|
182
|
+
/** BSP dungeon generator. */
|
|
183
|
+
export declare function generateDungeon(config: RoguelikeConfig): {
|
|
184
|
+
tiles: TileType[];
|
|
185
|
+
rooms: DungeonRoom[];
|
|
186
|
+
};
|
|
187
|
+
/** Simple FOV (field of view) via raycasting. */
|
|
188
|
+
export declare function computeFOV(tiles: TileType[], mapWidth: number, cx: number, cy: number, radius: number): Set<number>;
|
|
189
|
+
export interface DungeonCrawlerConfig {
|
|
190
|
+
/** First-person or top-down perspective. */
|
|
191
|
+
perspective: 'first-person' | 'top-down';
|
|
192
|
+
gridSize: number;
|
|
193
|
+
partySize: number;
|
|
194
|
+
automap: boolean;
|
|
195
|
+
trapChance: number;
|
|
196
|
+
secretWallChance: number;
|
|
197
|
+
encounterRate: number;
|
|
198
|
+
lootQualityScale: number;
|
|
199
|
+
puzzleFrequency: number;
|
|
200
|
+
}
|
|
201
|
+
export declare const DEFAULT_DUNGEON_CRAWLER_CONFIG: DungeonCrawlerConfig;
|
|
202
|
+
export interface DungeonFloorDef {
|
|
203
|
+
floor: number;
|
|
204
|
+
theme: string;
|
|
205
|
+
width: number;
|
|
206
|
+
height: number;
|
|
207
|
+
encounters: string[];
|
|
208
|
+
boss: string | null;
|
|
209
|
+
lootTable: string;
|
|
210
|
+
}
|