@nice2dev/game-engine 1.1.6 → 1.1.9
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 +125 -0
- package/dist/cjs/core/GameConfig.js +21 -7
- package/dist/cjs/devtools/DeveloperExperience.js +5 -5
- package/dist/cjs/dialogue/DialogueSystem.js +1 -1
- package/dist/cjs/editor/AssetBrowser.js +26 -25
- package/dist/cjs/editor/NiceGameEditor.js +66 -49
- package/dist/cjs/godot-integration/components/GodotProjectBrowser.js +33 -32
- package/dist/cjs/i18n/I18n.js +305 -0
- package/dist/cjs/kids/KidMode.js +36 -36
- package/dist/cjs/kids/KidTools.js +31 -31
- package/dist/cjs/native-engine/InputSystem.js +9 -2
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/plugins/PluginSDK.js +1 -1
- package/dist/cjs/plugins/PluginTestKit.js +1 -1
- package/dist/cjs/quest/QuestSystem.js +5 -1
- package/dist/cjs/release/MobileExport.js +45 -12
- package/dist/cjs/tutorials/TutorialBranching.js +12 -12
- package/dist/cjs/tutorials/TutorialEngine.js +35 -35
- package/dist/cjs/tutorials/content/Tutorials_T05_T08.js +106 -89
- package/dist/cjs/tutorials/content/Tutorials_T09_T11.js +103 -55
- package/dist/cjs/tutorials/content/Tutorials_T12_T15.js +79 -56
- package/dist/cjs/unity-integration/components/UnityAssetStoreBrowser.js +25 -24
- package/dist/cjs/unity-integration/components/UnityProjectBrowser.js +28 -27
- package/dist/cjs/unreal-integration/components/UnrealProjectBrowser.js +31 -30
- package/dist/esm/core/GameConfig.js +21 -7
- package/dist/esm/devtools/DeveloperExperience.js +5 -5
- package/dist/esm/dialogue/DialogueSystem.js +1 -1
- package/dist/esm/editor/AssetBrowser.js +26 -25
- package/dist/esm/editor/NiceGameEditor.js +67 -50
- package/dist/esm/godot-integration/components/GodotProjectBrowser.js +33 -32
- package/dist/esm/i18n/I18n.js +305 -0
- package/dist/esm/kids/KidMode.js +36 -36
- package/dist/esm/kids/KidTools.js +31 -31
- package/dist/esm/native-engine/InputSystem.js +9 -2
- package/dist/esm/plugins/PluginSDK.js +1 -1
- package/dist/esm/plugins/PluginTestKit.js +1 -1
- package/dist/esm/quest/QuestSystem.js +5 -1
- package/dist/esm/release/MobileExport.js +45 -12
- package/dist/esm/tutorials/TutorialBranching.js +12 -12
- package/dist/esm/tutorials/TutorialEngine.js +35 -35
- package/dist/esm/tutorials/content/Tutorials_T05_T08.js +106 -89
- package/dist/esm/tutorials/content/Tutorials_T09_T11.js +103 -55
- package/dist/esm/tutorials/content/Tutorials_T12_T15.js +79 -56
- package/dist/esm/unity-integration/components/UnityAssetStoreBrowser.js +25 -24
- package/dist/esm/unity-integration/components/UnityProjectBrowser.js +28 -27
- package/dist/esm/unreal-integration/components/UnrealProjectBrowser.js +31 -30
- package/dist/types/core/index.d.ts +1 -1
- package/dist/types/editor/AssetBrowser.d.ts +1 -0
- package/dist/types/editor/behavior-tree/BTEditorNode.d.ts +2 -1
- package/dist/types/editor/behavior-tree/BTEditorToolbar.d.ts +1 -0
- package/dist/types/input/index.d.ts +1 -1
- package/dist/types/kids/KidMode.d.ts +4 -2
- package/dist/types/kids/KidTools.d.ts +1 -1
- package/dist/types/legendary/index.d.ts +7 -7
- package/dist/types/procedural/index.d.ts +1 -1
- package/dist/types/tutorials/TutorialBranching.d.ts +1 -1
- package/package.json +3 -2
- package/dist/cjs/accessibility/Accessibility.js.map +0 -1
- package/dist/cjs/ai/AI.js.map +0 -1
- package/dist/cjs/ai/BehaviorTree.js.map +0 -1
- package/dist/cjs/ai/StateMachine.js.map +0 -1
- package/dist/cjs/animation/Animation.js.map +0 -1
- package/dist/cjs/audio/AudioAdvanced.js.map +0 -1
- package/dist/cjs/audio/AudioBridge.js.map +0 -1
- package/dist/cjs/audio/AudioManager.js.map +0 -1
- package/dist/cjs/build-cloud/BuildOrchestration.js.map +0 -1
- package/dist/cjs/build-cloud/GodotBuildCloud.js.map +0 -1
- package/dist/cjs/build-cloud/UnityBuildCloud.js.map +0 -1
- package/dist/cjs/build-cloud/UnrealBuildCloud.js.map +0 -1
- package/dist/cjs/core/EventBus.js.map +0 -1
- package/dist/cjs/core/GameClock.js.map +0 -1
- package/dist/cjs/core/GameConfig.js.map +0 -1
- package/dist/cjs/core/GameLoop.js.map +0 -1
- package/dist/cjs/core/ServiceLocator.js.map +0 -1
- package/dist/cjs/core/Validation.js.map +0 -1
- package/dist/cjs/core/math.js.map +0 -1
- package/dist/cjs/devtools/DevTools.js.map +0 -1
- package/dist/cjs/devtools/DeveloperExperience.js.map +0 -1
- package/dist/cjs/devtools/GameplayAnalytics.js.map +0 -1
- package/dist/cjs/dialogue/DialogueSystem.js.map +0 -1
- package/dist/cjs/docs/DocGenerator.js.map +0 -1
- package/dist/cjs/ecs/World.js.map +0 -1
- package/dist/cjs/editor/AchievementEditor.js.map +0 -1
- package/dist/cjs/editor/AdvancedEditor.js.map +0 -1
- package/dist/cjs/editor/AnimationRetargeting.js.map +0 -1
- package/dist/cjs/editor/AssetBrowser.js.map +0 -1
- package/dist/cjs/editor/AssetManager.js.map +0 -1
- package/dist/cjs/editor/ConsolePro.js.map +0 -1
- package/dist/cjs/editor/CraftingEditor.js.map +0 -1
- package/dist/cjs/editor/DebugTools.js.map +0 -1
- package/dist/cjs/editor/DialogueSystem.js.map +0 -1
- package/dist/cjs/editor/LeaderboardSystem.js.map +0 -1
- package/dist/cjs/editor/NiceGameEditor.js.map +0 -1
- package/dist/cjs/editor/PrefabSystem.js.map +0 -1
- package/dist/cjs/editor/ProfilerPanel.js.map +0 -1
- package/dist/cjs/editor/QuestEditor.js.map +0 -1
- package/dist/cjs/editor/ReplaySystem.js.map +0 -1
- package/dist/cjs/editor/SceneEditor.js.map +0 -1
- package/dist/cjs/editor/ScreenshotMode.js.map +0 -1
- package/dist/cjs/editor/ShaderGraph.js.map +0 -1
- package/dist/cjs/editor/TimelineEditor.js.map +0 -1
- package/dist/cjs/editor/UndoRedoPro.js.map +0 -1
- package/dist/cjs/editor/VRARMode.js.map +0 -1
- package/dist/cjs/engine/NiceGameEngine.js.map +0 -1
- package/dist/cjs/engine/SaveSystem.js.map +0 -1
- package/dist/cjs/engine/SaveSystemV2.js +0 -530
- package/dist/cjs/engine/SaveSystemV2.js.map +0 -1
- package/dist/cjs/enterprise/Enterprise.js.map +0 -1
- package/dist/cjs/export/BevyExporter.js.map +0 -1
- package/dist/cjs/export/CocosExporter.js.map +0 -1
- package/dist/cjs/export/Construct3Exporter.js.map +0 -1
- package/dist/cjs/export/DefoldExporter.js.map +0 -1
- package/dist/cjs/export/GDevelopExporter.js.map +0 -1
- package/dist/cjs/export/GameMakerExporter.js.map +0 -1
- package/dist/cjs/export/GodotExporter.js.map +0 -1
- package/dist/cjs/export/MinecraftBedrockExporter.js.map +0 -1
- package/dist/cjs/export/MonoGameExporter.js.map +0 -1
- package/dist/cjs/export/Pico8Exporter.js.map +0 -1
- package/dist/cjs/export/PlatformExporter.js.map +0 -1
- package/dist/cjs/export/RPGMakerExporter.js.map +0 -1
- package/dist/cjs/export/RobloxExporter.js.map +0 -1
- package/dist/cjs/export/Solar2DExporter.js.map +0 -1
- package/dist/cjs/export/ThreeJSExporter.js.map +0 -1
- package/dist/cjs/export/Tic80Exporter.js.map +0 -1
- package/dist/cjs/export/UnityExporter.js.map +0 -1
- package/dist/cjs/export/UnrealExporter.js.map +0 -1
- package/dist/cjs/export/WebExporter.js.map +0 -1
- package/dist/cjs/export/index.js.map +0 -1
- package/dist/cjs/godot-integration/GodotAssetLibrary.js.map +0 -1
- package/dist/cjs/godot-integration/GodotImport.js.map +0 -1
- package/dist/cjs/godot-integration/GodotLiveLink.js.map +0 -1
- package/dist/cjs/godot-integration/components/GodotProjectBrowser.js.map +0 -1
- package/dist/cjs/i18n/I18n.js.map +0 -1
- package/dist/cjs/i18n/useTranslation.js.map +0 -1
- package/dist/cjs/import/AsepriteImporter.js.map +0 -1
- package/dist/cjs/import/DragonBonesImporter.js.map +0 -1
- package/dist/cjs/import/GameMakerImporter.js.map +0 -1
- package/dist/cjs/import/GodotSceneImporter.js.map +0 -1
- package/dist/cjs/import/LDtkImporter.js.map +0 -1
- package/dist/cjs/import/Live2DImporter.js.map +0 -1
- package/dist/cjs/import/NdgFormat.js.map +0 -1
- package/dist/cjs/import/OgmoImporter.js.map +0 -1
- package/dist/cjs/import/RPGMakerImporter.js.map +0 -1
- package/dist/cjs/import/SceneImporter.js.map +0 -1
- package/dist/cjs/import/SpineImporter.js.map +0 -1
- package/dist/cjs/import/SpriterImporter.js.map +0 -1
- package/dist/cjs/import/TiledMapImporter.js.map +0 -1
- package/dist/cjs/import/UnitySceneImporter.js.map +0 -1
- package/dist/cjs/import/index.js.map +0 -1
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/input/GamepadNavigation.js.map +0 -1
- package/dist/cjs/input/InputManager.js.map +0 -1
- package/dist/cjs/input/useGamepads.js.map +0 -1
- package/dist/cjs/integration/IconSprite.js.map +0 -1
- package/dist/cjs/inventory/InventorySystem.js.map +0 -1
- package/dist/cjs/kids/KidMode.js.map +0 -1
- package/dist/cjs/kids/KidTools.js.map +0 -1
- package/dist/cjs/monetization/Monetization.js.map +0 -1
- package/dist/cjs/multiplayer/LocalMultiplayer.js.map +0 -1
- package/dist/cjs/multiplayer/MiniGameTypes.js.map +0 -1
- package/dist/cjs/native-engine/AssetPipeline.js.map +0 -1
- package/dist/cjs/native-engine/AudioEngine.js.map +0 -1
- package/dist/cjs/native-engine/InputSystem.js.map +0 -1
- package/dist/cjs/native-engine/NetworkingSystem.js.map +0 -1
- package/dist/cjs/native-engine/PhysicsEngine.js.map +0 -1
- package/dist/cjs/native-engine/RenderingEngine.js.map +0 -1
- package/dist/cjs/native-engine/SceneGraph.js.map +0 -1
- package/dist/cjs/network/MultiplayerTransport.js.map +0 -1
- package/dist/cjs/network/Networking.js.map +0 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/AbortController.js.map +0 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/AccessTokenHttpClient.js.map +0 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/DefaultHttpClient.js.map +0 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/DefaultReconnectPolicy.js.map +0 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Errors.js.map +0 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/FetchHttpClient.js.map +0 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js.map +0 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HeaderNames.js.map +0 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HttpClient.js.map +0 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HttpConnection.js.map +0 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HubConnection.js.map +0 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js.map +0 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/IHubProtocol.js.map +0 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ILogger.js.map +0 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ITransport.js.map +0 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js.map +0 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Loggers.js.map +0 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/LongPollingTransport.js.map +0 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/MessageBuffer.js.map +0 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ServerSentEventsTransport.js.map +0 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Subject.js.map +0 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/TextMessageFormat.js.map +0 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Utils.js.map +0 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/WebSocketTransport.js.map +0 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/XhrHttpClient.js.map +0 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/index.js.map +0 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/pkg-version.js.map +0 -1
- package/dist/cjs/pathfinding/Pathfinding.js.map +0 -1
- package/dist/cjs/performance/AssetStreaming.js.map +0 -1
- package/dist/cjs/performance/BenchmarkSuite.js.map +0 -1
- package/dist/cjs/performance/DeltaCompression.js.map +0 -1
- package/dist/cjs/performance/DeterministicPhysics.js.map +0 -1
- package/dist/cjs/performance/ECSOptimization.js.map +0 -1
- package/dist/cjs/performance/GameSaveSystem.js.map +0 -1
- package/dist/cjs/performance/HotReload.js.map +0 -1
- package/dist/cjs/performance/InputRecording.js.map +0 -1
- package/dist/cjs/performance/InterestManagement.js.map +0 -1
- package/dist/cjs/performance/LocalizationRuntime.js.map +0 -1
- package/dist/cjs/performance/MemoryManagement.js.map +0 -1
- package/dist/cjs/performance/ModSupport.js.map +0 -1
- package/dist/cjs/performance/MultiThreadedPhysics.js.map +0 -1
- package/dist/cjs/performance/NetworkPrediction.js.map +0 -1
- package/dist/cjs/performance/ObjectPooling.js.map +0 -1
- package/dist/cjs/performance/Performance.js.map +0 -1
- package/dist/cjs/performance/PerformanceAdvanced.js.map +0 -1
- package/dist/cjs/performance/SaveSystem.js +0 -574
- package/dist/cjs/performance/SaveSystem.js.map +0 -1
- package/dist/cjs/performance/WebGPURenderer.js.map +0 -1
- package/dist/cjs/physics/PhysicsAdvanced.js.map +0 -1
- package/dist/cjs/physics/PhysicsEngine2D.js.map +0 -1
- package/dist/cjs/plugins/PluginSDK.js.map +0 -1
- package/dist/cjs/plugins/PluginTestKit.js.map +0 -1
- package/dist/cjs/procedural/Procedural.js.map +0 -1
- package/dist/cjs/procedural/WorldBuilding.js.map +0 -1
- package/dist/cjs/quest/QuestSystem.js.map +0 -1
- package/dist/cjs/release/MobileExport.js.map +0 -1
- package/dist/cjs/release/Release.js.map +0 -1
- package/dist/cjs/rendering/Camera2D.js.map +0 -1
- package/dist/cjs/rendering/Renderer2D.js.map +0 -1
- package/dist/cjs/rendering/WebGPURenderPipeline.js.map +0 -1
- package/dist/cjs/runtime3d/Runtime3D.js.map +0 -1
- package/dist/cjs/runtime3d/SceneEditor3D.js.map +0 -1
- package/dist/cjs/scene/SceneManager.js.map +0 -1
- package/dist/cjs/scripting/GraphToAST.js.map +0 -1
- package/dist/cjs/scripting/LanguageExporter.js.map +0 -1
- package/dist/cjs/scripting/NodeGraph.js.map +0 -1
- package/dist/cjs/scripting/ScriptAST.js.map +0 -1
- package/dist/cjs/scripting/VisualScripting2.js.map +0 -1
- package/dist/cjs/scripting/exporters/CSharpExporter.js.map +0 -1
- package/dist/cjs/scripting/exporters/GDScriptExporter.js.map +0 -1
- package/dist/cjs/scripting/exporters/LuaExporter.js.map +0 -1
- package/dist/cjs/scripting/exporters/PythonExporter.js.map +0 -1
- package/dist/cjs/scripting/exporters/RustExporter.js.map +0 -1
- package/dist/cjs/scripting/exporters/TypeScriptExporter.js.map +0 -1
- package/dist/cjs/social/Social.js.map +0 -1
- package/dist/cjs/systems/LightingSystem.js.map +0 -1
- package/dist/cjs/systems/ParticleSystem2.js.map +0 -1
- package/dist/cjs/systems/PhysicsDebugSystem.js.map +0 -1
- package/dist/cjs/systems/TerrainSystem.js.map +0 -1
- package/dist/cjs/templates/ActionTemplates.js.map +0 -1
- package/dist/cjs/templates/FightingTemplate.js.map +0 -1
- package/dist/cjs/templates/MetroidvaniaTemplate.js.map +0 -1
- package/dist/cjs/templates/PartyTemplates.js.map +0 -1
- package/dist/cjs/templates/PuzzleTemplates.js.map +0 -1
- package/dist/cjs/templates/RPGTemplates.js.map +0 -1
- package/dist/cjs/templates/SportsTemplates.js.map +0 -1
- package/dist/cjs/templates/StrategyTemplates.js.map +0 -1
- package/dist/cjs/templates/SurvivalTemplate.js.map +0 -1
- package/dist/cjs/templates/WaveDefense.js.map +0 -1
- package/dist/cjs/tilemap/Tilemap.js.map +0 -1
- package/dist/cjs/tutorials/TutorialBranching.js.map +0 -1
- package/dist/cjs/tutorials/TutorialEngine.js.map +0 -1
- package/dist/cjs/tutorials/TutorialOverlay.js.map +0 -1
- package/dist/cjs/tutorials/content/Tutorials_T05_T08.js.map +0 -1
- package/dist/cjs/tutorials/content/Tutorials_T09_T11.js.map +0 -1
- package/dist/cjs/tutorials/content/Tutorials_T12_T15.js.map +0 -1
- package/dist/cjs/ui/GameUI.js.map +0 -1
- package/dist/cjs/unity-integration/UnityAssetStore.js.map +0 -1
- package/dist/cjs/unity-integration/UnityImport.js.map +0 -1
- package/dist/cjs/unity-integration/UnityLiveLink.js.map +0 -1
- package/dist/cjs/unity-integration/components/UnityAssetStoreBrowser.js.map +0 -1
- package/dist/cjs/unity-integration/components/UnityProjectBrowser.js.map +0 -1
- package/dist/cjs/unreal-integration/UnrealImport.js.map +0 -1
- package/dist/cjs/unreal-integration/UnrealLiveLink.js.map +0 -1
- package/dist/cjs/unreal-integration/UnrealMarketplace.js.map +0 -1
- package/dist/cjs/unreal-integration/components/UnrealProjectBrowser.js.map +0 -1
- package/dist/cjs/xr/ARVR.js.map +0 -1
- package/dist/esm/accessibility/Accessibility.js.map +0 -1
- package/dist/esm/ai/AI.js.map +0 -1
- package/dist/esm/ai/BehaviorTree.js.map +0 -1
- package/dist/esm/ai/StateMachine.js.map +0 -1
- package/dist/esm/animation/Animation.js.map +0 -1
- package/dist/esm/audio/AudioAdvanced.js.map +0 -1
- package/dist/esm/audio/AudioBridge.js.map +0 -1
- package/dist/esm/audio/AudioManager.js.map +0 -1
- package/dist/esm/build-cloud/BuildOrchestration.js.map +0 -1
- package/dist/esm/build-cloud/GodotBuildCloud.js.map +0 -1
- package/dist/esm/build-cloud/UnityBuildCloud.js.map +0 -1
- package/dist/esm/build-cloud/UnrealBuildCloud.js.map +0 -1
- package/dist/esm/core/EventBus.js.map +0 -1
- package/dist/esm/core/GameClock.js.map +0 -1
- package/dist/esm/core/GameConfig.js.map +0 -1
- package/dist/esm/core/GameLoop.js.map +0 -1
- package/dist/esm/core/ServiceLocator.js.map +0 -1
- package/dist/esm/core/Validation.js.map +0 -1
- package/dist/esm/core/math.js.map +0 -1
- package/dist/esm/devtools/DevTools.js.map +0 -1
- package/dist/esm/devtools/DeveloperExperience.js.map +0 -1
- package/dist/esm/devtools/GameplayAnalytics.js.map +0 -1
- package/dist/esm/dialogue/DialogueSystem.js.map +0 -1
- package/dist/esm/docs/DocGenerator.js.map +0 -1
- package/dist/esm/ecs/World.js.map +0 -1
- package/dist/esm/editor/AchievementEditor.js.map +0 -1
- package/dist/esm/editor/AdvancedEditor.js.map +0 -1
- package/dist/esm/editor/AnimationRetargeting.js.map +0 -1
- package/dist/esm/editor/AssetBrowser.js.map +0 -1
- package/dist/esm/editor/AssetManager.js.map +0 -1
- package/dist/esm/editor/ConsolePro.js.map +0 -1
- package/dist/esm/editor/CraftingEditor.js.map +0 -1
- package/dist/esm/editor/DebugTools.js.map +0 -1
- package/dist/esm/editor/DialogueSystem.js.map +0 -1
- package/dist/esm/editor/LeaderboardSystem.js.map +0 -1
- package/dist/esm/editor/NiceGameEditor.js.map +0 -1
- package/dist/esm/editor/PrefabSystem.js.map +0 -1
- package/dist/esm/editor/ProfilerPanel.js.map +0 -1
- package/dist/esm/editor/QuestEditor.js.map +0 -1
- package/dist/esm/editor/ReplaySystem.js.map +0 -1
- package/dist/esm/editor/SceneEditor.js.map +0 -1
- package/dist/esm/editor/ScreenshotMode.js.map +0 -1
- package/dist/esm/editor/ShaderGraph.js.map +0 -1
- package/dist/esm/editor/TimelineEditor.js.map +0 -1
- package/dist/esm/editor/UndoRedoPro.js.map +0 -1
- package/dist/esm/editor/VRARMode.js.map +0 -1
- package/dist/esm/engine/NiceGameEngine.js.map +0 -1
- package/dist/esm/engine/SaveSystem.js.map +0 -1
- package/dist/esm/engine/SaveSystemV2.js +0 -523
- package/dist/esm/engine/SaveSystemV2.js.map +0 -1
- package/dist/esm/enterprise/Enterprise.js.map +0 -1
- package/dist/esm/export/BevyExporter.js.map +0 -1
- package/dist/esm/export/CocosExporter.js.map +0 -1
- package/dist/esm/export/Construct3Exporter.js.map +0 -1
- package/dist/esm/export/DefoldExporter.js.map +0 -1
- package/dist/esm/export/GDevelopExporter.js.map +0 -1
- package/dist/esm/export/GameMakerExporter.js.map +0 -1
- package/dist/esm/export/GodotExporter.js.map +0 -1
- package/dist/esm/export/MinecraftBedrockExporter.js.map +0 -1
- package/dist/esm/export/MonoGameExporter.js.map +0 -1
- package/dist/esm/export/Pico8Exporter.js.map +0 -1
- package/dist/esm/export/PlatformExporter.js.map +0 -1
- package/dist/esm/export/RPGMakerExporter.js.map +0 -1
- package/dist/esm/export/RobloxExporter.js.map +0 -1
- package/dist/esm/export/Solar2DExporter.js.map +0 -1
- package/dist/esm/export/ThreeJSExporter.js.map +0 -1
- package/dist/esm/export/Tic80Exporter.js.map +0 -1
- package/dist/esm/export/UnityExporter.js.map +0 -1
- package/dist/esm/export/UnrealExporter.js.map +0 -1
- package/dist/esm/export/WebExporter.js.map +0 -1
- package/dist/esm/export/index.js.map +0 -1
- package/dist/esm/godot-integration/GodotAssetLibrary.js.map +0 -1
- package/dist/esm/godot-integration/GodotImport.js.map +0 -1
- package/dist/esm/godot-integration/GodotLiveLink.js.map +0 -1
- package/dist/esm/godot-integration/components/GodotProjectBrowser.js.map +0 -1
- package/dist/esm/i18n/I18n.js.map +0 -1
- package/dist/esm/i18n/useTranslation.js.map +0 -1
- package/dist/esm/import/AsepriteImporter.js.map +0 -1
- package/dist/esm/import/DragonBonesImporter.js.map +0 -1
- package/dist/esm/import/GameMakerImporter.js.map +0 -1
- package/dist/esm/import/GodotSceneImporter.js.map +0 -1
- package/dist/esm/import/LDtkImporter.js.map +0 -1
- package/dist/esm/import/Live2DImporter.js.map +0 -1
- package/dist/esm/import/NdgFormat.js.map +0 -1
- package/dist/esm/import/OgmoImporter.js.map +0 -1
- package/dist/esm/import/RPGMakerImporter.js.map +0 -1
- package/dist/esm/import/SceneImporter.js.map +0 -1
- package/dist/esm/import/SpineImporter.js.map +0 -1
- package/dist/esm/import/SpriterImporter.js.map +0 -1
- package/dist/esm/import/TiledMapImporter.js.map +0 -1
- package/dist/esm/import/UnitySceneImporter.js.map +0 -1
- package/dist/esm/import/index.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/input/GamepadNavigation.js.map +0 -1
- package/dist/esm/input/InputManager.js.map +0 -1
- package/dist/esm/input/useGamepads.js.map +0 -1
- package/dist/esm/integration/IconSprite.js.map +0 -1
- package/dist/esm/inventory/InventorySystem.js.map +0 -1
- package/dist/esm/kids/KidMode.js.map +0 -1
- package/dist/esm/kids/KidTools.js.map +0 -1
- package/dist/esm/monetization/Monetization.js.map +0 -1
- package/dist/esm/multiplayer/LocalMultiplayer.js.map +0 -1
- package/dist/esm/multiplayer/MiniGameTypes.js.map +0 -1
- package/dist/esm/native-engine/AssetPipeline.js.map +0 -1
- package/dist/esm/native-engine/AudioEngine.js.map +0 -1
- package/dist/esm/native-engine/InputSystem.js.map +0 -1
- package/dist/esm/native-engine/NetworkingSystem.js.map +0 -1
- package/dist/esm/native-engine/PhysicsEngine.js.map +0 -1
- package/dist/esm/native-engine/RenderingEngine.js.map +0 -1
- package/dist/esm/native-engine/SceneGraph.js.map +0 -1
- package/dist/esm/network/MultiplayerTransport.js.map +0 -1
- package/dist/esm/network/Networking.js.map +0 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/AbortController.js.map +0 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/AccessTokenHttpClient.js.map +0 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/DefaultHttpClient.js.map +0 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/DefaultReconnectPolicy.js.map +0 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Errors.js.map +0 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/FetchHttpClient.js.map +0 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js.map +0 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HeaderNames.js.map +0 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HttpClient.js.map +0 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HttpConnection.js.map +0 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HubConnection.js.map +0 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js.map +0 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/IHubProtocol.js.map +0 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ILogger.js.map +0 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ITransport.js.map +0 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js.map +0 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Loggers.js.map +0 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/LongPollingTransport.js.map +0 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/MessageBuffer.js.map +0 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ServerSentEventsTransport.js.map +0 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Subject.js.map +0 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/TextMessageFormat.js.map +0 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Utils.js.map +0 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/WebSocketTransport.js.map +0 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/XhrHttpClient.js.map +0 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/index.js.map +0 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/pkg-version.js.map +0 -1
- package/dist/esm/pathfinding/Pathfinding.js.map +0 -1
- package/dist/esm/performance/AssetStreaming.js.map +0 -1
- package/dist/esm/performance/BenchmarkSuite.js.map +0 -1
- package/dist/esm/performance/DeltaCompression.js.map +0 -1
- package/dist/esm/performance/DeterministicPhysics.js.map +0 -1
- package/dist/esm/performance/ECSOptimization.js.map +0 -1
- package/dist/esm/performance/GameSaveSystem.js.map +0 -1
- package/dist/esm/performance/HotReload.js.map +0 -1
- package/dist/esm/performance/InputRecording.js.map +0 -1
- package/dist/esm/performance/InterestManagement.js.map +0 -1
- package/dist/esm/performance/LocalizationRuntime.js.map +0 -1
- package/dist/esm/performance/MemoryManagement.js.map +0 -1
- package/dist/esm/performance/ModSupport.js.map +0 -1
- package/dist/esm/performance/MultiThreadedPhysics.js.map +0 -1
- package/dist/esm/performance/NetworkPrediction.js.map +0 -1
- package/dist/esm/performance/ObjectPooling.js.map +0 -1
- package/dist/esm/performance/Performance.js.map +0 -1
- package/dist/esm/performance/PerformanceAdvanced.js.map +0 -1
- package/dist/esm/performance/SaveSystem.js +0 -567
- package/dist/esm/performance/SaveSystem.js.map +0 -1
- package/dist/esm/performance/WebGPURenderer.js.map +0 -1
- package/dist/esm/physics/PhysicsAdvanced.js.map +0 -1
- package/dist/esm/physics/PhysicsEngine2D.js.map +0 -1
- package/dist/esm/plugins/PluginSDK.js.map +0 -1
- package/dist/esm/plugins/PluginTestKit.js.map +0 -1
- package/dist/esm/procedural/Procedural.js.map +0 -1
- package/dist/esm/procedural/WorldBuilding.js.map +0 -1
- package/dist/esm/quest/QuestSystem.js.map +0 -1
- package/dist/esm/release/MobileExport.js.map +0 -1
- package/dist/esm/release/Release.js.map +0 -1
- package/dist/esm/rendering/Camera2D.js.map +0 -1
- package/dist/esm/rendering/Renderer2D.js.map +0 -1
- package/dist/esm/rendering/WebGPURenderPipeline.js.map +0 -1
- package/dist/esm/runtime3d/Runtime3D.js.map +0 -1
- package/dist/esm/runtime3d/SceneEditor3D.js.map +0 -1
- package/dist/esm/scene/SceneManager.js.map +0 -1
- package/dist/esm/scripting/GraphToAST.js.map +0 -1
- package/dist/esm/scripting/LanguageExporter.js.map +0 -1
- package/dist/esm/scripting/NodeGraph.js.map +0 -1
- package/dist/esm/scripting/ScriptAST.js.map +0 -1
- package/dist/esm/scripting/VisualScripting2.js.map +0 -1
- package/dist/esm/scripting/exporters/CSharpExporter.js.map +0 -1
- package/dist/esm/scripting/exporters/GDScriptExporter.js.map +0 -1
- package/dist/esm/scripting/exporters/LuaExporter.js.map +0 -1
- package/dist/esm/scripting/exporters/PythonExporter.js.map +0 -1
- package/dist/esm/scripting/exporters/RustExporter.js.map +0 -1
- package/dist/esm/scripting/exporters/TypeScriptExporter.js.map +0 -1
- package/dist/esm/social/Social.js.map +0 -1
- package/dist/esm/systems/LightingSystem.js.map +0 -1
- package/dist/esm/systems/ParticleSystem2.js.map +0 -1
- package/dist/esm/systems/PhysicsDebugSystem.js.map +0 -1
- package/dist/esm/systems/TerrainSystem.js.map +0 -1
- package/dist/esm/templates/ActionTemplates.js.map +0 -1
- package/dist/esm/templates/FightingTemplate.js.map +0 -1
- package/dist/esm/templates/MetroidvaniaTemplate.js.map +0 -1
- package/dist/esm/templates/PartyTemplates.js.map +0 -1
- package/dist/esm/templates/PuzzleTemplates.js.map +0 -1
- package/dist/esm/templates/RPGTemplates.js.map +0 -1
- package/dist/esm/templates/SportsTemplates.js.map +0 -1
- package/dist/esm/templates/StrategyTemplates.js.map +0 -1
- package/dist/esm/templates/SurvivalTemplate.js.map +0 -1
- package/dist/esm/templates/WaveDefense.js.map +0 -1
- package/dist/esm/tilemap/Tilemap.js.map +0 -1
- package/dist/esm/tutorials/TutorialBranching.js.map +0 -1
- package/dist/esm/tutorials/TutorialEngine.js.map +0 -1
- package/dist/esm/tutorials/TutorialOverlay.js.map +0 -1
- package/dist/esm/tutorials/content/Tutorials_T05_T08.js.map +0 -1
- package/dist/esm/tutorials/content/Tutorials_T09_T11.js.map +0 -1
- package/dist/esm/tutorials/content/Tutorials_T12_T15.js.map +0 -1
- package/dist/esm/ui/GameUI.js.map +0 -1
- package/dist/esm/unity-integration/UnityAssetStore.js.map +0 -1
- package/dist/esm/unity-integration/UnityImport.js.map +0 -1
- package/dist/esm/unity-integration/UnityLiveLink.js.map +0 -1
- package/dist/esm/unity-integration/components/UnityAssetStoreBrowser.js.map +0 -1
- package/dist/esm/unity-integration/components/UnityProjectBrowser.js.map +0 -1
- package/dist/esm/unreal-integration/UnrealImport.js.map +0 -1
- package/dist/esm/unreal-integration/UnrealLiveLink.js.map +0 -1
- package/dist/esm/unreal-integration/UnrealMarketplace.js.map +0 -1
- package/dist/esm/unreal-integration/components/UnrealProjectBrowser.js.map +0 -1
- package/dist/esm/xr/ARVR.js.map +0 -1
- package/dist/types/engine/SaveSystemV2.d.ts +0 -155
|
@@ -36,12 +36,12 @@ const TUTORIAL_RPG = {
|
|
|
36
36
|
id: 'rpg-intro',
|
|
37
37
|
type: 'text',
|
|
38
38
|
title: {
|
|
39
|
-
en: 'Build Your Own RPG!
|
|
40
|
-
pl: 'Zbuduj swoje RPG!
|
|
41
|
-
de: 'Baue dein eigenes RPG!
|
|
39
|
+
en: 'Build Your Own RPG!',
|
|
40
|
+
pl: 'Zbuduj swoje RPG!',
|
|
41
|
+
de: 'Baue dein eigenes RPG!',
|
|
42
42
|
},
|
|
43
43
|
content: {
|
|
44
|
-
en:
|
|
44
|
+
en: "In this tutorial you'll build a classic top-down RPG!\n\n• Character stats (HP, MP, ATK, DEF, SPD)\n• XP and leveling system\n• Inventory and items\n• NPCs with dialogue\n• Turn-based battle system\n• Tilemap world with warps\n\nReady for an adventure?",
|
|
45
45
|
pl: 'W tym tutorialu zbudujesz klasyczne RPG z widokiem z góry!\n\n• Statystyki postaci (HP, MP, ATK, DEF, SPD)\n• System XP i poziomów\n• Ekwipunek i przedmioty\n• NPC z dialogami\n• System walki turowej\n• Świat z tilemapy z przejściami\n\nGotowy na przygodę?',
|
|
46
46
|
de: 'In diesem Tutorial baust du ein klassisches Top-Down-RPG!\n\n• Charakterwerte (HP, MP, ATK, DEF, SPD)\n• XP- und Levelsystem\n• Inventar und Items\n• NPCs mit Dialogen\n• Rundenbasiertes Kampfsystem\n• Tilemap-Welt mit Warps\n\nBereit für ein Abenteuer?',
|
|
47
47
|
},
|
|
@@ -58,7 +58,7 @@ const TUTORIAL_RPG = {
|
|
|
58
58
|
de: 'Charakterwerte & Leveling',
|
|
59
59
|
},
|
|
60
60
|
content: {
|
|
61
|
-
en:
|
|
61
|
+
en: "Define your hero's stats. Use the RPG template config for stat growth curves and XP requirements.",
|
|
62
62
|
pl: 'Zdefiniuj statystyki bohatera. Użyj konfiguracji szablonu RPG dla krzywych wzrostu statystyk i wymogów XP.',
|
|
63
63
|
de: 'Definiere die Werte deines Helden. Verwende die RPG-Template-Konfiguration für Wachstumskurven und XP-Anforderungen.',
|
|
64
64
|
},
|
|
@@ -112,7 +112,7 @@ const TUTORIAL_RPG = {
|
|
|
112
112
|
pl: 'Stwórz NPC z drzewami dialogów. Gracz może wybierać odpowiedzi, które rozgałęziają rozmowę.',
|
|
113
113
|
de: 'Erstelle NPCs mit Dialogbäumen. Spieler können Antworten wählen, die das Gespräch verzweigen.',
|
|
114
114
|
},
|
|
115
|
-
codeTemplate:
|
|
115
|
+
codeTemplate: '// Dialogue system\ninterface DialogNode {\n id: string;\n text: string;\n',
|
|
116
116
|
codeSolution: "interface DialogNode {\n id: string;\n text: string;\n speaker: string;\n choices?: { text: string; next: string; condition?: string }[];\n next?: string; // auto-advance to next node\n}\n\nconst innkeeperDialog: DialogNode[] = [\n {\n id: 'greet',\n speaker: 'Innkeeper',\n text: 'Welcome, traveler! Would you like to rest?',\n choices: [\n { text: 'Yes, I need rest. (10 gold)', next: 'rest' },\n { text: 'No thanks.', next: 'bye' },\n { text: 'Any rumors?', next: 'rumors' },\n ],\n },\n {\n id: 'rest',\n speaker: 'Innkeeper',\n text: 'Sleep well! *HP and MP fully restored*',\n next: 'greet',\n },\n {\n id: 'rumors',\n speaker: 'Innkeeper',\n text: 'I heard monsters in the eastern cave grew stronger...',\n next: 'greet',\n },\n {\n id: 'bye',\n speaker: 'Innkeeper',\n text: 'Safe travels!',\n },\n];",
|
|
117
117
|
codeValidation: {
|
|
118
118
|
containsAll: ['DialogNode', 'speaker', 'choices', 'next'],
|
|
@@ -163,7 +163,7 @@ const TUTORIAL_RPG = {
|
|
|
163
163
|
de: 'Erstelle mehrere Räume verbunden durch Warps. Verwende Tilemaps für jeden Bereich (Stadt, Wald, Höhle, Burg).',
|
|
164
164
|
},
|
|
165
165
|
requiredAction: 'create-world-map',
|
|
166
|
-
codeTemplate:
|
|
166
|
+
codeTemplate: '// Define world areas\nconst areas = [\n',
|
|
167
167
|
codeSolution: "const areas = [\n { id: 'town', name: 'Starter Town', tilemap: 'town-map', npcs: ['innkeeper', 'shopkeeper'] },\n { id: 'forest', name: 'Dark Forest', tilemap: 'forest-map', enemies: ['wolf', 'slime'] },\n { id: 'cave', name: 'Crystal Cave', tilemap: 'cave-map', enemies: ['bat', 'golem'] },\n { id: 'castle', name: 'Demon Castle', tilemap: 'castle-map', enemies: ['skeleton', 'demon-lord'] },\n];\n\nconst warps = [\n { from: 'town', to: 'forest', x: 19, y: 7 },\n { from: 'forest', to: 'cave', x: 15, y: 2 },\n { from: 'forest', to: 'town', x: 0, y: 7 },\n { from: 'cave', to: 'castle', x: 10, y: 0 },\n];",
|
|
168
168
|
codeValidation: {
|
|
169
169
|
containsAll: ['areas', 'warps', 'tilemap'],
|
|
@@ -174,9 +174,9 @@ const TUTORIAL_RPG = {
|
|
|
174
174
|
id: 'rpg-quiz',
|
|
175
175
|
type: 'quiz',
|
|
176
176
|
title: {
|
|
177
|
-
en: 'RPG Quiz
|
|
178
|
-
pl: 'Quiz RPG
|
|
179
|
-
de: 'RPG-Quiz
|
|
177
|
+
en: 'RPG Quiz',
|
|
178
|
+
pl: 'Quiz RPG',
|
|
179
|
+
de: 'RPG-Quiz',
|
|
180
180
|
},
|
|
181
181
|
content: {
|
|
182
182
|
en: 'In a turn-based RPG, what stat typically determines the order of actions?',
|
|
@@ -196,12 +196,12 @@ const TUTORIAL_RPG = {
|
|
|
196
196
|
id: 'rpg-complete',
|
|
197
197
|
type: 'checkpoint',
|
|
198
198
|
title: {
|
|
199
|
-
en: 'RPG Complete!
|
|
200
|
-
pl: 'RPG gotowe!
|
|
201
|
-
de: 'RPG fertig!
|
|
199
|
+
en: 'RPG Complete!',
|
|
200
|
+
pl: 'RPG gotowe!',
|
|
201
|
+
de: 'RPG fertig!',
|
|
202
202
|
},
|
|
203
203
|
content: {
|
|
204
|
-
en:
|
|
204
|
+
en: "Amazing! You've built a full RPG with:\n• Character stats & leveling\n• Inventory with rarity system\n• NPCs with branching dialogue\n• Turn-based combat\n• Multi-area world map with warps\n\nChallenge: Add a party system with 4 heroes!",
|
|
205
205
|
pl: 'Niesamowite! Zbudowałeś pełne RPG z:\n• Statystyki i poziomy postaci\n• Ekwipunek z systemem rzadkości\n• NPC z rozgałęzionymi dialogami\n• Walki turowe\n• Mapa świata z wieloma obszarami\n\nWyzwanie: Dodaj system drużyny z 4 bohaterami!',
|
|
206
206
|
de: 'Fantastisch! Du hast ein vollständiges RPG gebaut mit:\n• Charakterwerte & Leveling\n• Inventar mit Seltenheitssystem\n• NPCs mit verzweigten Dialogen\n• Rundenbasierter Kampf\n• Weltkarte mit mehreren Bereichen\n\nHerausforderung: Füge ein Gruppensystem mit 4 Helden hinzu!',
|
|
207
207
|
},
|
|
@@ -236,12 +236,12 @@ const TUTORIAL_TOWER_DEFENSE = {
|
|
|
236
236
|
id: 'td-intro',
|
|
237
237
|
type: 'text',
|
|
238
238
|
title: {
|
|
239
|
-
en: 'Build Tower Defense!
|
|
240
|
-
pl: 'Zbuduj Tower Defense!
|
|
241
|
-
de: 'Baue Tower Defense!
|
|
239
|
+
en: 'Build Tower Defense!',
|
|
240
|
+
pl: 'Zbuduj Tower Defense!',
|
|
241
|
+
de: 'Baue Tower Defense!',
|
|
242
242
|
},
|
|
243
243
|
content: {
|
|
244
|
-
en:
|
|
244
|
+
en: "In this tutorial you'll build a tower defense game!\n\n• Map with path for enemies\n• Tower types (arrow, cannon, ice, laser)\n• Enemy waves with scaling difficulty\n• Tower targeting modes\n• Upgrade system\n• Gold & economy\n\nDefend your base!",
|
|
245
245
|
pl: 'W tym tutorialu zbudujesz grę tower defense!\n\n• Mapa ze ścieżką dla wrogów\n• Typy wież (strzały, armata, lód, laser)\n• Fale wrogów ze skalującą się trudnością\n• Tryby celowania wież\n• System ulepszeń\n• Złoto i ekonomia\n\nBroń swojej bazy!',
|
|
246
246
|
de: 'In diesem Tutorial baust du ein Tower-Defense-Spiel!\n\n• Karte mit Feindpfad\n• Turmtypen (Pfeil, Kanone, Eis, Laser)\n• Feindwellen mit steigender Schwierigkeit\n• Turm-Zielmodi\n• Upgrade-System\n• Gold & Wirtschaft\n\nVerteidige deine Basis!',
|
|
247
247
|
},
|
|
@@ -288,7 +288,7 @@ const TUTORIAL_TOWER_DEFENSE = {
|
|
|
288
288
|
de: 'Feinde folgen einem vordefinierten Pfad vom Start zum Ende. Definiere Wegpunkte, zwischen denen Feinde laufen.',
|
|
289
289
|
},
|
|
290
290
|
codeTemplate: '// Enemy path waypoints\nconst path = [\n',
|
|
291
|
-
codeSolution:
|
|
291
|
+
codeSolution: 'const path = [\n { x: 0, y: 200 }, // start (left edge)\n { x: 200, y: 200 }, // turn down\n { x: 200, y: 400 },\n { x: 400, y: 400 }, // turn up\n { x: 400, y: 100 },\n { x: 600, y: 100 }, // final stretch\n { x: 600, y: 300 },\n { x: 800, y: 300 }, // end (base)\n];\n\nfunction moveAlongPath(enemy: any, dt: number) {\n const target = path[enemy.waypointIndex];\n const dx = target.x - enemy.x;\n const dy = target.y - enemy.y;\n const dist = Math.sqrt(dx * dx + dy * dy);\n\n if (dist < 5) {\n enemy.waypointIndex++;\n if (enemy.waypointIndex >= path.length) {\n // Enemy reached the base!\n enemy.reachedEnd = true;\n }\n } else {\n enemy.x += (dx / dist) * enemy.speed * dt;\n enemy.y += (dy / dist) * enemy.speed * dt;\n }\n}',
|
|
292
292
|
codeValidation: {
|
|
293
293
|
containsAll: ['path', 'waypointIndex', 'moveAlongPath'],
|
|
294
294
|
},
|
|
@@ -363,7 +363,7 @@ const TUTORIAL_TOWER_DEFENSE = {
|
|
|
363
363
|
de: 'Türme können aufgewertet werden für mehr Schaden und Reichweite. Verdiene Gold durch Feind-Kills. Verkaufe Türme für Rückerstattung.',
|
|
364
364
|
},
|
|
365
365
|
codeTemplate: '// Upgrade system\nlet gold = 200;\n',
|
|
366
|
-
codeSolution:
|
|
366
|
+
codeSolution: 'let gold = 200;\n\nfunction upgradeTower(tower: any): boolean {\n const upgradeCost = Math.floor(tower.cost * 0.75 * tower.level);\n if (gold < upgradeCost) return false;\n\n gold -= upgradeCost;\n tower.level++;\n tower.damage = Math.floor(tower.damage * 1.3);\n tower.range += 10;\n tower.fireRate *= 1.1;\n return true;\n}\n\nfunction sellTower(tower: any): number {\n const refund = Math.floor(tower.cost * 0.6);\n gold += refund;\n return refund;\n}\n\nfunction onEnemyKilled(enemy: any) {\n gold += enemy.goldReward;\n}',
|
|
367
367
|
codeValidation: {
|
|
368
368
|
containsAll: ['upgradeTower', 'sellTower', 'gold'],
|
|
369
369
|
},
|
|
@@ -378,12 +378,12 @@ const TUTORIAL_TOWER_DEFENSE = {
|
|
|
378
378
|
id: 'td-complete',
|
|
379
379
|
type: 'checkpoint',
|
|
380
380
|
title: {
|
|
381
|
-
en: 'Tower Defense Complete!
|
|
382
|
-
pl: 'Tower Defense gotowy!
|
|
383
|
-
de: 'Tower Defense fertig!
|
|
381
|
+
en: 'Tower Defense Complete!',
|
|
382
|
+
pl: 'Tower Defense gotowy!',
|
|
383
|
+
de: 'Tower Defense fertig!',
|
|
384
384
|
},
|
|
385
385
|
content: {
|
|
386
|
-
en:
|
|
386
|
+
en: "You've built a full tower defense game!\n• 4 tower types with different targeting\n• Enemy pathfinding along waypoints\n• Escalating wave system\n• Upgrade & sell mechanics\n• Gold economy\n\nChallenge: Add flying enemies that ignore the path!",
|
|
387
387
|
pl: 'Zbudowałeś kompletną grę tower defense!\n• 4 typy wież z różnym celowaniem\n• Pathfinding wrogów po waypointach\n• Eskalujący system fal\n• Mechaniki ulepszania i sprzedaży\n• Ekonomia złota\n\nWyzwanie: Dodaj latających wrogów ignorujących ścieżkę!',
|
|
388
388
|
de: 'Du hast ein komplettes Tower-Defense-Spiel gebaut!\n• 4 Turmtypen mit verschiedenem Zielen\n• Feind-Pathfinding entlang Wegpunkten\n• Eskalierendes Wellensystem\n• Upgrade- & Verkaufsmechaniken\n• Gold-Wirtschaft\n\nHerausforderung: Füge fliegende Feinde hinzu, die den Pfad ignorieren!',
|
|
389
389
|
},
|
|
@@ -418,12 +418,12 @@ const TUTORIAL_3D_GAME = {
|
|
|
418
418
|
id: '3d-intro',
|
|
419
419
|
type: 'text',
|
|
420
420
|
title: {
|
|
421
|
-
en: 'Welcome to 3D!
|
|
422
|
-
pl: 'Witaj w 3D!
|
|
423
|
-
de: 'Willkommen in 3D!
|
|
421
|
+
en: 'Welcome to 3D!',
|
|
422
|
+
pl: 'Witaj w 3D!',
|
|
423
|
+
de: 'Willkommen in 3D!',
|
|
424
424
|
},
|
|
425
425
|
content: {
|
|
426
|
-
en:
|
|
426
|
+
en: "In this tutorial you'll enter the third dimension!\n\n• Set up a 3D world (World3D)\n• Add meshes (cube, sphere, plane)\n• Lighting (directional, point, spot)\n• Camera controllers (FPS, orbit)\n• 3D physics (rigid bodies, colliders)\n• Character controller (walking, jumping)\n\nLet's go 3D!",
|
|
427
427
|
pl: 'W tym tutorialu wejdziesz w trzeci wymiar!\n\n• Skonfiguruj świat 3D (World3D)\n• Dodaj meshe (sześcian, sfera, płaszczyzna)\n• Oświetlenie (kierunkowe, punktowe, spot)\n• Kontrolery kamery (FPS, orbita)\n• Fizyka 3D (rigid body, kolidery)\n• Kontroler postaci (chodzenie, skakanie)\n\nWejdźmy w 3D!',
|
|
428
428
|
de: 'In diesem Tutorial betrittst du die dritte Dimension!\n\n• 3D-Welt einrichten (World3D)\n• Meshes hinzufügen (Würfel, Kugel, Ebene)\n• Beleuchtung (Richtung, Punkt, Spot)\n• Kamera-Controller (FPS, Orbit)\n• 3D-Physik (Starrkörper, Kollider)\n• Character-Controller (Laufen, Springen)\n\nAb in die 3. Dimension!',
|
|
429
429
|
},
|
|
@@ -585,12 +585,12 @@ const TUTORIAL_3D_GAME = {
|
|
|
585
585
|
id: '3d-complete',
|
|
586
586
|
type: 'checkpoint',
|
|
587
587
|
title: {
|
|
588
|
-
en: '3D Game Complete!
|
|
589
|
-
pl: 'Gra 3D gotowa!
|
|
590
|
-
de: '3D-Spiel fertig!
|
|
588
|
+
en: '3D Game Complete!',
|
|
589
|
+
pl: 'Gra 3D gotowa!',
|
|
590
|
+
de: '3D-Spiel fertig!',
|
|
591
591
|
},
|
|
592
592
|
content: {
|
|
593
|
-
en:
|
|
593
|
+
en: "You've built your first 3D game!\n• World3D scene with multiple objects\n• Primitive meshes (cube, sphere, plane)\n• Directional and point lighting\n• Orbit camera controller\n• 3D physics with rigid bodies\n• Character controller with jumping\n\nChallenge: Add a skybox and third-person camera!",
|
|
594
594
|
pl: 'Zbudowałeś swoją pierwszą grę 3D!\n• Scena World3D z wieloma obiektami\n• Prymitywne meshe (sześcian, sfera, płaszczyzna)\n• Oświetlenie kierunkowe i punktowe\n• Kontroler kamery orbitalnej\n• Fizyka 3D z ciałami sztywnymi\n• Kontroler postaci ze skakaniem\n\nWyzwanie: Dodaj skybox i kamerę trzeciej osoby!',
|
|
595
595
|
de: 'Du hast dein erstes 3D-Spiel gebaut!\n• World3D-Szene mit mehreren Objekten\n• Primitive Meshes (Würfel, Kugel, Ebene)\n• Richtungs- und Punktbeleuchtung\n• Orbit-Kamera-Controller\n• 3D-Physik mit Starrkörpern\n• Character-Controller mit Springen\n\nHerausforderung: Füge eine Skybox und Third-Person-Kamera hinzu!',
|
|
596
596
|
},
|
|
@@ -625,14 +625,14 @@ const TUTORIAL_PUBLISHING = {
|
|
|
625
625
|
id: 'pub-intro',
|
|
626
626
|
type: 'text',
|
|
627
627
|
title: {
|
|
628
|
-
en: 'Publish Your Game!
|
|
629
|
-
pl: 'Opublikuj swoją grę!
|
|
630
|
-
de: 'Veröffentliche dein Spiel!
|
|
628
|
+
en: 'Publish Your Game!',
|
|
629
|
+
pl: 'Opublikuj swoją grę!',
|
|
630
|
+
de: 'Veröffentliche dein Spiel!',
|
|
631
631
|
},
|
|
632
632
|
content: {
|
|
633
|
-
en:
|
|
633
|
+
en: "Your game is ready — now let's share it with the world!\n\n• Feature detection (check browser support)\n• Build optimization (minify, tree-shake)\n• PWA export (installable web app)\n• Electron export (Windows/Mac/Linux)\n• Capacitor export (iOS/Android)\n• Performance benchmarking\n\nLet's deploy!",
|
|
634
634
|
pl: 'Twoja gra jest gotowa — czas podzielić się nią ze światem!\n\n• Wykrywanie funkcji (sprawdź wsparcie przeglądarki)\n• Optymalizacja buildu (minifikacja, tree-shaking)\n• Eksport PWA (instalowalna web app)\n• Eksport Electron (Windows/Mac/Linux)\n• Eksport Capacitor (iOS/Android)\n• Benchmarkowanie wydajności\n\nWdrażamy!',
|
|
635
|
-
de:
|
|
635
|
+
de: "Dein Spiel ist bereit — teile es mit der Welt!\n\n• Feature-Erkennung (Browser-Support)\n• Build-Optimierung (Minifizierung, Tree-Shaking)\n• PWA-Export (installierbare Web-App)\n• Electron-Export (Windows/Mac/Linux)\n• Capacitor-Export (iOS/Android)\n• Performance-Benchmarking\n\nLos geht's!",
|
|
636
636
|
},
|
|
637
637
|
skippable: true,
|
|
638
638
|
tooltipPosition: 'center',
|
|
@@ -732,9 +732,9 @@ const TUTORIAL_PUBLISHING = {
|
|
|
732
732
|
id: 'pub-quiz',
|
|
733
733
|
type: 'quiz',
|
|
734
734
|
title: {
|
|
735
|
-
en: 'Publishing Quiz
|
|
736
|
-
pl: 'Quiz o publikacji
|
|
737
|
-
de: 'Veröffentlichungs-Quiz
|
|
735
|
+
en: 'Publishing Quiz',
|
|
736
|
+
pl: 'Quiz o publikacji',
|
|
737
|
+
de: 'Veröffentlichungs-Quiz',
|
|
738
738
|
},
|
|
739
739
|
content: {
|
|
740
740
|
en: 'What is a PWA (Progressive Web App)?',
|
|
@@ -742,10 +742,38 @@ const TUTORIAL_PUBLISHING = {
|
|
|
742
742
|
de: 'Was ist eine PWA (Progressive Web App)?',
|
|
743
743
|
},
|
|
744
744
|
quizOptions: [
|
|
745
|
-
{
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
745
|
+
{
|
|
746
|
+
id: 'a',
|
|
747
|
+
text: {
|
|
748
|
+
en: 'A native mobile app',
|
|
749
|
+
pl: 'Natywna aplikacja mobilna',
|
|
750
|
+
de: 'Eine native mobile App',
|
|
751
|
+
},
|
|
752
|
+
},
|
|
753
|
+
{
|
|
754
|
+
id: 'b',
|
|
755
|
+
text: {
|
|
756
|
+
en: 'A web app that can be installed and works offline',
|
|
757
|
+
pl: 'Web app instalowalna i działająca offline',
|
|
758
|
+
de: 'Eine Web-App die installierbar ist und offline funktioniert',
|
|
759
|
+
},
|
|
760
|
+
},
|
|
761
|
+
{
|
|
762
|
+
id: 'c',
|
|
763
|
+
text: {
|
|
764
|
+
en: 'A special browser plugin',
|
|
765
|
+
pl: 'Specjalna wtyczka przeglądarki',
|
|
766
|
+
de: 'Ein spezielles Browser-Plugin',
|
|
767
|
+
},
|
|
768
|
+
},
|
|
769
|
+
{
|
|
770
|
+
id: 'd',
|
|
771
|
+
text: {
|
|
772
|
+
en: 'A server-side application',
|
|
773
|
+
pl: 'Aplikacja serwerowa',
|
|
774
|
+
de: 'Eine serverseitige Anwendung',
|
|
775
|
+
},
|
|
776
|
+
},
|
|
749
777
|
],
|
|
750
778
|
quizCorrectId: 'b',
|
|
751
779
|
},
|
|
@@ -754,14 +782,14 @@ const TUTORIAL_PUBLISHING = {
|
|
|
754
782
|
id: 'pub-complete',
|
|
755
783
|
type: 'checkpoint',
|
|
756
784
|
title: {
|
|
757
|
-
en: 'Publication Complete!
|
|
758
|
-
pl: 'Publikacja gotowa!
|
|
759
|
-
de: 'Veröffentlichung fertig!
|
|
785
|
+
en: 'Publication Complete!',
|
|
786
|
+
pl: 'Publikacja gotowa!',
|
|
787
|
+
de: 'Veröffentlichung fertig!',
|
|
760
788
|
},
|
|
761
789
|
content: {
|
|
762
|
-
en: 'Congratulations! You now know how to:\n• Check browser feature support\n• Configure optimized builds\n• Export as PWA, Electron, or Capacitor\n• Run performance benchmarks\n• Deploy to web, desktop, and mobile\n\nYour game is ready for the world!
|
|
763
|
-
pl: 'Gratulacje! Teraz wiesz jak:\n• Sprawdzić wsparcie funkcji przeglądarki\n• Konfigurować zoptymalizowane buildy\n• Eksportować jako PWA, Electron lub Capacitor\n• Uruchamiać benchmarki wydajności\n• Wdrażać na web, desktop i mobile\n\nTwoja gra jest gotowa na świat!
|
|
764
|
-
de: 'Herzlichen Glückwunsch! Du weißt jetzt wie man:\n• Browser-Feature-Support prüft\n• Optimierte Builds konfiguriert\n• Als PWA, Electron oder Capacitor exportiert\n• Performance-Benchmarks durchführt\n• Auf Web, Desktop und Mobile deployt\n\nDein Spiel ist bereit für die Welt!
|
|
790
|
+
en: 'Congratulations! You now know how to:\n• Check browser feature support\n• Configure optimized builds\n• Export as PWA, Electron, or Capacitor\n• Run performance benchmarks\n• Deploy to web, desktop, and mobile\n\nYour game is ready for the world!',
|
|
791
|
+
pl: 'Gratulacje! Teraz wiesz jak:\n• Sprawdzić wsparcie funkcji przeglądarki\n• Konfigurować zoptymalizowane buildy\n• Eksportować jako PWA, Electron lub Capacitor\n• Uruchamiać benchmarki wydajności\n• Wdrażać na web, desktop i mobile\n\nTwoja gra jest gotowa na świat!',
|
|
792
|
+
de: 'Herzlichen Glückwunsch! Du weißt jetzt wie man:\n• Browser-Feature-Support prüft\n• Optimierte Builds konfiguriert\n• Als PWA, Electron oder Capacitor exportiert\n• Performance-Benchmarks durchführt\n• Auf Web, Desktop und Mobile deployt\n\nDein Spiel ist bereit für die Welt!',
|
|
765
793
|
},
|
|
766
794
|
},
|
|
767
795
|
],
|
|
@@ -770,12 +798,7 @@ const TUTORIAL_PUBLISHING = {
|
|
|
770
798
|
Convenience export
|
|
771
799
|
══════════════════════════════════════════════════════════════ */
|
|
772
800
|
function getTutorials_T12_T15() {
|
|
773
|
-
return [
|
|
774
|
-
TUTORIAL_RPG,
|
|
775
|
-
TUTORIAL_TOWER_DEFENSE,
|
|
776
|
-
TUTORIAL_3D_GAME,
|
|
777
|
-
TUTORIAL_PUBLISHING,
|
|
778
|
-
];
|
|
801
|
+
return [TUTORIAL_RPG, TUTORIAL_TOWER_DEFENSE, TUTORIAL_3D_GAME, TUTORIAL_PUBLISHING];
|
|
779
802
|
}
|
|
780
803
|
|
|
781
804
|
exports.TUTORIAL_3D_GAME = TUTORIAL_3D_GAME;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var ui = require('@nice2dev/ui');
|
|
4
5
|
var React = require('react');
|
|
5
6
|
|
|
6
7
|
const DEFAULT_THEME = {
|
|
@@ -106,21 +107,21 @@ function formatFileSize(bytes) {
|
|
|
106
107
|
function getCategoryIcon(category) {
|
|
107
108
|
switch (category) {
|
|
108
109
|
case '3d':
|
|
109
|
-
return '
|
|
110
|
+
return 'box';
|
|
110
111
|
case '2d':
|
|
111
|
-
return '
|
|
112
|
+
return 'image';
|
|
112
113
|
case 'tools':
|
|
113
|
-
return '
|
|
114
|
+
return 'settings';
|
|
114
115
|
case 'vfx':
|
|
115
|
-
return '
|
|
116
|
+
return 'star';
|
|
116
117
|
case 'audio':
|
|
117
|
-
return '
|
|
118
|
+
return 'volume';
|
|
118
119
|
case 'templates':
|
|
119
|
-
return '
|
|
120
|
+
return 'clipboard';
|
|
120
121
|
case 'add-ons':
|
|
121
|
-
return '
|
|
122
|
+
return 'puzzle';
|
|
122
123
|
default:
|
|
123
|
-
return '
|
|
124
|
+
return 'box';
|
|
124
125
|
}
|
|
125
126
|
}
|
|
126
127
|
/* ── Search Header ────────────────────────────────────────────── */
|
|
@@ -145,7 +146,7 @@ const SearchHeader = () => {
|
|
|
145
146
|
padding: '16px 24px',
|
|
146
147
|
backgroundColor: theme.headerBackground,
|
|
147
148
|
borderBottom: `1px solid ${theme.border}`,
|
|
148
|
-
}, children: [jsxRuntime.jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: 12, marginBottom: 12 }, children: [jsxRuntime.jsx(
|
|
149
|
+
}, children: [jsxRuntime.jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: 12, marginBottom: 12 }, children: [jsxRuntime.jsx(ui.NiceIcon, { name: "building", size: 24 }), jsxRuntime.jsx("h1", { style: { margin: 0, fontSize: 18, fontWeight: 600, color: theme.textPrimary }, children: "Unity Asset Store" }), jsxRuntime.jsx("div", { style: { flex: 1 } }), jsxRuntime.jsxs("button", { style: {
|
|
149
150
|
display: 'flex',
|
|
150
151
|
alignItems: 'center',
|
|
151
152
|
gap: 6,
|
|
@@ -155,14 +156,14 @@ const SearchHeader = () => {
|
|
|
155
156
|
borderRadius: 6,
|
|
156
157
|
color: '#fff',
|
|
157
158
|
cursor: 'pointer',
|
|
158
|
-
}, children: ["
|
|
159
|
+
}, children: [jsxRuntime.jsx(ui.NiceIcon, { name: "box", size: 14 }), " Cart (", state.cart.size, ")"] }), jsxRuntime.jsxs("button", { onClick: () => dispatch({ type: 'TOGGLE_MY_ASSETS' }), style: {
|
|
159
160
|
padding: '8px 12px',
|
|
160
161
|
backgroundColor: state.myAssets ? theme.accent : 'rgba(0,0,0,0.2)',
|
|
161
162
|
border: 'none',
|
|
162
163
|
borderRadius: 6,
|
|
163
164
|
color: '#fff',
|
|
164
165
|
cursor: 'pointer',
|
|
165
|
-
}, children: "
|
|
166
|
+
}, children: [jsxRuntime.jsx(ui.NiceIcon, { name: "book", size: 14 }), " My Assets"] })] }), jsxRuntime.jsxs("div", { style: { display: 'flex', gap: 8 }, children: [jsxRuntime.jsxs("div", { style: { flex: 1, position: 'relative' }, children: [jsxRuntime.jsx("input", { type: "text", placeholder: "Search assets...", value: localQuery, onChange: (e) => setLocalQuery(e.target.value), onKeyDown: (e) => e.key === 'Enter' && handleSearch(), style: {
|
|
166
167
|
width: '100%',
|
|
167
168
|
padding: '10px 16px',
|
|
168
169
|
paddingRight: 50,
|
|
@@ -183,7 +184,7 @@ const SearchHeader = () => {
|
|
|
183
184
|
borderRadius: 6,
|
|
184
185
|
color: '#fff',
|
|
185
186
|
cursor: 'pointer',
|
|
186
|
-
}, children: "
|
|
187
|
+
}, children: jsxRuntime.jsx(ui.NiceIcon, { name: "search", size: 14 }) })] }), jsxRuntime.jsx("select", { value: state.query.category, onChange: (e) => {
|
|
187
188
|
dispatch({
|
|
188
189
|
type: 'SET_QUERY',
|
|
189
190
|
query: { category: e.target.value, page: 1 },
|
|
@@ -230,7 +231,7 @@ const RatingStars = ({ rating, count }) => {
|
|
|
230
231
|
return (jsxRuntime.jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: 4 }, children: [[1, 2, 3, 4, 5].map((star) => (jsxRuntime.jsx("span", { style: {
|
|
231
232
|
fontSize: 12,
|
|
232
233
|
color: star <= Math.round(rating) ? theme.star : theme.textSecondary,
|
|
233
|
-
}, children: "
|
|
234
|
+
}, children: jsxRuntime.jsx(ui.NiceIcon, { name: "star", size: 12 }) }, star))), count !== undefined && (jsxRuntime.jsxs("span", { style: { fontSize: 11, color: theme.textSecondary, marginLeft: 4 }, children: ["(", count, ")"] }))] }));
|
|
234
235
|
};
|
|
235
236
|
/* ── Asset Card ───────────────────────────────────────────────── */
|
|
236
237
|
const AssetCard = ({ asset }) => {
|
|
@@ -292,7 +293,7 @@ const AssetCard = ({ asset }) => {
|
|
|
292
293
|
alignItems: 'center',
|
|
293
294
|
justifyContent: 'center',
|
|
294
295
|
fontSize: 14,
|
|
295
|
-
}, children: getCategoryIcon(asset.category) })] }), jsxRuntime.jsxs("div", { style: { padding: 12 }, children: [jsxRuntime.jsx("h3", { style: {
|
|
296
|
+
}, children: jsxRuntime.jsx(ui.NiceIcon, { name: getCategoryIcon(asset.category), size: 32 }) })] }), jsxRuntime.jsxs("div", { style: { padding: 12 }, children: [jsxRuntime.jsx("h3", { style: {
|
|
296
297
|
margin: 0,
|
|
297
298
|
fontSize: 13,
|
|
298
299
|
fontWeight: 600,
|
|
@@ -333,7 +334,7 @@ const AssetCard = ({ asset }) => {
|
|
|
333
334
|
borderRadius: 6,
|
|
334
335
|
color: '#fff',
|
|
335
336
|
cursor: isDownloading ? 'not-allowed' : 'pointer',
|
|
336
|
-
}, children: isDownloading ? `${downloadProgress}%` : '
|
|
337
|
+
}, children: isDownloading ? `${downloadProgress}%` : 'Download' })) : (jsxRuntime.jsx("button", { onClick: (e) => {
|
|
337
338
|
e.stopPropagation();
|
|
338
339
|
if (isInCart) {
|
|
339
340
|
dispatch({ type: 'REMOVE_FROM_CART', id: asset.id });
|
|
@@ -351,7 +352,7 @@ const AssetCard = ({ asset }) => {
|
|
|
351
352
|
borderRadius: 6,
|
|
352
353
|
color: '#fff',
|
|
353
354
|
cursor: 'pointer',
|
|
354
|
-
}, children: isInCart ? '
|
|
355
|
+
}, children: isInCart ? 'In Cart' : 'Add to Cart' })), jsxRuntime.jsx("button", { onClick: (e) => {
|
|
355
356
|
e.stopPropagation();
|
|
356
357
|
openInBrowser(asset);
|
|
357
358
|
}, style: {
|
|
@@ -362,7 +363,7 @@ const AssetCard = ({ asset }) => {
|
|
|
362
363
|
borderRadius: 6,
|
|
363
364
|
color: theme.textSecondary,
|
|
364
365
|
cursor: 'pointer',
|
|
365
|
-
}, children: "
|
|
366
|
+
}, children: jsxRuntime.jsx(ui.NiceIcon, { name: "link", size: 14 }) })] })] })] }));
|
|
366
367
|
};
|
|
367
368
|
/* ── Asset Grid ───────────────────────────────────────────────── */
|
|
368
369
|
const AssetGrid = () => {
|
|
@@ -374,7 +375,7 @@ const AssetGrid = () => {
|
|
|
374
375
|
alignItems: 'center',
|
|
375
376
|
justifyContent: 'center',
|
|
376
377
|
color: theme.textSecondary,
|
|
377
|
-
}, children: "
|
|
378
|
+
}, children: "Loading assets..." }));
|
|
378
379
|
}
|
|
379
380
|
if (state.error) {
|
|
380
381
|
return (jsxRuntime.jsxs("div", { style: {
|
|
@@ -383,7 +384,7 @@ const AssetGrid = () => {
|
|
|
383
384
|
alignItems: 'center',
|
|
384
385
|
justifyContent: 'center',
|
|
385
386
|
color: theme.danger,
|
|
386
|
-
}, children: ["
|
|
387
|
+
}, children: [jsxRuntime.jsx(ui.NiceIcon, { name: "error", size: 14 }), " ", state.error] }));
|
|
387
388
|
}
|
|
388
389
|
if (state.results.length === 0) {
|
|
389
390
|
return (jsxRuntime.jsxs("div", { style: {
|
|
@@ -393,7 +394,7 @@ const AssetGrid = () => {
|
|
|
393
394
|
alignItems: 'center',
|
|
394
395
|
justifyContent: 'center',
|
|
395
396
|
color: theme.textSecondary,
|
|
396
|
-
}, children: [jsxRuntime.jsx("div", { style: {
|
|
397
|
+
}, children: [jsxRuntime.jsx("div", { style: { marginBottom: 16 }, children: jsxRuntime.jsx(ui.NiceIcon, { name: "archive", size: 48 }) }), jsxRuntime.jsx("div", { children: "No assets found" })] }));
|
|
397
398
|
}
|
|
398
399
|
return (jsxRuntime.jsx("div", { style: {
|
|
399
400
|
display: 'grid',
|
|
@@ -476,7 +477,7 @@ const AssetDetailModal = () => {
|
|
|
476
477
|
borderRadius: 8,
|
|
477
478
|
color: '#fff',
|
|
478
479
|
cursor: isDownloading ? 'not-allowed' : 'pointer',
|
|
479
|
-
}, children: isDownloading ? `Downloading ${downloadProgress}%` : '
|
|
480
|
+
}, children: isDownloading ? `Downloading ${downloadProgress}%` : 'Download & Import' })) : (jsxRuntime.jsx("button", { onClick: () => isInCart
|
|
480
481
|
? dispatch({ type: 'REMOVE_FROM_CART', id: asset.id })
|
|
481
482
|
: dispatch({ type: 'ADD_TO_CART', id: asset.id }), style: {
|
|
482
483
|
width: '100%',
|
|
@@ -488,7 +489,7 @@ const AssetDetailModal = () => {
|
|
|
488
489
|
borderRadius: 8,
|
|
489
490
|
color: '#fff',
|
|
490
491
|
cursor: 'pointer',
|
|
491
|
-
}, children: isInCart ? '
|
|
492
|
+
}, children: isInCart ? 'Remove from Cart' : 'Add to Cart' })), jsxRuntime.jsxs("button", { onClick: () => openInBrowser(asset), style: {
|
|
492
493
|
width: '100%',
|
|
493
494
|
marginTop: 8,
|
|
494
495
|
padding: '10px 24px',
|
|
@@ -498,7 +499,7 @@ const AssetDetailModal = () => {
|
|
|
498
499
|
borderRadius: 8,
|
|
499
500
|
color: theme.textSecondary,
|
|
500
501
|
cursor: 'pointer',
|
|
501
|
-
}, children: "
|
|
502
|
+
}, children: [jsxRuntime.jsx(ui.NiceIcon, { name: "external-link", size: 14 }), " View on Asset Store"] })] })] }), jsxRuntime.jsx("button", { onClick: () => dispatch({ type: 'SELECT_ASSET', asset: null }), style: {
|
|
502
503
|
position: 'absolute',
|
|
503
504
|
top: 16,
|
|
504
505
|
right: 16,
|
|
@@ -508,7 +509,7 @@ const AssetDetailModal = () => {
|
|
|
508
509
|
border: 'none',
|
|
509
510
|
color: theme.textSecondary,
|
|
510
511
|
cursor: 'pointer',
|
|
511
|
-
}, children: "
|
|
512
|
+
}, children: jsxRuntime.jsx(ui.NiceIcon, { name: "close", size: 14 }) })] }), jsxRuntime.jsx("div", { style: { display: 'flex', borderBottom: `1px solid ${theme.border}` }, children: ['overview', 'images', 'reviews'].map((tab) => (jsxRuntime.jsx("button", { onClick: () => setActiveTab(tab), style: {
|
|
512
513
|
flex: 1,
|
|
513
514
|
padding: '12px 16px',
|
|
514
515
|
fontSize: 13,
|