@nice2dev/game-engine 1.1.7 → 1.1.10
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 +146 -0
- package/dist/cjs/ai/StateMachine.js +54 -0
- package/dist/cjs/devtools/DeveloperExperience.js +5 -5
- package/dist/cjs/dialogue/DialogueSystem.js +1 -1
- package/dist/cjs/editor/AnimationRetargeting.js +13 -0
- package/dist/cjs/editor/AssetBrowser.js +26 -25
- package/dist/cjs/editor/NiceGameEditor.js +66 -49
- package/dist/cjs/editor/TimelineEditor.js +12 -0
- package/dist/cjs/godot-integration/components/GodotProjectBrowser.js +33 -32
- package/dist/cjs/i18n/I18n.js +305 -0
- package/dist/cjs/index.js +8 -0
- package/dist/cjs/kids/KidMode.js +36 -36
- package/dist/cjs/kids/KidTools.js +31 -31
- package/dist/cjs/native-engine/AnimationSystem.js +840 -0
- package/dist/cjs/native-engine/InputSystem.js +9 -2
- 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/tutorials/TutorialBranching.js +12 -12
- package/dist/cjs/tutorials/TutorialEngine.js +35 -35
- package/dist/cjs/tutorials/content/Tutorials_T05_T08.js +75 -75
- package/dist/cjs/tutorials/content/Tutorials_T09_T11.js +24 -24
- package/dist/cjs/tutorials/content/Tutorials_T12_T15.js +33 -33
- 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/ai/StateMachine.js +53 -1
- package/dist/esm/devtools/DeveloperExperience.js +5 -5
- package/dist/esm/dialogue/DialogueSystem.js +1 -1
- package/dist/esm/editor/AnimationRetargeting.js +13 -1
- package/dist/esm/editor/AssetBrowser.js +26 -25
- package/dist/esm/editor/NiceGameEditor.js +67 -50
- package/dist/esm/editor/TimelineEditor.js +12 -1
- package/dist/esm/godot-integration/components/GodotProjectBrowser.js +33 -32
- package/dist/esm/i18n/I18n.js +305 -0
- package/dist/esm/index.js +4 -3
- package/dist/esm/kids/KidMode.js +36 -36
- package/dist/esm/kids/KidTools.js +31 -31
- package/dist/esm/native-engine/AnimationSystem.js +835 -0
- 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/tutorials/TutorialBranching.js +12 -12
- package/dist/esm/tutorials/TutorialEngine.js +35 -35
- package/dist/esm/tutorials/content/Tutorials_T05_T08.js +75 -75
- package/dist/esm/tutorials/content/Tutorials_T09_T11.js +24 -24
- package/dist/esm/tutorials/content/Tutorials_T12_T15.js +33 -33
- 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/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/index.d.ts +4 -0
- package/dist/types/kids/KidMode.d.ts +4 -2
- package/dist/types/kids/KidTools.d.ts +1 -1
- package/dist/types/tutorials/TutorialBranching.d.ts +1 -1
- package/package.json +4 -3
- 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
|
@@ -33,9 +33,9 @@ const TUTORIAL_MULTIPLAYER_ONLINE = {
|
|
|
33
33
|
id: 'mp-online-intro',
|
|
34
34
|
type: 'text',
|
|
35
35
|
title: {
|
|
36
|
-
en: 'Online Multiplayer Architecture
|
|
37
|
-
pl: 'Architektura multiplayera online
|
|
38
|
-
de: 'Online-Mehrspieler-Architektur
|
|
36
|
+
en: 'Online Multiplayer Architecture',
|
|
37
|
+
pl: 'Architektura multiplayera online',
|
|
38
|
+
de: 'Online-Mehrspieler-Architektur',
|
|
39
39
|
},
|
|
40
40
|
content: {
|
|
41
41
|
en: 'In this tutorial you will learn:\n• WebRTC peer-to-peer connections\n• Signaling via WebSocket\n• Creating and joining lobby rooms\n• State synchronization (snapshots)\n• Client-side prediction and reconciliation\n\nYour game will run in real-time across the internet!',
|
|
@@ -200,9 +200,9 @@ const TUTORIAL_MULTIPLAYER_ONLINE = {
|
|
|
200
200
|
id: 'mp-online-quiz',
|
|
201
201
|
type: 'quiz',
|
|
202
202
|
title: {
|
|
203
|
-
en: 'Multiplayer Quiz
|
|
204
|
-
pl: 'Quiz Multiplayer
|
|
205
|
-
de: 'Multiplayer-Quiz
|
|
203
|
+
en: 'Multiplayer Quiz',
|
|
204
|
+
pl: 'Quiz Multiplayer',
|
|
205
|
+
de: 'Multiplayer-Quiz',
|
|
206
206
|
},
|
|
207
207
|
content: {
|
|
208
208
|
en: 'Why is client-side prediction important in online games?',
|
|
@@ -275,9 +275,9 @@ const TUTORIAL_MULTIPLAYER_ONLINE = {
|
|
|
275
275
|
id: 'mp-online-complete',
|
|
276
276
|
type: 'checkpoint',
|
|
277
277
|
title: {
|
|
278
|
-
en: 'Multiplayer Online Complete!
|
|
279
|
-
pl: 'Multiplayer online gotowy!
|
|
280
|
-
de: 'Online-Mehrspieler fertig!
|
|
278
|
+
en: 'Multiplayer Online Complete!',
|
|
279
|
+
pl: 'Multiplayer online gotowy!',
|
|
280
|
+
de: 'Online-Mehrspieler fertig!',
|
|
281
281
|
},
|
|
282
282
|
content: {
|
|
283
283
|
en: "You've learned how to build networked multiplayer games! You can now:\n• Connect peers via WebRTC\n• Create and manage lobby rooms\n• Synchronize game state with snapshots\n• Implement client-side prediction\n• Spawn/destroy entities across the network",
|
|
@@ -315,9 +315,9 @@ const TUTORIAL_PROCEDURAL_WORLD = {
|
|
|
315
315
|
id: 'proc-intro',
|
|
316
316
|
type: 'text',
|
|
317
317
|
title: {
|
|
318
|
-
en: 'Procedural Generation
|
|
319
|
-
pl: 'Generowanie proceduralne
|
|
320
|
-
de: 'Prozedurale Generierung
|
|
318
|
+
en: 'Procedural Generation',
|
|
319
|
+
pl: 'Generowanie proceduralne',
|
|
320
|
+
de: 'Prozedurale Generierung',
|
|
321
321
|
},
|
|
322
322
|
content: {
|
|
323
323
|
en: 'Procedural generation creates content using algorithms instead of manual design.\n\nYou will learn:\n• Seeded random numbers (reproducible worlds)\n• Perlin noise (natural-looking terrain)\n• Enemy wave scaling\n• Loot tables with weighted drops\n• Procedural pixel art sprites',
|
|
@@ -457,9 +457,9 @@ const TUTORIAL_PROCEDURAL_WORLD = {
|
|
|
457
457
|
id: 'proc-quiz',
|
|
458
458
|
type: 'quiz',
|
|
459
459
|
title: {
|
|
460
|
-
en: 'Procedural Generation Quiz
|
|
461
|
-
pl: 'Quiz z generowania proceduralnego
|
|
462
|
-
de: 'Prozedurale Generierung Quiz
|
|
460
|
+
en: 'Procedural Generation Quiz',
|
|
461
|
+
pl: 'Quiz z generowania proceduralnego',
|
|
462
|
+
de: 'Prozedurale Generierung Quiz',
|
|
463
463
|
},
|
|
464
464
|
content: {
|
|
465
465
|
en: 'What makes Perlin noise better than purely random values for terrain?',
|
|
@@ -503,9 +503,9 @@ const TUTORIAL_PROCEDURAL_WORLD = {
|
|
|
503
503
|
id: 'proc-complete',
|
|
504
504
|
type: 'checkpoint',
|
|
505
505
|
title: {
|
|
506
|
-
en: 'Procedural Generation Complete!
|
|
507
|
-
pl: 'Generowanie proceduralne opanowane!
|
|
508
|
-
de: 'Prozedurale Generierung fertig!
|
|
506
|
+
en: 'Procedural Generation Complete!',
|
|
507
|
+
pl: 'Generowanie proceduralne opanowane!',
|
|
508
|
+
de: 'Prozedurale Generierung fertig!',
|
|
509
509
|
},
|
|
510
510
|
content: {
|
|
511
511
|
en: 'You can now generate infinite, unique games! Skills learned:\n• Seeded random for reproducible worlds\n• Perlin noise for natural terrain\n• Wave scaling for enemy difficulty\n• Loot tables for balanced drops\n• Procedural pixel art sprites',
|
|
@@ -543,9 +543,9 @@ const TUTORIAL_PLATFORMER = {
|
|
|
543
543
|
id: 'plat-intro',
|
|
544
544
|
type: 'text',
|
|
545
545
|
title: {
|
|
546
|
-
en: 'Build a Platformer!
|
|
547
|
-
pl: 'Zbuduj platformera!
|
|
548
|
-
de: 'Baue einen Platformer!
|
|
546
|
+
en: 'Build a Platformer!',
|
|
547
|
+
pl: 'Zbuduj platformera!',
|
|
548
|
+
de: 'Baue einen Platformer!',
|
|
549
549
|
},
|
|
550
550
|
content: {
|
|
551
551
|
en: "In this tutorial you'll build a complete platformer game!\n\n• Player movement & acceleration\n• Jumping with coyote time\n• Double-jump & wall-slide\n• Dash mechanic\n• Enemy AI (patrol + chase)\n• Coins & collectibles\n• Level with tilemap\n\nLet's make Mario-like magic!",
|
|
@@ -761,9 +761,9 @@ const TUTORIAL_PLATFORMER = {
|
|
|
761
761
|
id: 'plat-complete',
|
|
762
762
|
type: 'checkpoint',
|
|
763
763
|
title: {
|
|
764
|
-
en: 'Platformer Complete!
|
|
765
|
-
pl: 'Platformer gotowy!
|
|
766
|
-
de: 'Platformer fertig!
|
|
764
|
+
en: 'Platformer Complete!',
|
|
765
|
+
pl: 'Platformer gotowy!',
|
|
766
|
+
de: 'Platformer fertig!',
|
|
767
767
|
},
|
|
768
768
|
content: {
|
|
769
769
|
en: "Congratulations! You've built a complete platformer with:\n• Smooth acceleration-based movement\n• Jumping with coyote time\n• Double jump & wall slide\n• Dash mechanic\n• Enemy AI (patrol & chase)\n• Coins with trigger colliders\n• Tilemap level design\n\nChallenge: Add moving platforms and a boss fight!",
|
|
@@ -34,9 +34,9 @@ const TUTORIAL_RPG = {
|
|
|
34
34
|
id: 'rpg-intro',
|
|
35
35
|
type: 'text',
|
|
36
36
|
title: {
|
|
37
|
-
en: 'Build Your Own RPG!
|
|
38
|
-
pl: 'Zbuduj swoje RPG!
|
|
39
|
-
de: 'Baue dein eigenes RPG!
|
|
37
|
+
en: 'Build Your Own RPG!',
|
|
38
|
+
pl: 'Zbuduj swoje RPG!',
|
|
39
|
+
de: 'Baue dein eigenes RPG!',
|
|
40
40
|
},
|
|
41
41
|
content: {
|
|
42
42
|
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?",
|
|
@@ -172,9 +172,9 @@ const TUTORIAL_RPG = {
|
|
|
172
172
|
id: 'rpg-quiz',
|
|
173
173
|
type: 'quiz',
|
|
174
174
|
title: {
|
|
175
|
-
en: 'RPG Quiz
|
|
176
|
-
pl: 'Quiz RPG
|
|
177
|
-
de: 'RPG-Quiz
|
|
175
|
+
en: 'RPG Quiz',
|
|
176
|
+
pl: 'Quiz RPG',
|
|
177
|
+
de: 'RPG-Quiz',
|
|
178
178
|
},
|
|
179
179
|
content: {
|
|
180
180
|
en: 'In a turn-based RPG, what stat typically determines the order of actions?',
|
|
@@ -194,9 +194,9 @@ const TUTORIAL_RPG = {
|
|
|
194
194
|
id: 'rpg-complete',
|
|
195
195
|
type: 'checkpoint',
|
|
196
196
|
title: {
|
|
197
|
-
en: 'RPG Complete!
|
|
198
|
-
pl: 'RPG gotowe!
|
|
199
|
-
de: 'RPG fertig!
|
|
197
|
+
en: 'RPG Complete!',
|
|
198
|
+
pl: 'RPG gotowe!',
|
|
199
|
+
de: 'RPG fertig!',
|
|
200
200
|
},
|
|
201
201
|
content: {
|
|
202
202
|
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!",
|
|
@@ -234,9 +234,9 @@ const TUTORIAL_TOWER_DEFENSE = {
|
|
|
234
234
|
id: 'td-intro',
|
|
235
235
|
type: 'text',
|
|
236
236
|
title: {
|
|
237
|
-
en: 'Build Tower Defense!
|
|
238
|
-
pl: 'Zbuduj Tower Defense!
|
|
239
|
-
de: 'Baue Tower Defense!
|
|
237
|
+
en: 'Build Tower Defense!',
|
|
238
|
+
pl: 'Zbuduj Tower Defense!',
|
|
239
|
+
de: 'Baue Tower Defense!',
|
|
240
240
|
},
|
|
241
241
|
content: {
|
|
242
242
|
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!",
|
|
@@ -376,9 +376,9 @@ const TUTORIAL_TOWER_DEFENSE = {
|
|
|
376
376
|
id: 'td-complete',
|
|
377
377
|
type: 'checkpoint',
|
|
378
378
|
title: {
|
|
379
|
-
en: 'Tower Defense Complete!
|
|
380
|
-
pl: 'Tower Defense gotowy!
|
|
381
|
-
de: 'Tower Defense fertig!
|
|
379
|
+
en: 'Tower Defense Complete!',
|
|
380
|
+
pl: 'Tower Defense gotowy!',
|
|
381
|
+
de: 'Tower Defense fertig!',
|
|
382
382
|
},
|
|
383
383
|
content: {
|
|
384
384
|
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!",
|
|
@@ -416,9 +416,9 @@ const TUTORIAL_3D_GAME = {
|
|
|
416
416
|
id: '3d-intro',
|
|
417
417
|
type: 'text',
|
|
418
418
|
title: {
|
|
419
|
-
en: 'Welcome to 3D!
|
|
420
|
-
pl: 'Witaj w 3D!
|
|
421
|
-
de: 'Willkommen in 3D!
|
|
419
|
+
en: 'Welcome to 3D!',
|
|
420
|
+
pl: 'Witaj w 3D!',
|
|
421
|
+
de: 'Willkommen in 3D!',
|
|
422
422
|
},
|
|
423
423
|
content: {
|
|
424
424
|
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!",
|
|
@@ -583,9 +583,9 @@ const TUTORIAL_3D_GAME = {
|
|
|
583
583
|
id: '3d-complete',
|
|
584
584
|
type: 'checkpoint',
|
|
585
585
|
title: {
|
|
586
|
-
en: '3D Game Complete!
|
|
587
|
-
pl: 'Gra 3D gotowa!
|
|
588
|
-
de: '3D-Spiel fertig!
|
|
586
|
+
en: '3D Game Complete!',
|
|
587
|
+
pl: 'Gra 3D gotowa!',
|
|
588
|
+
de: '3D-Spiel fertig!',
|
|
589
589
|
},
|
|
590
590
|
content: {
|
|
591
591
|
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!",
|
|
@@ -623,9 +623,9 @@ const TUTORIAL_PUBLISHING = {
|
|
|
623
623
|
id: 'pub-intro',
|
|
624
624
|
type: 'text',
|
|
625
625
|
title: {
|
|
626
|
-
en: 'Publish Your Game!
|
|
627
|
-
pl: 'Opublikuj swoją grę!
|
|
628
|
-
de: 'Veröffentliche dein Spiel!
|
|
626
|
+
en: 'Publish Your Game!',
|
|
627
|
+
pl: 'Opublikuj swoją grę!',
|
|
628
|
+
de: 'Veröffentliche dein Spiel!',
|
|
629
629
|
},
|
|
630
630
|
content: {
|
|
631
631
|
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!",
|
|
@@ -730,9 +730,9 @@ const TUTORIAL_PUBLISHING = {
|
|
|
730
730
|
id: 'pub-quiz',
|
|
731
731
|
type: 'quiz',
|
|
732
732
|
title: {
|
|
733
|
-
en: 'Publishing Quiz
|
|
734
|
-
pl: 'Quiz o publikacji
|
|
735
|
-
de: 'Veröffentlichungs-Quiz
|
|
733
|
+
en: 'Publishing Quiz',
|
|
734
|
+
pl: 'Quiz o publikacji',
|
|
735
|
+
de: 'Veröffentlichungs-Quiz',
|
|
736
736
|
},
|
|
737
737
|
content: {
|
|
738
738
|
en: 'What is a PWA (Progressive Web App)?',
|
|
@@ -780,14 +780,14 @@ const TUTORIAL_PUBLISHING = {
|
|
|
780
780
|
id: 'pub-complete',
|
|
781
781
|
type: 'checkpoint',
|
|
782
782
|
title: {
|
|
783
|
-
en: 'Publication Complete!
|
|
784
|
-
pl: 'Publikacja gotowa!
|
|
785
|
-
de: 'Veröffentlichung fertig!
|
|
783
|
+
en: 'Publication Complete!',
|
|
784
|
+
pl: 'Publikacja gotowa!',
|
|
785
|
+
de: 'Veröffentlichung fertig!',
|
|
786
786
|
},
|
|
787
787
|
content: {
|
|
788
|
-
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!
|
|
789
|
-
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!
|
|
790
|
-
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!
|
|
788
|
+
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!',
|
|
789
|
+
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!',
|
|
790
|
+
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!',
|
|
791
791
|
},
|
|
792
792
|
},
|
|
793
793
|
],
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { NiceIcon } from '@nice2dev/ui';
|
|
2
3
|
import { createContext, forwardRef, useReducer, useMemo, useCallback, useImperativeHandle, useState, useContext } from 'react';
|
|
3
4
|
|
|
4
5
|
const DEFAULT_THEME = {
|
|
@@ -104,21 +105,21 @@ function formatFileSize(bytes) {
|
|
|
104
105
|
function getCategoryIcon(category) {
|
|
105
106
|
switch (category) {
|
|
106
107
|
case '3d':
|
|
107
|
-
return '
|
|
108
|
+
return 'box';
|
|
108
109
|
case '2d':
|
|
109
|
-
return '
|
|
110
|
+
return 'image';
|
|
110
111
|
case 'tools':
|
|
111
|
-
return '
|
|
112
|
+
return 'settings';
|
|
112
113
|
case 'vfx':
|
|
113
|
-
return '
|
|
114
|
+
return 'star';
|
|
114
115
|
case 'audio':
|
|
115
|
-
return '
|
|
116
|
+
return 'volume';
|
|
116
117
|
case 'templates':
|
|
117
|
-
return '
|
|
118
|
+
return 'clipboard';
|
|
118
119
|
case 'add-ons':
|
|
119
|
-
return '
|
|
120
|
+
return 'puzzle';
|
|
120
121
|
default:
|
|
121
|
-
return '
|
|
122
|
+
return 'box';
|
|
122
123
|
}
|
|
123
124
|
}
|
|
124
125
|
/* ── Search Header ────────────────────────────────────────────── */
|
|
@@ -143,7 +144,7 @@ const SearchHeader = () => {
|
|
|
143
144
|
padding: '16px 24px',
|
|
144
145
|
backgroundColor: theme.headerBackground,
|
|
145
146
|
borderBottom: `1px solid ${theme.border}`,
|
|
146
|
-
}, children: [jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: 12, marginBottom: 12 }, children: [jsx(
|
|
147
|
+
}, children: [jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: 12, marginBottom: 12 }, children: [jsx(NiceIcon, { name: "building", size: 24 }), jsx("h1", { style: { margin: 0, fontSize: 18, fontWeight: 600, color: theme.textPrimary }, children: "Unity Asset Store" }), jsx("div", { style: { flex: 1 } }), jsxs("button", { style: {
|
|
147
148
|
display: 'flex',
|
|
148
149
|
alignItems: 'center',
|
|
149
150
|
gap: 6,
|
|
@@ -153,14 +154,14 @@ const SearchHeader = () => {
|
|
|
153
154
|
borderRadius: 6,
|
|
154
155
|
color: '#fff',
|
|
155
156
|
cursor: 'pointer',
|
|
156
|
-
}, children: ["
|
|
157
|
+
}, children: [jsx(NiceIcon, { name: "box", size: 14 }), " Cart (", state.cart.size, ")"] }), jsxs("button", { onClick: () => dispatch({ type: 'TOGGLE_MY_ASSETS' }), style: {
|
|
157
158
|
padding: '8px 12px',
|
|
158
159
|
backgroundColor: state.myAssets ? theme.accent : 'rgba(0,0,0,0.2)',
|
|
159
160
|
border: 'none',
|
|
160
161
|
borderRadius: 6,
|
|
161
162
|
color: '#fff',
|
|
162
163
|
cursor: 'pointer',
|
|
163
|
-
}, children: "
|
|
164
|
+
}, children: [jsx(NiceIcon, { name: "book", size: 14 }), " My Assets"] })] }), jsxs("div", { style: { display: 'flex', gap: 8 }, children: [jsxs("div", { style: { flex: 1, position: 'relative' }, children: [jsx("input", { type: "text", placeholder: "Search assets...", value: localQuery, onChange: (e) => setLocalQuery(e.target.value), onKeyDown: (e) => e.key === 'Enter' && handleSearch(), style: {
|
|
164
165
|
width: '100%',
|
|
165
166
|
padding: '10px 16px',
|
|
166
167
|
paddingRight: 50,
|
|
@@ -181,7 +182,7 @@ const SearchHeader = () => {
|
|
|
181
182
|
borderRadius: 6,
|
|
182
183
|
color: '#fff',
|
|
183
184
|
cursor: 'pointer',
|
|
184
|
-
}, children: "
|
|
185
|
+
}, children: jsx(NiceIcon, { name: "search", size: 14 }) })] }), jsx("select", { value: state.query.category, onChange: (e) => {
|
|
185
186
|
dispatch({
|
|
186
187
|
type: 'SET_QUERY',
|
|
187
188
|
query: { category: e.target.value, page: 1 },
|
|
@@ -228,7 +229,7 @@ const RatingStars = ({ rating, count }) => {
|
|
|
228
229
|
return (jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: 4 }, children: [[1, 2, 3, 4, 5].map((star) => (jsx("span", { style: {
|
|
229
230
|
fontSize: 12,
|
|
230
231
|
color: star <= Math.round(rating) ? theme.star : theme.textSecondary,
|
|
231
|
-
}, children: "
|
|
232
|
+
}, children: jsx(NiceIcon, { name: "star", size: 12 }) }, star))), count !== undefined && (jsxs("span", { style: { fontSize: 11, color: theme.textSecondary, marginLeft: 4 }, children: ["(", count, ")"] }))] }));
|
|
232
233
|
};
|
|
233
234
|
/* ── Asset Card ───────────────────────────────────────────────── */
|
|
234
235
|
const AssetCard = ({ asset }) => {
|
|
@@ -290,7 +291,7 @@ const AssetCard = ({ asset }) => {
|
|
|
290
291
|
alignItems: 'center',
|
|
291
292
|
justifyContent: 'center',
|
|
292
293
|
fontSize: 14,
|
|
293
|
-
}, children: getCategoryIcon(asset.category) })] }), jsxs("div", { style: { padding: 12 }, children: [jsx("h3", { style: {
|
|
294
|
+
}, children: jsx(NiceIcon, { name: getCategoryIcon(asset.category), size: 32 }) })] }), jsxs("div", { style: { padding: 12 }, children: [jsx("h3", { style: {
|
|
294
295
|
margin: 0,
|
|
295
296
|
fontSize: 13,
|
|
296
297
|
fontWeight: 600,
|
|
@@ -331,7 +332,7 @@ const AssetCard = ({ asset }) => {
|
|
|
331
332
|
borderRadius: 6,
|
|
332
333
|
color: '#fff',
|
|
333
334
|
cursor: isDownloading ? 'not-allowed' : 'pointer',
|
|
334
|
-
}, children: isDownloading ? `${downloadProgress}%` : '
|
|
335
|
+
}, children: isDownloading ? `${downloadProgress}%` : 'Download' })) : (jsx("button", { onClick: (e) => {
|
|
335
336
|
e.stopPropagation();
|
|
336
337
|
if (isInCart) {
|
|
337
338
|
dispatch({ type: 'REMOVE_FROM_CART', id: asset.id });
|
|
@@ -349,7 +350,7 @@ const AssetCard = ({ asset }) => {
|
|
|
349
350
|
borderRadius: 6,
|
|
350
351
|
color: '#fff',
|
|
351
352
|
cursor: 'pointer',
|
|
352
|
-
}, children: isInCart ? '
|
|
353
|
+
}, children: isInCart ? 'In Cart' : 'Add to Cart' })), jsx("button", { onClick: (e) => {
|
|
353
354
|
e.stopPropagation();
|
|
354
355
|
openInBrowser(asset);
|
|
355
356
|
}, style: {
|
|
@@ -360,7 +361,7 @@ const AssetCard = ({ asset }) => {
|
|
|
360
361
|
borderRadius: 6,
|
|
361
362
|
color: theme.textSecondary,
|
|
362
363
|
cursor: 'pointer',
|
|
363
|
-
}, children: "
|
|
364
|
+
}, children: jsx(NiceIcon, { name: "link", size: 14 }) })] })] })] }));
|
|
364
365
|
};
|
|
365
366
|
/* ── Asset Grid ───────────────────────────────────────────────── */
|
|
366
367
|
const AssetGrid = () => {
|
|
@@ -372,7 +373,7 @@ const AssetGrid = () => {
|
|
|
372
373
|
alignItems: 'center',
|
|
373
374
|
justifyContent: 'center',
|
|
374
375
|
color: theme.textSecondary,
|
|
375
|
-
}, children: "
|
|
376
|
+
}, children: "Loading assets..." }));
|
|
376
377
|
}
|
|
377
378
|
if (state.error) {
|
|
378
379
|
return (jsxs("div", { style: {
|
|
@@ -381,7 +382,7 @@ const AssetGrid = () => {
|
|
|
381
382
|
alignItems: 'center',
|
|
382
383
|
justifyContent: 'center',
|
|
383
384
|
color: theme.danger,
|
|
384
|
-
}, children: ["
|
|
385
|
+
}, children: [jsx(NiceIcon, { name: "error", size: 14 }), " ", state.error] }));
|
|
385
386
|
}
|
|
386
387
|
if (state.results.length === 0) {
|
|
387
388
|
return (jsxs("div", { style: {
|
|
@@ -391,7 +392,7 @@ const AssetGrid = () => {
|
|
|
391
392
|
alignItems: 'center',
|
|
392
393
|
justifyContent: 'center',
|
|
393
394
|
color: theme.textSecondary,
|
|
394
|
-
}, children: [jsx("div", { style: {
|
|
395
|
+
}, children: [jsx("div", { style: { marginBottom: 16 }, children: jsx(NiceIcon, { name: "archive", size: 48 }) }), jsx("div", { children: "No assets found" })] }));
|
|
395
396
|
}
|
|
396
397
|
return (jsx("div", { style: {
|
|
397
398
|
display: 'grid',
|
|
@@ -474,7 +475,7 @@ const AssetDetailModal = () => {
|
|
|
474
475
|
borderRadius: 8,
|
|
475
476
|
color: '#fff',
|
|
476
477
|
cursor: isDownloading ? 'not-allowed' : 'pointer',
|
|
477
|
-
}, children: isDownloading ? `Downloading ${downloadProgress}%` : '
|
|
478
|
+
}, children: isDownloading ? `Downloading ${downloadProgress}%` : 'Download & Import' })) : (jsx("button", { onClick: () => isInCart
|
|
478
479
|
? dispatch({ type: 'REMOVE_FROM_CART', id: asset.id })
|
|
479
480
|
: dispatch({ type: 'ADD_TO_CART', id: asset.id }), style: {
|
|
480
481
|
width: '100%',
|
|
@@ -486,7 +487,7 @@ const AssetDetailModal = () => {
|
|
|
486
487
|
borderRadius: 8,
|
|
487
488
|
color: '#fff',
|
|
488
489
|
cursor: 'pointer',
|
|
489
|
-
}, children: isInCart ? '
|
|
490
|
+
}, children: isInCart ? 'Remove from Cart' : 'Add to Cart' })), jsxs("button", { onClick: () => openInBrowser(asset), style: {
|
|
490
491
|
width: '100%',
|
|
491
492
|
marginTop: 8,
|
|
492
493
|
padding: '10px 24px',
|
|
@@ -496,7 +497,7 @@ const AssetDetailModal = () => {
|
|
|
496
497
|
borderRadius: 8,
|
|
497
498
|
color: theme.textSecondary,
|
|
498
499
|
cursor: 'pointer',
|
|
499
|
-
}, children: "
|
|
500
|
+
}, children: [jsx(NiceIcon, { name: "external-link", size: 14 }), " View on Asset Store"] })] })] }), jsx("button", { onClick: () => dispatch({ type: 'SELECT_ASSET', asset: null }), style: {
|
|
500
501
|
position: 'absolute',
|
|
501
502
|
top: 16,
|
|
502
503
|
right: 16,
|
|
@@ -506,7 +507,7 @@ const AssetDetailModal = () => {
|
|
|
506
507
|
border: 'none',
|
|
507
508
|
color: theme.textSecondary,
|
|
508
509
|
cursor: 'pointer',
|
|
509
|
-
}, children: "
|
|
510
|
+
}, children: jsx(NiceIcon, { name: "close", size: 14 }) })] }), jsx("div", { style: { display: 'flex', borderBottom: `1px solid ${theme.border}` }, children: ['overview', 'images', 'reviews'].map((tab) => (jsx("button", { onClick: () => setActiveTab(tab), style: {
|
|
510
511
|
flex: 1,
|
|
511
512
|
padding: '12px 16px',
|
|
512
513
|
fontSize: 13,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { NiceIcon } from '@nice2dev/ui';
|
|
2
3
|
import { createContext, forwardRef, useReducer, useMemo, useCallback, useImperativeHandle, useContext } from 'react';
|
|
3
4
|
|
|
4
5
|
const DEFAULT_THEME = {
|
|
@@ -102,23 +103,23 @@ function useBrowser() {
|
|
|
102
103
|
function getAssetIcon(type) {
|
|
103
104
|
switch (type) {
|
|
104
105
|
case 'scene':
|
|
105
|
-
return '
|
|
106
|
+
return 'video';
|
|
106
107
|
case 'prefab':
|
|
107
|
-
return '
|
|
108
|
+
return 'box';
|
|
108
109
|
case 'material':
|
|
109
|
-
return '
|
|
110
|
+
return 'palette';
|
|
110
111
|
case 'texture':
|
|
111
|
-
return '
|
|
112
|
+
return 'image';
|
|
112
113
|
case 'mesh':
|
|
113
|
-
return '
|
|
114
|
+
return 'hexagon';
|
|
114
115
|
case 'animation':
|
|
115
|
-
return '
|
|
116
|
+
return 'play';
|
|
116
117
|
case 'script':
|
|
117
|
-
return '
|
|
118
|
+
return 'code';
|
|
118
119
|
case 'audio':
|
|
119
|
-
return '
|
|
120
|
+
return 'volume';
|
|
120
121
|
default:
|
|
121
|
-
return '
|
|
122
|
+
return 'file';
|
|
122
123
|
}
|
|
123
124
|
}
|
|
124
125
|
function formatFileSize(bytes) {
|
|
@@ -149,7 +150,7 @@ const BrowserHeader = ({ projectPath }) => {
|
|
|
149
150
|
alignItems: 'center',
|
|
150
151
|
justifyContent: 'center',
|
|
151
152
|
fontSize: 20,
|
|
152
|
-
}, children: "
|
|
153
|
+
}, children: jsx(NiceIcon, { name: "gamepad", size: 18 }) }), jsxs("div", { style: { flex: 1 }, children: [jsx("div", { style: { fontSize: 14, fontWeight: 600, color: theme.textPrimary }, children: state.projectInfo?.name ?? 'No Project Loaded' }), jsx("div", { style: { fontSize: 11, color: theme.textSecondary }, children: state.projectInfo ? (jsxs(Fragment, { children: ["Unity ", state.projectInfo.unityVersion, " \u2022", ' ', state.projectInfo.renderPipeline.toUpperCase()] })) : ((projectPath ?? 'Select a Unity project folder')) })] }), jsxs("div", { style: {
|
|
153
154
|
display: 'flex',
|
|
154
155
|
alignItems: 'center',
|
|
155
156
|
gap: 8,
|
|
@@ -216,21 +217,21 @@ const BrowserToolbar = () => {
|
|
|
216
217
|
backgroundColor: 'rgba(0,0,0,0.2)',
|
|
217
218
|
borderRadius: 6,
|
|
218
219
|
overflow: 'hidden',
|
|
219
|
-
}, children: [jsx("button", { onClick: () => dispatch({ type: 'SET_VIEW_MODE', mode: 'tree' }), style: {
|
|
220
|
+
}, children: [jsx("button", { onClick: () => dispatch({ type: 'SET_VIEW_MODE', mode: 'tree' }), "aria-label": "Tree view", style: {
|
|
220
221
|
padding: '6px 10px',
|
|
221
222
|
fontSize: 12,
|
|
222
223
|
backgroundColor: state.viewMode === 'tree' ? theme.accent : 'transparent',
|
|
223
224
|
border: 'none',
|
|
224
225
|
color: '#fff',
|
|
225
226
|
cursor: 'pointer',
|
|
226
|
-
}, children: "
|
|
227
|
+
}, children: jsx(NiceIcon, { name: "list", size: 14 }) }), jsx("button", { onClick: () => dispatch({ type: 'SET_VIEW_MODE', mode: 'grid' }), "aria-label": "Grid view", style: {
|
|
227
228
|
padding: '6px 10px',
|
|
228
229
|
fontSize: 12,
|
|
229
230
|
backgroundColor: state.viewMode === 'grid' ? theme.accent : 'transparent',
|
|
230
231
|
border: 'none',
|
|
231
232
|
color: '#fff',
|
|
232
233
|
cursor: 'pointer',
|
|
233
|
-
}, children: "
|
|
234
|
+
}, children: jsx(NiceIcon, { name: "grid", size: 14 }) })] }), jsx("div", { style: { flex: 1 } }), jsxs("span", { style: { fontSize: 11, color: theme.textSecondary }, children: [state.selectedAssets.size, " selected"] }), jsxs("button", { onClick: importSelectedAssets, disabled: state.selectedAssets.size === 0 || state.importProgress !== null, style: {
|
|
234
235
|
padding: '8px 16px',
|
|
235
236
|
fontSize: 12,
|
|
236
237
|
fontWeight: 500,
|
|
@@ -242,16 +243,16 @@ const BrowserToolbar = () => {
|
|
|
242
243
|
color: '#fff',
|
|
243
244
|
cursor: state.selectedAssets.size > 0 && !state.importProgress ? 'pointer' : 'not-allowed',
|
|
244
245
|
opacity: state.selectedAssets.size > 0 && !state.importProgress ? 1 : 0.5,
|
|
245
|
-
}, children: state.importProgress ? '
|
|
246
|
+
}, children: [jsx(NiceIcon, { name: state.importProgress ? 'clock' : 'download', size: 14 }), ' ', state.importProgress ? 'Importing...' : 'Import Selected'] })] }));
|
|
246
247
|
};
|
|
247
248
|
/* ── Tab Bar Component ────────────────────────────────────────── */
|
|
248
249
|
const TabBar = () => {
|
|
249
250
|
const { state, dispatch, theme } = useBrowser();
|
|
250
251
|
const tabs = [
|
|
251
|
-
{ id: 'assets', label: 'Assets', icon: '
|
|
252
|
-
{ id: 'scenes', label: 'Scenes', icon: '
|
|
253
|
-
{ id: 'packages', label: 'Packages', icon: '
|
|
254
|
-
{ id: 'settings', label: 'Settings', icon: '
|
|
252
|
+
{ id: 'assets', label: 'Assets', icon: 'folder' },
|
|
253
|
+
{ id: 'scenes', label: 'Scenes', icon: 'video' },
|
|
254
|
+
{ id: 'packages', label: 'Packages', icon: 'box' },
|
|
255
|
+
{ id: 'settings', label: 'Settings', icon: 'settings' },
|
|
255
256
|
];
|
|
256
257
|
return (jsx("div", { style: {
|
|
257
258
|
display: 'flex',
|
|
@@ -267,7 +268,7 @@ const TabBar = () => {
|
|
|
267
268
|
borderBottom: state.tab === tab.id ? `2px solid ${theme.accent}` : '2px solid transparent',
|
|
268
269
|
color: state.tab === tab.id ? theme.textPrimary : theme.textSecondary,
|
|
269
270
|
cursor: 'pointer',
|
|
270
|
-
}, children: [tab.icon, " ", tab.label] }, tab.id))) }));
|
|
271
|
+
}, children: [jsx(NiceIcon, { name: tab.icon, size: 14 }), " ", tab.label] }, tab.id))) }));
|
|
271
272
|
};
|
|
272
273
|
/* ── Asset Tree View ──────────────────────────────────────────── */
|
|
273
274
|
const AssetTreeItem = ({ asset, indent }) => {
|
|
@@ -281,7 +282,7 @@ const AssetTreeItem = ({ asset, indent }) => {
|
|
|
281
282
|
paddingLeft: indent * 16 + 8,
|
|
282
283
|
backgroundColor: isSelected ? theme.itemSelected : 'transparent',
|
|
283
284
|
cursor: 'pointer',
|
|
284
|
-
}, children: [jsx("input", { type: "checkbox", checked: isSelected, onChange: () => dispatch({ type: 'SELECT_ASSET', id: asset.id, additive: true }), onClick: (e) => e.stopPropagation() }), jsx(
|
|
285
|
+
}, children: [jsx("input", { type: "checkbox", checked: isSelected, onChange: () => dispatch({ type: 'SELECT_ASSET', id: asset.id, additive: true }), onClick: (e) => e.stopPropagation() }), jsx(NiceIcon, { name: getAssetIcon(asset.type), size: 14 }), jsx("span", { style: {
|
|
285
286
|
flex: 1,
|
|
286
287
|
fontSize: 12,
|
|
287
288
|
color: isSelected ? theme.textPrimary : theme.textSecondary,
|
|
@@ -318,7 +319,7 @@ const FolderTreeItem = ({ folder, indent }) => {
|
|
|
318
319
|
padding: '4px 8px',
|
|
319
320
|
paddingLeft: indent * 16 + 8,
|
|
320
321
|
cursor: 'pointer',
|
|
321
|
-
}, children: [jsx(
|
|
322
|
+
}, children: [jsx(NiceIcon, { name: isExpanded ? 'chevron-down' : 'chevron-right', size: 10, color: theme.textSecondary }), jsx(NiceIcon, { name: "folder", size: 14, color: theme.folderColor }), jsx("span", { style: { fontSize: 12, color: theme.textPrimary, fontWeight: 500 }, children: folder.name }), jsxs("span", { style: { fontSize: 10, color: theme.textSecondary }, children: ["(", filteredChildren.length, ")"] })] }), isExpanded &&
|
|
322
323
|
filteredChildren.map((child, _i) => 'children' in child ? (jsx(FolderTreeItem, { folder: child, indent: indent + 1 }, child.path)) : (jsx(AssetTreeItem, { asset: child, indent: indent + 1 }, child.id)))] }));
|
|
323
324
|
};
|
|
324
325
|
/* ── Asset Grid View ──────────────────────────────────────────── */
|
|
@@ -364,7 +365,7 @@ const AssetGridView = () => {
|
|
|
364
365
|
justifyContent: 'center',
|
|
365
366
|
fontSize: 24,
|
|
366
367
|
marginBottom: 8,
|
|
367
|
-
}, children: asset.thumbnail ? (jsx("img", { src: asset.thumbnail, alt: asset.name, style: { width: '100%', height: '100%', objectFit: 'cover', borderRadius: 8 } })) : (getAssetIcon(asset.type)) }), jsx("span", { style: {
|
|
368
|
+
}, children: asset.thumbnail ? (jsx("img", { src: asset.thumbnail, alt: asset.name, style: { width: '100%', height: '100%', objectFit: 'cover', borderRadius: 8 } })) : (jsx(NiceIcon, { name: getAssetIcon(asset.type), size: 32 })) }), jsx("span", { style: {
|
|
368
369
|
fontSize: 11,
|
|
369
370
|
color: theme.textPrimary,
|
|
370
371
|
textAlign: 'center',
|
|
@@ -414,7 +415,7 @@ const PackagesPanel = () => {
|
|
|
414
415
|
marginBottom: 4,
|
|
415
416
|
backgroundColor: theme.itemBackground,
|
|
416
417
|
borderRadius: 6,
|
|
417
|
-
}, children: [jsx(
|
|
418
|
+
}, children: [jsx(NiceIcon, { name: "box", size: 14 }), jsx("span", { style: { fontSize: 12, color: theme.textPrimary, flex: 1 }, children: pkg.name }), jsx("span", { style: {
|
|
418
419
|
padding: '2px 8px',
|
|
419
420
|
fontSize: 10,
|
|
420
421
|
backgroundColor: getSourceBadge(pkg.source),
|
|
@@ -467,14 +468,14 @@ const PreviewPanel = () => {
|
|
|
467
468
|
gap: 12,
|
|
468
469
|
padding: 16,
|
|
469
470
|
borderBottom: `1px solid ${theme.border}`,
|
|
470
|
-
}, children: [jsx(
|
|
471
|
+
}, children: [jsx(NiceIcon, { name: getAssetIcon(asset.type), size: 24 }), jsxs("div", { style: { flex: 1 }, children: [jsx("div", { style: { fontSize: 16, fontWeight: 600, color: theme.textPrimary }, children: asset.name }), jsx("div", { style: { fontSize: 12, color: theme.textSecondary }, children: asset.path })] }), jsx("button", { onClick: () => dispatch({ type: 'SET_PREVIEW', asset: null }), style: {
|
|
471
472
|
padding: '4px 8px',
|
|
472
473
|
fontSize: 14,
|
|
473
474
|
backgroundColor: 'transparent',
|
|
474
475
|
border: 'none',
|
|
475
476
|
color: theme.textSecondary,
|
|
476
477
|
cursor: 'pointer',
|
|
477
|
-
}, children: "
|
|
478
|
+
}, children: jsx(NiceIcon, { name: "close", size: 14 }) })] }), jsxs("div", { style: { padding: 16 }, children: [jsx("div", { style: {
|
|
478
479
|
width: '100%',
|
|
479
480
|
height: 300,
|
|
480
481
|
backgroundColor: 'rgba(0,0,0,0.3)',
|
|
@@ -484,7 +485,7 @@ const PreviewPanel = () => {
|
|
|
484
485
|
justifyContent: 'center',
|
|
485
486
|
fontSize: 48,
|
|
486
487
|
marginBottom: 16,
|
|
487
|
-
}, children: asset.thumbnail ? (jsx("img", { src: asset.thumbnail, alt: asset.name, style: { maxWidth: '100%', maxHeight: '100%', objectFit: 'contain' } })) : (getAssetIcon(asset.type)) }), jsxs("div", { style: { display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 12 }, children: [jsxs("div", { children: [jsx("div", { style: { fontSize: 11, color: theme.textSecondary }, children: "Type" }), jsx("div", { style: { fontSize: 13, color: theme.textPrimary }, children: asset.type })] }), jsxs("div", { children: [jsx("div", { style: { fontSize: 11, color: theme.textSecondary }, children: "Size" }), jsx("div", { style: { fontSize: 13, color: theme.textPrimary }, children: formatFileSize(asset.size) })] }), jsxs("div", { children: [jsx("div", { style: { fontSize: 11, color: theme.textSecondary }, children: "GUID" }), jsx("div", { style: { fontSize: 13, color: theme.textPrimary, fontFamily: 'monospace' }, children: asset.guid })] }), jsxs("div", { children: [jsx("div", { style: { fontSize: 11, color: theme.textSecondary }, children: "Last Modified" }), jsx("div", { style: { fontSize: 13, color: theme.textPrimary }, children: asset.lastModified })] })] }), asset.dependencies && asset.dependencies.length > 0 && (jsxs("div", { style: { marginTop: 16 }, children: [jsxs("div", { style: { fontSize: 12, fontWeight: 500, color: theme.textPrimary, marginBottom: 8 }, children: ["Dependencies (", asset.dependencies.length, ")"] }), jsx("div", { style: { maxHeight: 100, overflow: 'auto' }, children: asset.dependencies.map((dep, i) => (jsx("div", { style: {
|
|
488
|
+
}, children: asset.thumbnail ? (jsx("img", { src: asset.thumbnail, alt: asset.name, style: { maxWidth: '100%', maxHeight: '100%', objectFit: 'contain' } })) : (jsx(NiceIcon, { name: getAssetIcon(asset.type), size: 32 })) }), jsxs("div", { style: { display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 12 }, children: [jsxs("div", { children: [jsx("div", { style: { fontSize: 11, color: theme.textSecondary }, children: "Type" }), jsx("div", { style: { fontSize: 13, color: theme.textPrimary }, children: asset.type })] }), jsxs("div", { children: [jsx("div", { style: { fontSize: 11, color: theme.textSecondary }, children: "Size" }), jsx("div", { style: { fontSize: 13, color: theme.textPrimary }, children: formatFileSize(asset.size) })] }), jsxs("div", { children: [jsx("div", { style: { fontSize: 11, color: theme.textSecondary }, children: "GUID" }), jsx("div", { style: { fontSize: 13, color: theme.textPrimary, fontFamily: 'monospace' }, children: asset.guid })] }), jsxs("div", { children: [jsx("div", { style: { fontSize: 11, color: theme.textSecondary }, children: "Last Modified" }), jsx("div", { style: { fontSize: 13, color: theme.textPrimary }, children: asset.lastModified })] })] }), asset.dependencies && asset.dependencies.length > 0 && (jsxs("div", { style: { marginTop: 16 }, children: [jsxs("div", { style: { fontSize: 12, fontWeight: 500, color: theme.textPrimary, marginBottom: 8 }, children: ["Dependencies (", asset.dependencies.length, ")"] }), jsx("div", { style: { maxHeight: 100, overflow: 'auto' }, children: asset.dependencies.map((dep, i) => (jsx("div", { style: {
|
|
488
489
|
padding: '4px 8px',
|
|
489
490
|
fontSize: 11,
|
|
490
491
|
color: theme.textSecondary,
|
|
@@ -534,7 +535,7 @@ const ImportProgressOverlay = () => {
|
|
|
534
535
|
backgroundColor: theme.panelBackground,
|
|
535
536
|
borderRadius: 12,
|
|
536
537
|
padding: 24,
|
|
537
|
-
}, children: [
|
|
538
|
+
}, children: [jsxs("h3", { style: { margin: '0 0 16px', fontSize: 16, fontWeight: 600, color: theme.textPrimary }, children: [jsx(NiceIcon, { name: progress.phase === 'complete' ? 'success' : 'download', size: 16 }), ' ', progress.phase === 'complete' ? 'Import Complete' : 'Importing Assets'] }), jsx("div", { style: { fontSize: 12, color: theme.textSecondary, marginBottom: 8 }, children: progress.message }), progress.currentAsset && (jsx("div", { style: {
|
|
538
539
|
fontSize: 11,
|
|
539
540
|
color: theme.textPrimary,
|
|
540
541
|
backgroundColor: 'rgba(0,0,0,0.2)',
|