@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,115 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { GameProject, EntityId } from '../core/types';
|
|
3
|
+
import { EventBus } from '../core/EventBus';
|
|
4
|
+
import { World } from '../ecs/World';
|
|
5
|
+
import { SceneManager } from '../scene/SceneManager';
|
|
6
|
+
export interface UndoEntry {
|
|
7
|
+
description: string;
|
|
8
|
+
undo: () => void;
|
|
9
|
+
redo: () => void;
|
|
10
|
+
}
|
|
11
|
+
export declare class UndoStack {
|
|
12
|
+
private stack;
|
|
13
|
+
private pointer;
|
|
14
|
+
readonly maxSize: number;
|
|
15
|
+
readonly events: EventBus;
|
|
16
|
+
constructor(maxSize?: number);
|
|
17
|
+
push(entry: UndoEntry): void;
|
|
18
|
+
undo(): string | null;
|
|
19
|
+
redo(): string | null;
|
|
20
|
+
get canUndo(): boolean;
|
|
21
|
+
get canRedo(): boolean;
|
|
22
|
+
clear(): void;
|
|
23
|
+
}
|
|
24
|
+
export type EditorTool = 'select' | 'move' | 'rotate' | 'scale' | 'pan';
|
|
25
|
+
export type EditorMode = 'edit' | 'play' | 'pause';
|
|
26
|
+
export interface EditorPanel {
|
|
27
|
+
id: string;
|
|
28
|
+
title: string;
|
|
29
|
+
visible: boolean;
|
|
30
|
+
position: 'left' | 'right' | 'bottom' | 'floating';
|
|
31
|
+
width?: number;
|
|
32
|
+
height?: number;
|
|
33
|
+
}
|
|
34
|
+
export interface EditorState {
|
|
35
|
+
mode: EditorMode;
|
|
36
|
+
tool: EditorTool;
|
|
37
|
+
selectedEntities: EntityId[];
|
|
38
|
+
clipboard: EntityId[];
|
|
39
|
+
gridSize: number;
|
|
40
|
+
snapToGrid: boolean;
|
|
41
|
+
showGrid: boolean;
|
|
42
|
+
showRulers: boolean;
|
|
43
|
+
zoom: number;
|
|
44
|
+
panOffset: {
|
|
45
|
+
x: number;
|
|
46
|
+
y: number;
|
|
47
|
+
};
|
|
48
|
+
panels: EditorPanel[];
|
|
49
|
+
currentSceneId: string | null;
|
|
50
|
+
projectPath: string | null;
|
|
51
|
+
dirty: boolean;
|
|
52
|
+
}
|
|
53
|
+
type EditorAction = {
|
|
54
|
+
type: 'SET_MODE';
|
|
55
|
+
mode: EditorMode;
|
|
56
|
+
} | {
|
|
57
|
+
type: 'SET_TOOL';
|
|
58
|
+
tool: EditorTool;
|
|
59
|
+
} | {
|
|
60
|
+
type: 'SELECT';
|
|
61
|
+
entities: EntityId[];
|
|
62
|
+
} | {
|
|
63
|
+
type: 'ADD_SELECTION';
|
|
64
|
+
entities: EntityId[];
|
|
65
|
+
} | {
|
|
66
|
+
type: 'DESELECT_ALL';
|
|
67
|
+
} | {
|
|
68
|
+
type: 'SET_CLIPBOARD';
|
|
69
|
+
entities: EntityId[];
|
|
70
|
+
} | {
|
|
71
|
+
type: 'SET_GRID_SIZE';
|
|
72
|
+
size: number;
|
|
73
|
+
} | {
|
|
74
|
+
type: 'TOGGLE_SNAP';
|
|
75
|
+
} | {
|
|
76
|
+
type: 'TOGGLE_GRID';
|
|
77
|
+
} | {
|
|
78
|
+
type: 'SET_ZOOM';
|
|
79
|
+
zoom: number;
|
|
80
|
+
} | {
|
|
81
|
+
type: 'SET_PAN';
|
|
82
|
+
offset: {
|
|
83
|
+
x: number;
|
|
84
|
+
y: number;
|
|
85
|
+
};
|
|
86
|
+
} | {
|
|
87
|
+
type: 'TOGGLE_PANEL';
|
|
88
|
+
panelId: string;
|
|
89
|
+
} | {
|
|
90
|
+
type: 'SET_SCENE';
|
|
91
|
+
sceneId: string | null;
|
|
92
|
+
} | {
|
|
93
|
+
type: 'MARK_DIRTY';
|
|
94
|
+
} | {
|
|
95
|
+
type: 'MARK_CLEAN';
|
|
96
|
+
};
|
|
97
|
+
export interface EditorContextValue {
|
|
98
|
+
state: EditorState;
|
|
99
|
+
dispatch: React.Dispatch<EditorAction>;
|
|
100
|
+
world: World;
|
|
101
|
+
undoStack: UndoStack;
|
|
102
|
+
sceneManager: SceneManager;
|
|
103
|
+
events: EventBus;
|
|
104
|
+
}
|
|
105
|
+
export declare function useEditor(): EditorContextValue;
|
|
106
|
+
export declare function serializeProject(project: GameProject): string;
|
|
107
|
+
export declare function deserializeProject(json: string): GameProject;
|
|
108
|
+
export interface NiceGameEditorProps {
|
|
109
|
+
project?: GameProject;
|
|
110
|
+
onSave?: (project: GameProject) => void;
|
|
111
|
+
className?: string;
|
|
112
|
+
style?: React.CSSProperties;
|
|
113
|
+
}
|
|
114
|
+
export declare const NiceGameEditor: React.FC<NiceGameEditorProps>;
|
|
115
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { Vec2, Rect, EntityId } from '../core/types';
|
|
2
|
+
import { World, type Entity } from '../ecs/World';
|
|
3
|
+
import { Camera2D } from '../rendering/Camera2D';
|
|
4
|
+
export type GizmoMode = 'translate' | 'rotate' | 'scale';
|
|
5
|
+
export type GizmoAxis = 'x' | 'y' | 'xy' | 'none';
|
|
6
|
+
export interface GizmoState {
|
|
7
|
+
mode: GizmoMode;
|
|
8
|
+
activeAxis: GizmoAxis;
|
|
9
|
+
dragging: boolean;
|
|
10
|
+
startWorld: Vec2;
|
|
11
|
+
startLocal: Vec2;
|
|
12
|
+
delta: Vec2;
|
|
13
|
+
}
|
|
14
|
+
export declare function createGizmoState(mode?: GizmoMode): GizmoState;
|
|
15
|
+
export interface SelectionBox {
|
|
16
|
+
active: boolean;
|
|
17
|
+
start: Vec2;
|
|
18
|
+
end: Vec2;
|
|
19
|
+
}
|
|
20
|
+
export declare function getSelectionRect(box: SelectionBox): Rect;
|
|
21
|
+
export declare function entitiesInRect(world: World, rect: Rect): EntityId[];
|
|
22
|
+
export declare function snapToGrid(value: number, gridSize: number): number;
|
|
23
|
+
export declare function snapVec2ToGrid(v: Vec2, gridSize: number): Vec2;
|
|
24
|
+
export declare function renderGrid(ctx: CanvasRenderingContext2D, camera: Camera2D, canvasW: number, canvasH: number, gridSize: number, color?: string, majorColor?: string, majorEvery?: number): void;
|
|
25
|
+
export declare function renderTranslateGizmo(ctx: CanvasRenderingContext2D, screenPos: Vec2, activeAxis: GizmoAxis, size?: number): void;
|
|
26
|
+
export declare function renderRotateGizmo(ctx: CanvasRenderingContext2D, screenPos: Vec2, active: boolean, radius?: number): void;
|
|
27
|
+
export declare function renderScaleGizmo(ctx: CanvasRenderingContext2D, screenPos: Vec2, activeAxis: GizmoAxis, size?: number): void;
|
|
28
|
+
export declare function hitTestGizmoAxis(screenPos: Vec2, cursorScreen: Vec2, size?: number, threshold?: number): GizmoAxis;
|
|
29
|
+
export declare function pickEntityAt(world: World, worldPos: Vec2, margin?: number): Entity | null;
|
|
30
|
+
export interface ClipboardEntry {
|
|
31
|
+
entityId: EntityId;
|
|
32
|
+
/** Deep-cloned component data snapshot. */
|
|
33
|
+
components: Record<string, unknown>;
|
|
34
|
+
position: Vec2;
|
|
35
|
+
}
|
|
36
|
+
export declare function copyEntities(world: World, ids: EntityId[]): ClipboardEntry[];
|
|
37
|
+
export declare function pasteEntities(world: World, entries: ClipboardEntry[], offset?: Vec2): EntityId[];
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { NiceGameEditor, UndoStack, useEditor, serializeProject, deserializeProject } from './NiceGameEditor';
|
|
2
|
+
export type { NiceGameEditorProps, EditorContextValue, EditorState, EditorTool, EditorMode, EditorPanel, UndoEntry, } from './NiceGameEditor';
|
|
3
|
+
export { createGizmoState, getSelectionRect, entitiesInRect, snapToGrid, snapVec2ToGrid, renderGrid, renderTranslateGizmo, renderRotateGizmo, renderScaleGizmo, hitTestGizmoAxis, pickEntityAt, copyEntities, pasteEntities, } from './SceneEditor';
|
|
4
|
+
export type { GizmoMode, GizmoAxis, GizmoState, SelectionBox, ClipboardEntry, } from './SceneEditor';
|
|
5
|
+
export { AssetManager } from './AssetManager';
|
|
6
|
+
export type { AssetMetadata, AssetFolder } from './AssetManager';
|
|
7
|
+
export { Profiler, FPSCounter, ConsoleLogger, snapshotEntity, snapshotWorld, renderCollisionDebug, getMemoryStats, } from './DebugTools';
|
|
8
|
+
export type { ProfilerSample, ProfilerFrame, LogLevel, LogEntry, EntitySnapshot, MemoryStats, } from './DebugTools';
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { GameState, GameSettings } from '../core/types';
|
|
2
|
+
import { GameClock } from '../core/GameClock';
|
|
3
|
+
import { GameConfig } from '../core/GameConfig';
|
|
4
|
+
import { EventBus } from '../core/EventBus';
|
|
5
|
+
import { ServiceLocator } from '../core/ServiceLocator';
|
|
6
|
+
import { World } from '../ecs/World';
|
|
7
|
+
import { InputManager } from '../input/InputManager';
|
|
8
|
+
import { AudioManager } from '../audio/AudioManager';
|
|
9
|
+
import { Camera2D } from '../rendering/Camera2D';
|
|
10
|
+
import { Renderer2D } from '../rendering/Renderer2D';
|
|
11
|
+
import { PhysicsEngine2D } from '../physics/PhysicsEngine2D';
|
|
12
|
+
import { SceneManager } from '../scene/SceneManager';
|
|
13
|
+
import { GameUI } from '../ui/GameUI';
|
|
14
|
+
import { PlayerManager, SplitScreenManager } from '../multiplayer/LocalMultiplayer';
|
|
15
|
+
export interface EngineOptions {
|
|
16
|
+
canvas: HTMLCanvasElement;
|
|
17
|
+
settings?: Partial<GameSettings>;
|
|
18
|
+
debug?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export declare class NiceGameEngine {
|
|
21
|
+
readonly events: EventBus;
|
|
22
|
+
readonly config: GameConfig;
|
|
23
|
+
readonly clock: GameClock;
|
|
24
|
+
readonly services: ServiceLocator;
|
|
25
|
+
readonly world: World;
|
|
26
|
+
readonly input: InputManager;
|
|
27
|
+
readonly audio: AudioManager;
|
|
28
|
+
readonly renderer: Renderer2D;
|
|
29
|
+
readonly physics: PhysicsEngine2D;
|
|
30
|
+
readonly scenes: SceneManager;
|
|
31
|
+
readonly ui: GameUI;
|
|
32
|
+
readonly players: PlayerManager;
|
|
33
|
+
readonly splitScreen: SplitScreenManager;
|
|
34
|
+
private loop;
|
|
35
|
+
private canvas;
|
|
36
|
+
private _state;
|
|
37
|
+
private _debug;
|
|
38
|
+
constructor(options: EngineOptions);
|
|
39
|
+
get state(): GameState;
|
|
40
|
+
get camera(): Camera2D;
|
|
41
|
+
get debug(): boolean;
|
|
42
|
+
set debug(v: boolean);
|
|
43
|
+
start(): Promise<void>;
|
|
44
|
+
stop(): void;
|
|
45
|
+
pause(): void;
|
|
46
|
+
resume(): void;
|
|
47
|
+
destroy(): void;
|
|
48
|
+
/** Alias for destroy() — unified cleanup pattern. */
|
|
49
|
+
dispose(): void;
|
|
50
|
+
private update;
|
|
51
|
+
private fixedUpdate;
|
|
52
|
+
private render;
|
|
53
|
+
}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
export interface BrandingConfig {
|
|
2
|
+
appName: string;
|
|
3
|
+
appLogo: string;
|
|
4
|
+
appIcon: string;
|
|
5
|
+
companyName: string;
|
|
6
|
+
primaryColor: string;
|
|
7
|
+
secondaryColor: string;
|
|
8
|
+
accentColor: string;
|
|
9
|
+
backgroundColor: string;
|
|
10
|
+
textColor: string;
|
|
11
|
+
fontFamily: string;
|
|
12
|
+
borderRadius: number;
|
|
13
|
+
customCSS?: string;
|
|
14
|
+
splashScreen?: string;
|
|
15
|
+
loginBackground?: string;
|
|
16
|
+
footerText?: string;
|
|
17
|
+
helpUrl?: string;
|
|
18
|
+
privacyUrl?: string;
|
|
19
|
+
termsUrl?: string;
|
|
20
|
+
}
|
|
21
|
+
export declare const DEFAULT_BRANDING: BrandingConfig;
|
|
22
|
+
export declare function generateCSSVariables(branding: BrandingConfig): string;
|
|
23
|
+
export type AuthProvider = 'local' | 'ldap' | 'saml' | 'oidc' | 'oauth2' | 'azure-ad' | 'google' | 'github';
|
|
24
|
+
export interface AuthConfig {
|
|
25
|
+
providers: AuthProviderConfig[];
|
|
26
|
+
sessionTimeout: number;
|
|
27
|
+
maxSessions: number;
|
|
28
|
+
mfa: MFAConfig;
|
|
29
|
+
passwordPolicy: PasswordPolicy;
|
|
30
|
+
loginAttempts: number;
|
|
31
|
+
lockoutDuration: number;
|
|
32
|
+
jwtSecret?: string;
|
|
33
|
+
jwtExpiry: number;
|
|
34
|
+
refreshTokenExpiry: number;
|
|
35
|
+
corsOrigins: string[];
|
|
36
|
+
}
|
|
37
|
+
export interface AuthProviderConfig {
|
|
38
|
+
type: AuthProvider;
|
|
39
|
+
enabled: boolean;
|
|
40
|
+
displayName: string;
|
|
41
|
+
icon?: string;
|
|
42
|
+
config: Record<string, string>;
|
|
43
|
+
}
|
|
44
|
+
export interface MFAConfig {
|
|
45
|
+
enabled: boolean;
|
|
46
|
+
required: boolean;
|
|
47
|
+
methods: ('totp' | 'sms' | 'email' | 'webauthn')[];
|
|
48
|
+
gracePeriod: number;
|
|
49
|
+
}
|
|
50
|
+
export interface PasswordPolicy {
|
|
51
|
+
minLength: number;
|
|
52
|
+
maxLength: number;
|
|
53
|
+
requireUppercase: boolean;
|
|
54
|
+
requireLowercase: boolean;
|
|
55
|
+
requireDigit: boolean;
|
|
56
|
+
requireSpecial: boolean;
|
|
57
|
+
preventReuse: number;
|
|
58
|
+
expiryDays: number;
|
|
59
|
+
}
|
|
60
|
+
export declare const DEFAULT_PASSWORD_POLICY: PasswordPolicy;
|
|
61
|
+
export declare function validatePassword(password: string, policy: PasswordPolicy): string[];
|
|
62
|
+
export type Permission = 'project.create' | 'project.read' | 'project.edit' | 'project.delete' | 'project.publish' | 'asset.upload' | 'asset.edit' | 'asset.delete' | 'user.manage' | 'user.invite' | 'user.delete' | 'role.manage' | 'role.assign' | 'settings.view' | 'settings.edit' | 'billing.view' | 'billing.manage' | 'audit.view' | 'api.access' | 'api.admin' | 'marketplace.publish' | 'marketplace.moderate' | 'admin.all';
|
|
63
|
+
export interface RoleDef {
|
|
64
|
+
id: string;
|
|
65
|
+
name: string;
|
|
66
|
+
description: string;
|
|
67
|
+
permissions: Permission[];
|
|
68
|
+
inherits?: string[];
|
|
69
|
+
isSystem: boolean;
|
|
70
|
+
}
|
|
71
|
+
export declare const SYSTEM_ROLES: RoleDef[];
|
|
72
|
+
export declare function hasPermission(userPermissions: Permission[], required: Permission): boolean;
|
|
73
|
+
export declare function resolveRolePermissions(roleId: string, allRoles: RoleDef[]): Permission[];
|
|
74
|
+
export type AuditAction = 'login' | 'logout' | 'login_failed' | 'project_create' | 'project_update' | 'project_delete' | 'project_publish' | 'asset_upload' | 'asset_delete' | 'user_create' | 'user_update' | 'user_delete' | 'user_role_change' | 'settings_change' | 'permission_change' | 'api_key_create' | 'api_key_revoke' | 'export_start' | 'export_complete';
|
|
75
|
+
export interface AuditEntry {
|
|
76
|
+
id: string;
|
|
77
|
+
timestamp: number;
|
|
78
|
+
action: AuditAction;
|
|
79
|
+
userId: string;
|
|
80
|
+
userEmail: string;
|
|
81
|
+
ipAddress: string;
|
|
82
|
+
userAgent: string;
|
|
83
|
+
resourceType: string;
|
|
84
|
+
resourceId: string;
|
|
85
|
+
details: Record<string, unknown>;
|
|
86
|
+
success: boolean;
|
|
87
|
+
severity: 'info' | 'warning' | 'critical';
|
|
88
|
+
}
|
|
89
|
+
export interface AuditQuery {
|
|
90
|
+
userId?: string;
|
|
91
|
+
action?: AuditAction;
|
|
92
|
+
resourceType?: string;
|
|
93
|
+
resourceId?: string;
|
|
94
|
+
severity?: AuditEntry['severity'];
|
|
95
|
+
startDate?: number;
|
|
96
|
+
endDate?: number;
|
|
97
|
+
page: number;
|
|
98
|
+
pageSize: number;
|
|
99
|
+
}
|
|
100
|
+
export declare class AuditLog {
|
|
101
|
+
private entries;
|
|
102
|
+
private maxEntries;
|
|
103
|
+
constructor(maxEntries?: number);
|
|
104
|
+
log(entry: Omit<AuditEntry, 'id' | 'timestamp'>): AuditEntry;
|
|
105
|
+
query(q: AuditQuery): {
|
|
106
|
+
entries: AuditEntry[];
|
|
107
|
+
total: number;
|
|
108
|
+
};
|
|
109
|
+
getRecent(count: number): AuditEntry[];
|
|
110
|
+
getFailedLogins(since: number): AuditEntry[];
|
|
111
|
+
clear(): void;
|
|
112
|
+
}
|
|
113
|
+
export interface Organization {
|
|
114
|
+
id: string;
|
|
115
|
+
name: string;
|
|
116
|
+
slug: string;
|
|
117
|
+
ownerId: string;
|
|
118
|
+
members: OrgMember[];
|
|
119
|
+
plan: OrgPlan;
|
|
120
|
+
branding: BrandingConfig;
|
|
121
|
+
settings: OrgSettings;
|
|
122
|
+
createdAt: number;
|
|
123
|
+
}
|
|
124
|
+
export interface OrgMember {
|
|
125
|
+
userId: string;
|
|
126
|
+
email: string;
|
|
127
|
+
roleId: string;
|
|
128
|
+
joinedAt: number;
|
|
129
|
+
invitedBy: string;
|
|
130
|
+
status: 'active' | 'invited' | 'suspended';
|
|
131
|
+
}
|
|
132
|
+
export type OrgPlan = 'free' | 'starter' | 'professional' | 'enterprise';
|
|
133
|
+
export interface OrgSettings {
|
|
134
|
+
maxProjects: number;
|
|
135
|
+
maxMembers: number;
|
|
136
|
+
maxStorageGB: number;
|
|
137
|
+
customDomain: boolean;
|
|
138
|
+
ssoEnabled: boolean;
|
|
139
|
+
apiAccess: boolean;
|
|
140
|
+
prioritySupport: boolean;
|
|
141
|
+
sla: string;
|
|
142
|
+
dataRetentionDays: number;
|
|
143
|
+
}
|
|
144
|
+
export declare const PLAN_LIMITS: Record<OrgPlan, OrgSettings>;
|
|
145
|
+
export interface APIKey {
|
|
146
|
+
id: string;
|
|
147
|
+
name: string;
|
|
148
|
+
prefix: string;
|
|
149
|
+
hashedKey: string;
|
|
150
|
+
userId: string;
|
|
151
|
+
orgId: string;
|
|
152
|
+
permissions: Permission[];
|
|
153
|
+
rateLimit: number;
|
|
154
|
+
expiresAt?: number;
|
|
155
|
+
createdAt: number;
|
|
156
|
+
lastUsedAt?: number;
|
|
157
|
+
active: boolean;
|
|
158
|
+
}
|
|
159
|
+
export interface RateLimitConfig {
|
|
160
|
+
windowMs: number;
|
|
161
|
+
maxRequests: number;
|
|
162
|
+
burstLimit: number;
|
|
163
|
+
slowDownAfter: number;
|
|
164
|
+
slowDownDelay: number;
|
|
165
|
+
}
|
|
166
|
+
export declare const DEFAULT_RATE_LIMITS: Record<string, RateLimitConfig>;
|
|
167
|
+
export declare class RateLimiter {
|
|
168
|
+
private windows;
|
|
169
|
+
private config;
|
|
170
|
+
constructor(config: RateLimitConfig);
|
|
171
|
+
tryConsume(key: string): {
|
|
172
|
+
allowed: boolean;
|
|
173
|
+
remaining: number;
|
|
174
|
+
retryAfter?: number;
|
|
175
|
+
};
|
|
176
|
+
getRemainingRequests(key: string): number;
|
|
177
|
+
reset(key: string): void;
|
|
178
|
+
}
|
|
179
|
+
export interface DeploymentConfig {
|
|
180
|
+
mode: 'cloud' | 'self-hosted' | 'hybrid';
|
|
181
|
+
region: string;
|
|
182
|
+
database: DatabaseConfig;
|
|
183
|
+
storage: StorageConfig;
|
|
184
|
+
cache: CacheConfig;
|
|
185
|
+
scaling: ScalingConfig;
|
|
186
|
+
}
|
|
187
|
+
export interface DatabaseConfig {
|
|
188
|
+
type: 'postgresql' | 'mysql' | 'mongodb' | 'sqlite';
|
|
189
|
+
host: string;
|
|
190
|
+
port: number;
|
|
191
|
+
database: string;
|
|
192
|
+
ssl: boolean;
|
|
193
|
+
poolSize: number;
|
|
194
|
+
maxConnections: number;
|
|
195
|
+
}
|
|
196
|
+
export interface StorageConfig {
|
|
197
|
+
type: 's3' | 'azure-blob' | 'gcs' | 'local';
|
|
198
|
+
bucket: string;
|
|
199
|
+
region: string;
|
|
200
|
+
publicUrl: string;
|
|
201
|
+
maxFileSizeMB: number;
|
|
202
|
+
}
|
|
203
|
+
export interface CacheConfig {
|
|
204
|
+
type: 'redis' | 'memcached' | 'memory';
|
|
205
|
+
host: string;
|
|
206
|
+
port: number;
|
|
207
|
+
defaultTTL: number;
|
|
208
|
+
maxMemoryMB: number;
|
|
209
|
+
}
|
|
210
|
+
export interface ScalingConfig {
|
|
211
|
+
minInstances: number;
|
|
212
|
+
maxInstances: number;
|
|
213
|
+
targetCPU: number;
|
|
214
|
+
targetMemory: number;
|
|
215
|
+
scaleUpCooldown: number;
|
|
216
|
+
scaleDownCooldown: number;
|
|
217
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Enterprise';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from '../ai/AI';
|
|
2
|
+
export * from '../xr/ARVR';
|
|
3
|
+
export * from '../social/Social';
|
|
4
|
+
export * from '../release/MobileExport';
|
|
5
|
+
export * from '../editor/AdvancedEditor';
|
|
6
|
+
export * from '../physics/PhysicsAdvanced';
|
|
7
|
+
export * from '../audio/AudioAdvanced';
|
|
8
|
+
export * from '../procedural/WorldBuilding';
|
|
9
|
+
export * from '../monetization/Monetization';
|
|
10
|
+
export * from '../enterprise/Enterprise';
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { EventBus } from '../core/EventBus';
|
|
2
|
+
/** Supported locale codes */
|
|
3
|
+
export type Locale = 'pl' | 'en' | 'de' | 'fr' | 'es' | 'it' | 'pt' | 'nl' | 'sv' | 'no' | 'da' | 'fi' | 'cs' | 'sk' | 'hu' | 'ro' | 'bg' | 'uk' | 'ja' | 'ko';
|
|
4
|
+
/** All supported locales as array */
|
|
5
|
+
export declare const SUPPORTED_LOCALES: readonly Locale[];
|
|
6
|
+
/** Human-readable locale names */
|
|
7
|
+
export declare const LOCALE_NAMES: Record<Locale, string>;
|
|
8
|
+
/** RTL locales (none currently, but extensible for ar, he) */
|
|
9
|
+
export declare const RTL_LOCALES: ReadonlySet<string>;
|
|
10
|
+
/** Nested translation dictionary */
|
|
11
|
+
export interface TranslationDict {
|
|
12
|
+
[key: string]: string | TranslationDict;
|
|
13
|
+
}
|
|
14
|
+
/** Translation namespace = module-specific translations */
|
|
15
|
+
export interface TranslationNamespace {
|
|
16
|
+
locale: Locale;
|
|
17
|
+
namespace: string;
|
|
18
|
+
translations: TranslationDict;
|
|
19
|
+
}
|
|
20
|
+
/** Interpolation values */
|
|
21
|
+
export interface InterpolationValues {
|
|
22
|
+
[key: string]: string | number | boolean;
|
|
23
|
+
}
|
|
24
|
+
/** Pluralization rules per language family */
|
|
25
|
+
export type PluralCategory = 'zero' | 'one' | 'two' | 'few' | 'many' | 'other';
|
|
26
|
+
export interface PluralRule {
|
|
27
|
+
select(count: number): PluralCategory;
|
|
28
|
+
}
|
|
29
|
+
/** Config for I18nManager */
|
|
30
|
+
export interface I18nConfig {
|
|
31
|
+
defaultLocale: Locale;
|
|
32
|
+
fallbackLocale: Locale;
|
|
33
|
+
debug: boolean;
|
|
34
|
+
missingKeyHandler?: (locale: Locale, ns: string, key: string) => string;
|
|
35
|
+
interpolationPrefix: string;
|
|
36
|
+
interpolationSuffix: string;
|
|
37
|
+
pluralSeparator: string;
|
|
38
|
+
namespaceSeparator: string;
|
|
39
|
+
keySeparator: string;
|
|
40
|
+
}
|
|
41
|
+
export declare class I18nManager {
|
|
42
|
+
private locale;
|
|
43
|
+
private readonly config;
|
|
44
|
+
private readonly namespaces;
|
|
45
|
+
private readonly loadedNamespaces;
|
|
46
|
+
readonly events: EventBus;
|
|
47
|
+
constructor(config?: Partial<I18nConfig>);
|
|
48
|
+
getLocale(): Locale;
|
|
49
|
+
setLocale(locale: Locale): void;
|
|
50
|
+
isRTL(): boolean;
|
|
51
|
+
/** Auto-detect locale from browser settings */
|
|
52
|
+
detectLocale(): Locale;
|
|
53
|
+
/**
|
|
54
|
+
* Add translations for a namespace + locale.
|
|
55
|
+
* Can be called multiple times (merges).
|
|
56
|
+
*/
|
|
57
|
+
addTranslations(namespace: string, locale: Locale, translations: TranslationDict): void;
|
|
58
|
+
/** Check if translations are loaded for namespace + locale */
|
|
59
|
+
isLoaded(namespace: string, locale?: Locale): boolean;
|
|
60
|
+
/** Load translations from async source (e.g., dynamic import) */
|
|
61
|
+
loadNamespace(namespace: string, locale: Locale, loader: () => Promise<TranslationDict>): Promise<void>;
|
|
62
|
+
/**
|
|
63
|
+
* Translate a key.
|
|
64
|
+
*
|
|
65
|
+
* @param fullKey - Key with optional namespace: 'ns:path.to.key' or just 'path.to.key'
|
|
66
|
+
* @param values - Interpolation values (including `count` for pluralization)
|
|
67
|
+
* @returns Translated string or fallback
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* i18n.t('editor:tools.select') // → 'Select'
|
|
71
|
+
* i18n.t('game:score', { score: 100 }) // → 'Score: 100'
|
|
72
|
+
* i18n.t('items', { count: 5 }) // → '5 items' (pluralized)
|
|
73
|
+
*/
|
|
74
|
+
t(fullKey: string, values?: InterpolationValues): string;
|
|
75
|
+
/** Get plural category for current locale */
|
|
76
|
+
getPluralCategory(count: number): PluralCategory;
|
|
77
|
+
/** Format number using locale conventions */
|
|
78
|
+
formatNumber(value: number, options?: Intl.NumberFormatOptions): string;
|
|
79
|
+
/** Format date using locale conventions */
|
|
80
|
+
formatDate(date: Date, options?: Intl.DateTimeFormatOptions): string;
|
|
81
|
+
/** Format relative time (e.g., "2 days ago") — requires ES2020+ runtime */
|
|
82
|
+
formatRelativeTime(value: number, unit: string): string;
|
|
83
|
+
private parseKey;
|
|
84
|
+
private resolve;
|
|
85
|
+
private interpolate;
|
|
86
|
+
/** Get all loaded namespaces */
|
|
87
|
+
getLoadedNamespaces(): string[];
|
|
88
|
+
/** Get all translations for a namespace + locale (for debugging) */
|
|
89
|
+
getTranslations(namespace: string, locale?: Locale): TranslationDict | undefined;
|
|
90
|
+
/** Get count of missing translations for a locale compared to fallback */
|
|
91
|
+
getMissingKeys(namespace: string, locale: Locale): string[];
|
|
92
|
+
dispose(): void;
|
|
93
|
+
}
|
|
94
|
+
/** Get or create the default I18nManager instance */
|
|
95
|
+
export declare function getI18n(): I18nManager;
|
|
96
|
+
/** Initialize the default I18nManager with config */
|
|
97
|
+
export declare function initI18n(config?: Partial<I18nConfig>): I18nManager;
|
|
98
|
+
/** Convenience shorthand for getI18n().t() */
|
|
99
|
+
export declare function t(key: string, values?: InterpolationValues): string;
|
|
100
|
+
/** Core engine UI strings in English */
|
|
101
|
+
export declare const ENGINE_TRANSLATIONS_EN: TranslationDict;
|
|
102
|
+
/** Core engine UI strings in Polish */
|
|
103
|
+
export declare const ENGINE_TRANSLATIONS_PL: TranslationDict;
|
|
104
|
+
/** Core engine UI strings in German */
|
|
105
|
+
export declare const ENGINE_TRANSLATIONS_DE: TranslationDict;
|
|
106
|
+
/** Register built-in translations on an I18nManager instance */
|
|
107
|
+
export declare function registerEngineTranslations(i18n: I18nManager): void;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type { Locale, InterpolationValues } from './I18n';
|
|
2
|
+
import { I18nManager } from './I18n';
|
|
3
|
+
/**
|
|
4
|
+
* Provider component to supply a custom I18nManager to the tree.
|
|
5
|
+
* If not used, the global singleton (getI18n()) is used automatically.
|
|
6
|
+
*/
|
|
7
|
+
export declare function I18nProvider({ i18n, children, }: {
|
|
8
|
+
i18n: I18nManager;
|
|
9
|
+
children: React.ReactNode;
|
|
10
|
+
}): React.ReactElement;
|
|
11
|
+
export interface UseTranslationResult {
|
|
12
|
+
/** Translate a key */
|
|
13
|
+
t: (key: string, values?: InterpolationValues) => string;
|
|
14
|
+
/** Current locale */
|
|
15
|
+
locale: Locale;
|
|
16
|
+
/** Change locale */
|
|
17
|
+
setLocale: (locale: Locale) => void;
|
|
18
|
+
/** Is current locale RTL? */
|
|
19
|
+
isRTL: boolean;
|
|
20
|
+
/** The underlying I18nManager */
|
|
21
|
+
i18n: I18nManager;
|
|
22
|
+
/** All supported locales */
|
|
23
|
+
locales: readonly Locale[];
|
|
24
|
+
/** Get human-readable name for a locale */
|
|
25
|
+
localeName: (locale: Locale) => string;
|
|
26
|
+
/** Format a number */
|
|
27
|
+
formatNumber: (value: number, options?: Intl.NumberFormatOptions) => string;
|
|
28
|
+
/** Format a date */
|
|
29
|
+
formatDate: (date: Date, options?: Intl.DateTimeFormatOptions) => string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* React hook for translations.
|
|
33
|
+
*
|
|
34
|
+
* @param defaultNamespace - Optional default namespace prefix
|
|
35
|
+
* @returns Translation utilities
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* // Without namespace
|
|
39
|
+
* const { t } = useTranslation();
|
|
40
|
+
* t('engine:editor.tools.select');
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* // With default namespace
|
|
44
|
+
* const { t } = useTranslation('engine');
|
|
45
|
+
* t('editor.tools.select'); // auto-prefixed to 'engine:editor.tools.select'
|
|
46
|
+
*/
|
|
47
|
+
export declare function useTranslation(defaultNamespace?: string): UseTranslationResult;
|
|
48
|
+
/**
|
|
49
|
+
* Declarative translated text component.
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* <TranslatedText tKey="game:hud.score" values={{ score: 100 }} />
|
|
53
|
+
* <TranslatedText tKey="editor:tools.select" as="h2" />
|
|
54
|
+
*/
|
|
55
|
+
export declare function TranslatedText({ tKey, values, ns, as: Tag, className, style, }: {
|
|
56
|
+
tKey: string;
|
|
57
|
+
values?: InterpolationValues;
|
|
58
|
+
ns?: string;
|
|
59
|
+
as?: keyof JSX.IntrinsicElements;
|
|
60
|
+
className?: string;
|
|
61
|
+
style?: React.CSSProperties;
|
|
62
|
+
}): React.ReactElement;
|
|
63
|
+
/**
|
|
64
|
+
* Dropdown for switching locale.
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* <LocaleSelect />
|
|
68
|
+
* <LocaleSelect showNativeName />
|
|
69
|
+
*/
|
|
70
|
+
export declare function LocaleSelect({ showNativeName, className, style, }?: {
|
|
71
|
+
showNativeName?: boolean;
|
|
72
|
+
className?: string;
|
|
73
|
+
style?: React.CSSProperties;
|
|
74
|
+
}): React.ReactElement;
|