@nice2dev/game-engine 1.0.5 → 1.0.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/dist/cjs/accessibility/Accessibility.js +55 -20
- package/dist/cjs/accessibility/Accessibility.js.map +1 -1
- package/dist/cjs/ai/AI.js +74 -40
- package/dist/cjs/ai/AI.js.map +1 -1
- package/dist/cjs/ai/BehaviorTree.js +39 -47
- package/dist/cjs/ai/BehaviorTree.js.map +1 -1
- package/dist/cjs/ai/StateMachine.js +64 -100
- package/dist/cjs/ai/StateMachine.js.map +1 -1
- package/dist/cjs/animation/Animation.js +58 -34
- package/dist/cjs/animation/Animation.js.map +1 -1
- package/dist/cjs/audio/AudioAdvanced.js +71 -37
- package/dist/cjs/audio/AudioAdvanced.js.map +1 -1
- package/dist/cjs/audio/AudioBridge.js +61 -49
- package/dist/cjs/audio/AudioBridge.js.map +1 -1
- package/dist/cjs/audio/AudioManager.js +45 -29
- package/dist/cjs/audio/AudioManager.js.map +1 -1
- package/dist/cjs/build-cloud/BuildOrchestration.js +1142 -0
- package/dist/cjs/build-cloud/BuildOrchestration.js.map +1 -0
- package/dist/cjs/build-cloud/GodotBuildCloud.js +722 -0
- package/dist/cjs/build-cloud/GodotBuildCloud.js.map +1 -0
- package/dist/cjs/build-cloud/UnityBuildCloud.js +652 -0
- package/dist/cjs/build-cloud/UnityBuildCloud.js.map +1 -0
- package/dist/cjs/build-cloud/UnrealBuildCloud.js +674 -0
- package/dist/cjs/build-cloud/UnrealBuildCloud.js.map +1 -0
- package/dist/cjs/core/EventBus.js +2 -1
- package/dist/cjs/core/EventBus.js.map +1 -1
- package/dist/cjs/core/GameConfig.js +1 -1
- package/dist/cjs/core/GameConfig.js.map +1 -1
- package/dist/cjs/core/GameLoop.js +6 -3
- package/dist/cjs/core/GameLoop.js.map +1 -1
- package/dist/cjs/core/ServiceLocator.js +1 -2
- package/dist/cjs/core/ServiceLocator.js.map +1 -1
- package/dist/cjs/devtools/DevTools.js +73 -43
- package/dist/cjs/devtools/DevTools.js.map +1 -1
- package/dist/cjs/devtools/DeveloperExperience.js +84 -42
- package/dist/cjs/devtools/DeveloperExperience.js.map +1 -1
- package/dist/cjs/devtools/GameplayAnalytics.js +71 -43
- package/dist/cjs/devtools/GameplayAnalytics.js.map +1 -1
- package/dist/cjs/dialogue/DialogueSystem.js +153 -129
- package/dist/cjs/dialogue/DialogueSystem.js.map +1 -1
- package/dist/cjs/docs/DocGenerator.js +70 -28
- package/dist/cjs/docs/DocGenerator.js.map +1 -1
- package/dist/cjs/ecs/World.js +159 -33
- package/dist/cjs/ecs/World.js.map +1 -1
- package/dist/cjs/editor/AchievementEditor.js +650 -0
- package/dist/cjs/editor/AchievementEditor.js.map +1 -0
- package/dist/cjs/editor/AdvancedEditor.js +95 -23
- package/dist/cjs/editor/AdvancedEditor.js.map +1 -1
- package/dist/cjs/editor/AnimationRetargeting.js +742 -0
- package/dist/cjs/editor/AnimationRetargeting.js.map +1 -0
- package/dist/cjs/editor/AssetBrowser.js +1191 -0
- package/dist/cjs/editor/AssetBrowser.js.map +1 -0
- package/dist/cjs/editor/AssetManager.js +22 -14
- package/dist/cjs/editor/AssetManager.js.map +1 -1
- package/dist/cjs/editor/ConsolePro.js +1092 -0
- package/dist/cjs/editor/ConsolePro.js.map +1 -0
- package/dist/cjs/editor/CraftingEditor.js +749 -0
- package/dist/cjs/editor/CraftingEditor.js.map +1 -0
- package/dist/cjs/editor/DebugTools.js +46 -23
- package/dist/cjs/editor/DebugTools.js.map +1 -1
- package/dist/cjs/editor/DialogueSystem.js +924 -0
- package/dist/cjs/editor/DialogueSystem.js.map +1 -0
- package/dist/cjs/editor/LeaderboardSystem.js +496 -0
- package/dist/cjs/editor/LeaderboardSystem.js.map +1 -0
- package/dist/cjs/editor/NiceGameEditor.js +532 -142
- package/dist/cjs/editor/NiceGameEditor.js.map +1 -1
- package/dist/cjs/editor/PrefabSystem.js +864 -0
- package/dist/cjs/editor/PrefabSystem.js.map +1 -0
- package/dist/cjs/editor/ProfilerPanel.js +716 -0
- package/dist/cjs/editor/ProfilerPanel.js.map +1 -0
- package/dist/cjs/editor/QuestEditor.js +850 -0
- package/dist/cjs/editor/QuestEditor.js.map +1 -0
- package/dist/cjs/editor/ReplaySystem.js +655 -0
- package/dist/cjs/editor/ReplaySystem.js.map +1 -0
- package/dist/cjs/editor/SceneEditor.js +33 -13
- package/dist/cjs/editor/SceneEditor.js.map +1 -1
- package/dist/cjs/editor/ScreenshotMode.js +710 -0
- package/dist/cjs/editor/ScreenshotMode.js.map +1 -0
- package/dist/cjs/editor/ShaderGraph.js +7 -6
- package/dist/cjs/editor/ShaderGraph.js.map +1 -1
- package/dist/cjs/editor/TimelineEditor.js +36 -30
- package/dist/cjs/editor/TimelineEditor.js.map +1 -1
- package/dist/cjs/editor/UndoRedoPro.js +920 -0
- package/dist/cjs/editor/UndoRedoPro.js.map +1 -0
- package/dist/cjs/editor/VRARMode.js +658 -0
- package/dist/cjs/editor/VRARMode.js.map +1 -0
- package/dist/cjs/engine/NiceGameEngine.js +12 -10
- package/dist/cjs/engine/NiceGameEngine.js.map +1 -1
- package/dist/cjs/engine/SaveSystemV2.js +73 -37
- package/dist/cjs/engine/SaveSystemV2.js.map +1 -1
- package/dist/cjs/enterprise/Enterprise.js +92 -44
- package/dist/cjs/enterprise/Enterprise.js.map +1 -1
- package/dist/cjs/export/BevyExporter.js +998 -0
- package/dist/cjs/export/BevyExporter.js.map +1 -0
- package/dist/cjs/export/CocosExporter.js +706 -0
- package/dist/cjs/export/CocosExporter.js.map +1 -0
- package/dist/cjs/export/Construct3Exporter.js +832 -0
- package/dist/cjs/export/Construct3Exporter.js.map +1 -0
- package/dist/cjs/export/DefoldExporter.js +1106 -0
- package/dist/cjs/export/DefoldExporter.js.map +1 -0
- package/dist/cjs/export/GDevelopExporter.js +748 -0
- package/dist/cjs/export/GDevelopExporter.js.map +1 -0
- package/dist/cjs/export/GameMakerExporter.js +846 -0
- package/dist/cjs/export/GameMakerExporter.js.map +1 -0
- package/dist/cjs/export/GodotExporter.js +45 -50
- package/dist/cjs/export/GodotExporter.js.map +1 -1
- package/dist/cjs/export/MinecraftBedrockExporter.js +606 -0
- package/dist/cjs/export/MinecraftBedrockExporter.js.map +1 -0
- package/dist/cjs/export/MonoGameExporter.js +1334 -0
- package/dist/cjs/export/MonoGameExporter.js.map +1 -0
- package/dist/cjs/export/Pico8Exporter.js +846 -0
- package/dist/cjs/export/Pico8Exporter.js.map +1 -0
- package/dist/cjs/export/PlatformExporter.js +4 -5
- package/dist/cjs/export/PlatformExporter.js.map +1 -1
- package/dist/cjs/export/RPGMakerExporter.js +906 -0
- package/dist/cjs/export/RPGMakerExporter.js.map +1 -0
- package/dist/cjs/export/RobloxExporter.js +943 -0
- package/dist/cjs/export/RobloxExporter.js.map +1 -0
- package/dist/cjs/export/Solar2DExporter.js +1283 -0
- package/dist/cjs/export/Solar2DExporter.js.map +1 -0
- package/dist/cjs/export/ThreeJSExporter.js +52 -55
- package/dist/cjs/export/ThreeJSExporter.js.map +1 -1
- package/dist/cjs/export/Tic80Exporter.js +1315 -0
- package/dist/cjs/export/Tic80Exporter.js.map +1 -0
- package/dist/cjs/export/UnityExporter.js +41 -56
- package/dist/cjs/export/UnityExporter.js.map +1 -1
- package/dist/cjs/export/UnrealExporter.js +962 -0
- package/dist/cjs/export/UnrealExporter.js.map +1 -0
- package/dist/cjs/export/WebExporter.js +42 -50
- package/dist/cjs/export/WebExporter.js.map +1 -1
- package/dist/cjs/export/index.js +50 -2
- package/dist/cjs/export/index.js.map +1 -1
- package/dist/cjs/godot-integration/GodotAssetLibrary.js +716 -0
- package/dist/cjs/godot-integration/GodotAssetLibrary.js.map +1 -0
- package/dist/cjs/godot-integration/GodotImport.js +1069 -0
- package/dist/cjs/godot-integration/GodotImport.js.map +1 -0
- package/dist/cjs/godot-integration/GodotLiveLink.js +962 -0
- package/dist/cjs/godot-integration/GodotLiveLink.js.map +1 -0
- package/dist/cjs/godot-integration/components/GodotProjectBrowser.js +668 -0
- package/dist/cjs/godot-integration/components/GodotProjectBrowser.js.map +1 -0
- package/dist/cjs/i18n/I18n.js +56 -30
- package/dist/cjs/i18n/I18n.js.map +1 -1
- package/dist/cjs/i18n/useTranslation.js +4 -4
- package/dist/cjs/i18n/useTranslation.js.map +1 -1
- package/dist/cjs/import/AsepriteImporter.js +15 -19
- package/dist/cjs/import/AsepriteImporter.js.map +1 -1
- package/dist/cjs/import/DragonBonesImporter.js +36 -40
- package/dist/cjs/import/DragonBonesImporter.js.map +1 -1
- package/dist/cjs/import/GameMakerImporter.js +11 -17
- package/dist/cjs/import/GameMakerImporter.js.map +1 -1
- package/dist/cjs/import/GodotSceneImporter.js +43 -29
- package/dist/cjs/import/GodotSceneImporter.js.map +1 -1
- package/dist/cjs/import/LDtkImporter.js +16 -17
- package/dist/cjs/import/LDtkImporter.js.map +1 -1
- package/dist/cjs/import/Live2DImporter.js +16 -19
- package/dist/cjs/import/Live2DImporter.js.map +1 -1
- package/dist/cjs/import/NdgFormat.js +28 -35
- package/dist/cjs/import/NdgFormat.js.map +1 -1
- package/dist/cjs/import/OgmoImporter.js +16 -18
- package/dist/cjs/import/OgmoImporter.js.map +1 -1
- package/dist/cjs/import/RPGMakerImporter.js +5 -6
- package/dist/cjs/import/RPGMakerImporter.js.map +1 -1
- package/dist/cjs/import/SceneImporter.js +23 -13
- package/dist/cjs/import/SceneImporter.js.map +1 -1
- package/dist/cjs/import/SpineImporter.js +20 -20
- package/dist/cjs/import/SpineImporter.js.map +1 -1
- package/dist/cjs/import/SpriterImporter.js +38 -46
- package/dist/cjs/import/SpriterImporter.js.map +1 -1
- package/dist/cjs/import/TiledMapImporter.js +20 -24
- package/dist/cjs/import/TiledMapImporter.js.map +1 -1
- package/dist/cjs/import/UnitySceneImporter.js +15 -15
- package/dist/cjs/import/UnitySceneImporter.js.map +1 -1
- package/dist/cjs/index.js +516 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/input/GamepadNavigation.js +82 -47
- package/dist/cjs/input/GamepadNavigation.js.map +1 -1
- package/dist/cjs/input/InputManager.js +107 -52
- package/dist/cjs/input/InputManager.js.map +1 -1
- package/dist/cjs/input/useGamepads.js +35 -29
- package/dist/cjs/input/useGamepads.js.map +1 -1
- package/dist/cjs/integration/IconSprite.js +39 -21
- package/dist/cjs/integration/IconSprite.js.map +1 -1
- package/dist/cjs/inventory/InventorySystem.js +218 -127
- package/dist/cjs/inventory/InventorySystem.js.map +1 -1
- package/dist/cjs/kids/KidMode.js +491 -78
- package/dist/cjs/kids/KidMode.js.map +1 -1
- package/dist/cjs/kids/KidTools.js +154 -48
- package/dist/cjs/kids/KidTools.js.map +1 -1
- package/dist/cjs/monetization/Monetization.js +47 -35
- package/dist/cjs/monetization/Monetization.js.map +1 -1
- package/dist/cjs/multiplayer/LocalMultiplayer.js +48 -26
- package/dist/cjs/multiplayer/LocalMultiplayer.js.map +1 -1
- package/dist/cjs/multiplayer/MiniGameTypes.js +23 -10
- package/dist/cjs/multiplayer/MiniGameTypes.js.map +1 -1
- package/dist/cjs/native-engine/AssetPipeline.js +540 -0
- package/dist/cjs/native-engine/AssetPipeline.js.map +1 -0
- package/dist/cjs/native-engine/AudioEngine.js +825 -0
- package/dist/cjs/native-engine/AudioEngine.js.map +1 -0
- package/dist/cjs/native-engine/InputSystem.js +1175 -0
- package/dist/cjs/native-engine/InputSystem.js.map +1 -0
- package/dist/cjs/native-engine/NetworkingSystem.js +825 -0
- package/dist/cjs/native-engine/NetworkingSystem.js.map +1 -0
- package/dist/cjs/native-engine/PhysicsEngine.js +622 -0
- package/dist/cjs/native-engine/PhysicsEngine.js.map +1 -0
- package/dist/cjs/native-engine/RenderingEngine.js +371 -0
- package/dist/cjs/native-engine/RenderingEngine.js.map +1 -0
- package/dist/cjs/native-engine/SceneGraph.js +862 -0
- package/dist/cjs/native-engine/SceneGraph.js.map +1 -0
- package/dist/cjs/network/MultiplayerTransport.js +63 -33
- package/dist/cjs/network/MultiplayerTransport.js.map +1 -1
- package/dist/cjs/network/Networking.js +87 -62
- package/dist/cjs/network/Networking.js.map +1 -1
- package/dist/cjs/pathfinding/Pathfinding.js +71 -26
- package/dist/cjs/pathfinding/Pathfinding.js.map +1 -1
- package/dist/cjs/performance/AssetStreaming.js +656 -0
- package/dist/cjs/performance/AssetStreaming.js.map +1 -0
- package/dist/cjs/performance/BenchmarkSuite.js +37 -24
- package/dist/cjs/performance/BenchmarkSuite.js.map +1 -1
- package/dist/cjs/performance/DeltaCompression.js +566 -0
- package/dist/cjs/performance/DeltaCompression.js.map +1 -0
- package/dist/cjs/performance/DeterministicPhysics.js +603 -0
- package/dist/cjs/performance/DeterministicPhysics.js.map +1 -0
- package/dist/cjs/performance/ECSOptimization.js +726 -0
- package/dist/cjs/performance/ECSOptimization.js.map +1 -0
- package/dist/cjs/performance/HotReload.js +525 -0
- package/dist/cjs/performance/HotReload.js.map +1 -0
- package/dist/cjs/performance/InputRecording.js +590 -0
- package/dist/cjs/performance/InputRecording.js.map +1 -0
- package/dist/cjs/performance/InterestManagement.js +532 -0
- package/dist/cjs/performance/InterestManagement.js.map +1 -0
- package/dist/cjs/performance/LocalizationRuntime.js +472 -0
- package/dist/cjs/performance/LocalizationRuntime.js.map +1 -0
- package/dist/cjs/performance/MemoryManagement.js +487 -0
- package/dist/cjs/performance/MemoryManagement.js.map +1 -0
- package/dist/cjs/performance/ModSupport.js +531 -0
- package/dist/cjs/performance/ModSupport.js.map +1 -0
- package/dist/cjs/performance/MultiThreadedPhysics.js +500 -0
- package/dist/cjs/performance/MultiThreadedPhysics.js.map +1 -0
- package/dist/cjs/performance/NetworkPrediction.js +521 -0
- package/dist/cjs/performance/NetworkPrediction.js.map +1 -0
- package/dist/cjs/performance/ObjectPooling.js +653 -0
- package/dist/cjs/performance/ObjectPooling.js.map +1 -0
- package/dist/cjs/performance/Performance.js +64 -25
- package/dist/cjs/performance/Performance.js.map +1 -1
- package/dist/cjs/performance/PerformanceAdvanced.js +83 -49
- package/dist/cjs/performance/PerformanceAdvanced.js.map +1 -1
- package/dist/cjs/performance/SaveSystem.js +574 -0
- package/dist/cjs/performance/SaveSystem.js.map +1 -0
- package/dist/cjs/performance/WebGPURenderer.js +702 -0
- package/dist/cjs/performance/WebGPURenderer.js.map +1 -0
- package/dist/cjs/physics/PhysicsAdvanced.js +32 -20
- package/dist/cjs/physics/PhysicsAdvanced.js.map +1 -1
- package/dist/cjs/physics/PhysicsEngine2D.js +63 -36
- package/dist/cjs/physics/PhysicsEngine2D.js.map +1 -1
- package/dist/cjs/plugins/PluginSDK.js +46 -34
- package/dist/cjs/plugins/PluginSDK.js.map +1 -1
- package/dist/cjs/plugins/PluginTestKit.js +28 -29
- package/dist/cjs/plugins/PluginTestKit.js.map +1 -1
- package/dist/cjs/procedural/Procedural.js +24 -17
- package/dist/cjs/procedural/Procedural.js.map +1 -1
- package/dist/cjs/procedural/WorldBuilding.js +187 -55
- package/dist/cjs/procedural/WorldBuilding.js.map +1 -1
- package/dist/cjs/quest/QuestSystem.js +145 -111
- package/dist/cjs/quest/QuestSystem.js.map +1 -1
- package/dist/cjs/release/Release.js +142 -31
- package/dist/cjs/release/Release.js.map +1 -1
- package/dist/cjs/rendering/Camera2D.js +12 -7
- package/dist/cjs/rendering/Camera2D.js.map +1 -1
- package/dist/cjs/rendering/Renderer2D.js +62 -26
- package/dist/cjs/rendering/Renderer2D.js.map +1 -1
- package/dist/cjs/rendering/WebGPURenderPipeline.js +60 -31
- package/dist/cjs/rendering/WebGPURenderPipeline.js.map +1 -1
- package/dist/cjs/runtime3d/Runtime3D.js +80 -55
- package/dist/cjs/runtime3d/Runtime3D.js.map +1 -1
- package/dist/cjs/runtime3d/SceneEditor3D.js +20 -11
- package/dist/cjs/runtime3d/SceneEditor3D.js.map +1 -1
- package/dist/cjs/scene/SceneManager.js +26 -12
- package/dist/cjs/scene/SceneManager.js.map +1 -1
- package/dist/cjs/scripting/GraphToAST.js +36 -24
- package/dist/cjs/scripting/GraphToAST.js.map +1 -1
- package/dist/cjs/scripting/LanguageExporter.js +2 -3
- package/dist/cjs/scripting/LanguageExporter.js.map +1 -1
- package/dist/cjs/scripting/NodeGraph.js +49 -32
- package/dist/cjs/scripting/NodeGraph.js.map +1 -1
- package/dist/cjs/scripting/ScriptAST.js +19 -6
- package/dist/cjs/scripting/ScriptAST.js.map +1 -1
- package/dist/cjs/scripting/VisualScripting2.js +13 -12
- package/dist/cjs/scripting/VisualScripting2.js.map +1 -1
- package/dist/cjs/scripting/exporters/CSharpExporter.js +16 -16
- package/dist/cjs/scripting/exporters/CSharpExporter.js.map +1 -1
- package/dist/cjs/scripting/exporters/GDScriptExporter.js +3 -6
- package/dist/cjs/scripting/exporters/GDScriptExporter.js.map +1 -1
- package/dist/cjs/scripting/exporters/LuaExporter.js +5 -9
- package/dist/cjs/scripting/exporters/LuaExporter.js.map +1 -1
- package/dist/cjs/scripting/exporters/PythonExporter.js +7 -13
- package/dist/cjs/scripting/exporters/PythonExporter.js.map +1 -1
- package/dist/cjs/scripting/exporters/RustExporter.js +7 -14
- package/dist/cjs/scripting/exporters/RustExporter.js.map +1 -1
- package/dist/cjs/scripting/exporters/TypeScriptExporter.js +28 -29
- package/dist/cjs/scripting/exporters/TypeScriptExporter.js.map +1 -1
- package/dist/cjs/social/Social.js +27 -20
- package/dist/cjs/social/Social.js.map +1 -1
- package/dist/cjs/systems/LightingSystem.js +980 -0
- package/dist/cjs/systems/LightingSystem.js.map +1 -0
- package/dist/cjs/systems/ParticleSystem2.js +34 -17
- package/dist/cjs/systems/ParticleSystem2.js.map +1 -1
- package/dist/cjs/systems/PhysicsDebugSystem.js +1228 -0
- package/dist/cjs/systems/PhysicsDebugSystem.js.map +1 -0
- package/dist/cjs/systems/TerrainSystem.js +1137 -0
- package/dist/cjs/systems/TerrainSystem.js.map +1 -0
- package/dist/cjs/templates/ActionTemplates.js +144 -24
- package/dist/cjs/templates/ActionTemplates.js.map +1 -1
- package/dist/cjs/templates/FightingTemplate.js +536 -0
- package/dist/cjs/templates/FightingTemplate.js.map +1 -0
- package/dist/cjs/templates/MetroidvaniaTemplate.js +523 -0
- package/dist/cjs/templates/MetroidvaniaTemplate.js.map +1 -0
- package/dist/cjs/templates/PartyTemplates.js +60 -28
- package/dist/cjs/templates/PartyTemplates.js.map +1 -1
- package/dist/cjs/templates/PuzzleTemplates.js +63 -22
- package/dist/cjs/templates/PuzzleTemplates.js.map +1 -1
- package/dist/cjs/templates/RPGTemplates.js +29 -15
- package/dist/cjs/templates/RPGTemplates.js.map +1 -1
- package/dist/cjs/templates/SportsTemplates.js +41 -17
- package/dist/cjs/templates/SportsTemplates.js.map +1 -1
- package/dist/cjs/templates/StrategyTemplates.js +45 -18
- package/dist/cjs/templates/StrategyTemplates.js.map +1 -1
- package/dist/cjs/templates/SurvivalTemplate.js +479 -0
- package/dist/cjs/templates/SurvivalTemplate.js.map +1 -0
- package/dist/cjs/templates/WaveDefense.js +139 -52
- package/dist/cjs/templates/WaveDefense.js.map +1 -1
- package/dist/cjs/tilemap/Tilemap.js +48 -32
- package/dist/cjs/tilemap/Tilemap.js.map +1 -1
- package/dist/cjs/tutorials/TutorialBranching.js +111 -42
- package/dist/cjs/tutorials/TutorialBranching.js.map +1 -1
- package/dist/cjs/tutorials/TutorialEngine.js +152 -80
- package/dist/cjs/tutorials/TutorialEngine.js.map +1 -1
- package/dist/cjs/tutorials/TutorialOverlay.js +117 -40
- package/dist/cjs/tutorials/TutorialOverlay.js.map +1 -1
- package/dist/cjs/ui/GameUI.js +69 -42
- package/dist/cjs/ui/GameUI.js.map +1 -1
- package/dist/cjs/unity-integration/UnityAssetStore.js +754 -0
- package/dist/cjs/unity-integration/UnityAssetStore.js.map +1 -0
- package/dist/cjs/unity-integration/UnityImport.js +1252 -0
- package/dist/cjs/unity-integration/UnityImport.js.map +1 -0
- package/dist/cjs/unity-integration/UnityLiveLink.js +1022 -0
- package/dist/cjs/unity-integration/UnityLiveLink.js.map +1 -0
- package/dist/cjs/unity-integration/components/UnityAssetStoreBrowser.js +796 -0
- package/dist/cjs/unity-integration/components/UnityAssetStoreBrowser.js.map +1 -0
- package/dist/cjs/unity-integration/components/UnityProjectBrowser.js +833 -0
- package/dist/cjs/unity-integration/components/UnityProjectBrowser.js.map +1 -0
- package/dist/cjs/unreal-integration/UnrealImport.js +442 -0
- package/dist/cjs/unreal-integration/UnrealImport.js.map +1 -0
- package/dist/cjs/unreal-integration/UnrealLiveLink.js +1186 -0
- package/dist/cjs/unreal-integration/UnrealLiveLink.js.map +1 -0
- package/dist/cjs/unreal-integration/UnrealMarketplace.js +497 -0
- package/dist/cjs/unreal-integration/UnrealMarketplace.js.map +1 -0
- package/dist/cjs/unreal-integration/components/UnrealProjectBrowser.js +835 -0
- package/dist/cjs/unreal-integration/components/UnrealProjectBrowser.js.map +1 -0
- package/dist/cjs/xr/ARVR.js +32 -9
- package/dist/cjs/xr/ARVR.js.map +1 -1
- package/dist/esm/accessibility/Accessibility.js +55 -20
- package/dist/esm/accessibility/Accessibility.js.map +1 -1
- package/dist/esm/ai/AI.js +74 -40
- package/dist/esm/ai/AI.js.map +1 -1
- package/dist/esm/ai/BehaviorTree.js +39 -47
- package/dist/esm/ai/BehaviorTree.js.map +1 -1
- package/dist/esm/ai/StateMachine.js +65 -99
- package/dist/esm/ai/StateMachine.js.map +1 -1
- package/dist/esm/animation/Animation.js +58 -34
- package/dist/esm/animation/Animation.js.map +1 -1
- package/dist/esm/audio/AudioAdvanced.js +71 -37
- package/dist/esm/audio/AudioAdvanced.js.map +1 -1
- package/dist/esm/audio/AudioBridge.js +61 -49
- package/dist/esm/audio/AudioBridge.js.map +1 -1
- package/dist/esm/audio/AudioManager.js +45 -29
- package/dist/esm/audio/AudioManager.js.map +1 -1
- package/dist/esm/build-cloud/BuildOrchestration.js +1129 -0
- package/dist/esm/build-cloud/BuildOrchestration.js.map +1 -0
- package/dist/esm/build-cloud/GodotBuildCloud.js +715 -0
- package/dist/esm/build-cloud/GodotBuildCloud.js.map +1 -0
- package/dist/esm/build-cloud/UnityBuildCloud.js +643 -0
- package/dist/esm/build-cloud/UnityBuildCloud.js.map +1 -0
- package/dist/esm/build-cloud/UnrealBuildCloud.js +668 -0
- package/dist/esm/build-cloud/UnrealBuildCloud.js.map +1 -0
- package/dist/esm/core/EventBus.js +2 -1
- package/dist/esm/core/EventBus.js.map +1 -1
- package/dist/esm/core/GameConfig.js +1 -1
- package/dist/esm/core/GameConfig.js.map +1 -1
- package/dist/esm/core/GameLoop.js +6 -3
- package/dist/esm/core/GameLoop.js.map +1 -1
- package/dist/esm/core/ServiceLocator.js +1 -2
- package/dist/esm/core/ServiceLocator.js.map +1 -1
- package/dist/esm/devtools/DevTools.js +73 -43
- package/dist/esm/devtools/DevTools.js.map +1 -1
- package/dist/esm/devtools/DeveloperExperience.js +84 -42
- package/dist/esm/devtools/DeveloperExperience.js.map +1 -1
- package/dist/esm/devtools/GameplayAnalytics.js +71 -43
- package/dist/esm/devtools/GameplayAnalytics.js.map +1 -1
- package/dist/esm/dialogue/DialogueSystem.js +153 -129
- package/dist/esm/dialogue/DialogueSystem.js.map +1 -1
- package/dist/esm/docs/DocGenerator.js +70 -28
- package/dist/esm/docs/DocGenerator.js.map +1 -1
- package/dist/esm/ecs/World.js +159 -33
- package/dist/esm/ecs/World.js.map +1 -1
- package/dist/esm/editor/AchievementEditor.js +645 -0
- package/dist/esm/editor/AchievementEditor.js.map +1 -0
- package/dist/esm/editor/AdvancedEditor.js +95 -23
- package/dist/esm/editor/AdvancedEditor.js.map +1 -1
- package/dist/esm/editor/AnimationRetargeting.js +738 -0
- package/dist/esm/editor/AnimationRetargeting.js.map +1 -0
- package/dist/esm/editor/AssetBrowser.js +1184 -0
- package/dist/esm/editor/AssetBrowser.js.map +1 -0
- package/dist/esm/editor/AssetManager.js +22 -14
- package/dist/esm/editor/AssetManager.js.map +1 -1
- package/dist/esm/editor/ConsolePro.js +1085 -0
- package/dist/esm/editor/ConsolePro.js.map +1 -0
- package/dist/esm/editor/CraftingEditor.js +744 -0
- package/dist/esm/editor/CraftingEditor.js.map +1 -0
- package/dist/esm/editor/DebugTools.js +46 -23
- package/dist/esm/editor/DebugTools.js.map +1 -1
- package/dist/esm/editor/DialogueSystem.js +918 -0
- package/dist/esm/editor/DialogueSystem.js.map +1 -0
- package/dist/esm/editor/LeaderboardSystem.js +491 -0
- package/dist/esm/editor/LeaderboardSystem.js.map +1 -0
- package/dist/esm/editor/NiceGameEditor.js +532 -142
- package/dist/esm/editor/NiceGameEditor.js.map +1 -1
- package/dist/esm/editor/PrefabSystem.js +858 -0
- package/dist/esm/editor/PrefabSystem.js.map +1 -0
- package/dist/esm/editor/ProfilerPanel.js +710 -0
- package/dist/esm/editor/ProfilerPanel.js.map +1 -0
- package/dist/esm/editor/QuestEditor.js +846 -0
- package/dist/esm/editor/QuestEditor.js.map +1 -0
- package/dist/esm/editor/ReplaySystem.js +648 -0
- package/dist/esm/editor/ReplaySystem.js.map +1 -0
- package/dist/esm/editor/SceneEditor.js +33 -13
- package/dist/esm/editor/SceneEditor.js.map +1 -1
- package/dist/esm/editor/ScreenshotMode.js +702 -0
- package/dist/esm/editor/ScreenshotMode.js.map +1 -0
- package/dist/esm/editor/ShaderGraph.js +7 -6
- package/dist/esm/editor/ShaderGraph.js.map +1 -1
- package/dist/esm/editor/TimelineEditor.js +37 -30
- package/dist/esm/editor/TimelineEditor.js.map +1 -1
- package/dist/esm/editor/UndoRedoPro.js +914 -0
- package/dist/esm/editor/UndoRedoPro.js.map +1 -0
- package/dist/esm/editor/VRARMode.js +653 -0
- package/dist/esm/editor/VRARMode.js.map +1 -0
- package/dist/esm/engine/NiceGameEngine.js +12 -10
- package/dist/esm/engine/NiceGameEngine.js.map +1 -1
- package/dist/esm/engine/SaveSystemV2.js +73 -37
- package/dist/esm/engine/SaveSystemV2.js.map +1 -1
- package/dist/esm/enterprise/Enterprise.js +92 -44
- package/dist/esm/enterprise/Enterprise.js.map +1 -1
- package/dist/esm/export/BevyExporter.js +995 -0
- package/dist/esm/export/BevyExporter.js.map +1 -0
- package/dist/esm/export/CocosExporter.js +703 -0
- package/dist/esm/export/CocosExporter.js.map +1 -0
- package/dist/esm/export/Construct3Exporter.js +829 -0
- package/dist/esm/export/Construct3Exporter.js.map +1 -0
- package/dist/esm/export/DefoldExporter.js +1103 -0
- package/dist/esm/export/DefoldExporter.js.map +1 -0
- package/dist/esm/export/GDevelopExporter.js +745 -0
- package/dist/esm/export/GDevelopExporter.js.map +1 -0
- package/dist/esm/export/GameMakerExporter.js +843 -0
- package/dist/esm/export/GameMakerExporter.js.map +1 -0
- package/dist/esm/export/GodotExporter.js +45 -50
- package/dist/esm/export/GodotExporter.js.map +1 -1
- package/dist/esm/export/MinecraftBedrockExporter.js +603 -0
- package/dist/esm/export/MinecraftBedrockExporter.js.map +1 -0
- package/dist/esm/export/MonoGameExporter.js +1331 -0
- package/dist/esm/export/MonoGameExporter.js.map +1 -0
- package/dist/esm/export/Pico8Exporter.js +843 -0
- package/dist/esm/export/Pico8Exporter.js.map +1 -0
- package/dist/esm/export/PlatformExporter.js +4 -5
- package/dist/esm/export/PlatformExporter.js.map +1 -1
- package/dist/esm/export/RPGMakerExporter.js +903 -0
- package/dist/esm/export/RPGMakerExporter.js.map +1 -0
- package/dist/esm/export/RobloxExporter.js +940 -0
- package/dist/esm/export/RobloxExporter.js.map +1 -0
- package/dist/esm/export/Solar2DExporter.js +1280 -0
- package/dist/esm/export/Solar2DExporter.js.map +1 -0
- package/dist/esm/export/ThreeJSExporter.js +52 -55
- package/dist/esm/export/ThreeJSExporter.js.map +1 -1
- package/dist/esm/export/Tic80Exporter.js +1312 -0
- package/dist/esm/export/Tic80Exporter.js.map +1 -0
- package/dist/esm/export/UnityExporter.js +41 -56
- package/dist/esm/export/UnityExporter.js.map +1 -1
- package/dist/esm/export/UnrealExporter.js +959 -0
- package/dist/esm/export/UnrealExporter.js.map +1 -0
- package/dist/esm/export/WebExporter.js +42 -50
- package/dist/esm/export/WebExporter.js.map +1 -1
- package/dist/esm/export/index.js +38 -2
- package/dist/esm/export/index.js.map +1 -1
- package/dist/esm/godot-integration/GodotAssetLibrary.js +711 -0
- package/dist/esm/godot-integration/GodotAssetLibrary.js.map +1 -0
- package/dist/esm/godot-integration/GodotImport.js +1062 -0
- package/dist/esm/godot-integration/GodotImport.js.map +1 -0
- package/dist/esm/godot-integration/GodotLiveLink.js +958 -0
- package/dist/esm/godot-integration/GodotLiveLink.js.map +1 -0
- package/dist/esm/godot-integration/components/GodotProjectBrowser.js +666 -0
- package/dist/esm/godot-integration/components/GodotProjectBrowser.js.map +1 -0
- package/dist/esm/i18n/I18n.js +56 -30
- package/dist/esm/i18n/I18n.js.map +1 -1
- package/dist/esm/i18n/useTranslation.js +4 -4
- package/dist/esm/i18n/useTranslation.js.map +1 -1
- package/dist/esm/import/AsepriteImporter.js +15 -19
- package/dist/esm/import/AsepriteImporter.js.map +1 -1
- package/dist/esm/import/DragonBonesImporter.js +36 -40
- package/dist/esm/import/DragonBonesImporter.js.map +1 -1
- package/dist/esm/import/GameMakerImporter.js +11 -17
- package/dist/esm/import/GameMakerImporter.js.map +1 -1
- package/dist/esm/import/GodotSceneImporter.js +43 -29
- package/dist/esm/import/GodotSceneImporter.js.map +1 -1
- package/dist/esm/import/LDtkImporter.js +16 -17
- package/dist/esm/import/LDtkImporter.js.map +1 -1
- package/dist/esm/import/Live2DImporter.js +16 -19
- package/dist/esm/import/Live2DImporter.js.map +1 -1
- package/dist/esm/import/NdgFormat.js +28 -35
- package/dist/esm/import/NdgFormat.js.map +1 -1
- package/dist/esm/import/OgmoImporter.js +16 -18
- package/dist/esm/import/OgmoImporter.js.map +1 -1
- package/dist/esm/import/RPGMakerImporter.js +5 -6
- package/dist/esm/import/RPGMakerImporter.js.map +1 -1
- package/dist/esm/import/SceneImporter.js +23 -13
- package/dist/esm/import/SceneImporter.js.map +1 -1
- package/dist/esm/import/SpineImporter.js +20 -20
- package/dist/esm/import/SpineImporter.js.map +1 -1
- package/dist/esm/import/SpriterImporter.js +38 -46
- package/dist/esm/import/SpriterImporter.js.map +1 -1
- package/dist/esm/import/TiledMapImporter.js +20 -24
- package/dist/esm/import/TiledMapImporter.js.map +1 -1
- package/dist/esm/import/UnitySceneImporter.js +15 -15
- package/dist/esm/import/UnitySceneImporter.js.map +1 -1
- package/dist/esm/index.js +76 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/input/GamepadNavigation.js +82 -47
- package/dist/esm/input/GamepadNavigation.js.map +1 -1
- package/dist/esm/input/InputManager.js +107 -52
- package/dist/esm/input/InputManager.js.map +1 -1
- package/dist/esm/input/useGamepads.js +35 -29
- package/dist/esm/input/useGamepads.js.map +1 -1
- package/dist/esm/integration/IconSprite.js +39 -21
- package/dist/esm/integration/IconSprite.js.map +1 -1
- package/dist/esm/inventory/InventorySystem.js +218 -127
- package/dist/esm/inventory/InventorySystem.js.map +1 -1
- package/dist/esm/kids/KidMode.js +491 -78
- package/dist/esm/kids/KidMode.js.map +1 -1
- package/dist/esm/kids/KidTools.js +154 -48
- package/dist/esm/kids/KidTools.js.map +1 -1
- package/dist/esm/monetization/Monetization.js +47 -35
- package/dist/esm/monetization/Monetization.js.map +1 -1
- package/dist/esm/multiplayer/LocalMultiplayer.js +48 -26
- package/dist/esm/multiplayer/LocalMultiplayer.js.map +1 -1
- package/dist/esm/multiplayer/MiniGameTypes.js +23 -10
- package/dist/esm/multiplayer/MiniGameTypes.js.map +1 -1
- package/dist/esm/native-engine/AssetPipeline.js +537 -0
- package/dist/esm/native-engine/AssetPipeline.js.map +1 -0
- package/dist/esm/native-engine/AudioEngine.js +822 -0
- package/dist/esm/native-engine/AudioEngine.js.map +1 -0
- package/dist/esm/native-engine/InputSystem.js +1170 -0
- package/dist/esm/native-engine/InputSystem.js.map +1 -0
- package/dist/esm/native-engine/NetworkingSystem.js +817 -0
- package/dist/esm/native-engine/NetworkingSystem.js.map +1 -0
- package/dist/esm/native-engine/PhysicsEngine.js +619 -0
- package/dist/esm/native-engine/PhysicsEngine.js.map +1 -0
- package/dist/esm/native-engine/RenderingEngine.js +368 -0
- package/dist/esm/native-engine/RenderingEngine.js.map +1 -0
- package/dist/esm/native-engine/SceneGraph.js +857 -0
- package/dist/esm/native-engine/SceneGraph.js.map +1 -0
- package/dist/esm/network/MultiplayerTransport.js +63 -33
- package/dist/esm/network/MultiplayerTransport.js.map +1 -1
- package/dist/esm/network/Networking.js +87 -62
- package/dist/esm/network/Networking.js.map +1 -1
- package/dist/esm/pathfinding/Pathfinding.js +71 -26
- package/dist/esm/pathfinding/Pathfinding.js.map +1 -1
- package/dist/esm/performance/AssetStreaming.js +649 -0
- package/dist/esm/performance/AssetStreaming.js.map +1 -0
- package/dist/esm/performance/BenchmarkSuite.js +37 -24
- package/dist/esm/performance/BenchmarkSuite.js.map +1 -1
- package/dist/esm/performance/DeltaCompression.js +554 -0
- package/dist/esm/performance/DeltaCompression.js.map +1 -0
- package/dist/esm/performance/DeterministicPhysics.js +573 -0
- package/dist/esm/performance/DeterministicPhysics.js.map +1 -0
- package/dist/esm/performance/ECSOptimization.js +716 -0
- package/dist/esm/performance/ECSOptimization.js.map +1 -0
- package/dist/esm/performance/HotReload.js +517 -0
- package/dist/esm/performance/HotReload.js.map +1 -0
- package/dist/esm/performance/InputRecording.js +580 -0
- package/dist/esm/performance/InputRecording.js.map +1 -0
- package/dist/esm/performance/InterestManagement.js +524 -0
- package/dist/esm/performance/InterestManagement.js.map +1 -0
- package/dist/esm/performance/LocalizationRuntime.js +465 -0
- package/dist/esm/performance/LocalizationRuntime.js.map +1 -0
- package/dist/esm/performance/MemoryManagement.js +481 -0
- package/dist/esm/performance/MemoryManagement.js.map +1 -0
- package/dist/esm/performance/ModSupport.js +520 -0
- package/dist/esm/performance/ModSupport.js.map +1 -0
- package/dist/esm/performance/MultiThreadedPhysics.js +491 -0
- package/dist/esm/performance/MultiThreadedPhysics.js.map +1 -0
- package/dist/esm/performance/NetworkPrediction.js +508 -0
- package/dist/esm/performance/NetworkPrediction.js.map +1 -0
- package/dist/esm/performance/ObjectPooling.js +639 -0
- package/dist/esm/performance/ObjectPooling.js.map +1 -0
- package/dist/esm/performance/Performance.js +64 -25
- package/dist/esm/performance/Performance.js.map +1 -1
- package/dist/esm/performance/PerformanceAdvanced.js +83 -49
- package/dist/esm/performance/PerformanceAdvanced.js.map +1 -1
- package/dist/esm/performance/SaveSystem.js +567 -0
- package/dist/esm/performance/SaveSystem.js.map +1 -0
- package/dist/esm/performance/WebGPURenderer.js +697 -0
- package/dist/esm/performance/WebGPURenderer.js.map +1 -0
- package/dist/esm/physics/PhysicsAdvanced.js +32 -20
- package/dist/esm/physics/PhysicsAdvanced.js.map +1 -1
- package/dist/esm/physics/PhysicsEngine2D.js +63 -36
- package/dist/esm/physics/PhysicsEngine2D.js.map +1 -1
- package/dist/esm/plugins/PluginSDK.js +46 -34
- package/dist/esm/plugins/PluginSDK.js.map +1 -1
- package/dist/esm/plugins/PluginTestKit.js +28 -29
- package/dist/esm/plugins/PluginTestKit.js.map +1 -1
- package/dist/esm/procedural/Procedural.js +24 -17
- package/dist/esm/procedural/Procedural.js.map +1 -1
- package/dist/esm/procedural/WorldBuilding.js +188 -55
- package/dist/esm/procedural/WorldBuilding.js.map +1 -1
- package/dist/esm/quest/QuestSystem.js +145 -111
- package/dist/esm/quest/QuestSystem.js.map +1 -1
- package/dist/esm/release/Release.js +142 -31
- package/dist/esm/release/Release.js.map +1 -1
- package/dist/esm/rendering/Camera2D.js +12 -7
- package/dist/esm/rendering/Camera2D.js.map +1 -1
- package/dist/esm/rendering/Renderer2D.js +62 -26
- package/dist/esm/rendering/Renderer2D.js.map +1 -1
- package/dist/esm/rendering/WebGPURenderPipeline.js +60 -31
- package/dist/esm/rendering/WebGPURenderPipeline.js.map +1 -1
- package/dist/esm/runtime3d/Runtime3D.js +80 -55
- package/dist/esm/runtime3d/Runtime3D.js.map +1 -1
- package/dist/esm/runtime3d/SceneEditor3D.js +20 -11
- package/dist/esm/runtime3d/SceneEditor3D.js.map +1 -1
- package/dist/esm/scene/SceneManager.js +26 -12
- package/dist/esm/scene/SceneManager.js.map +1 -1
- package/dist/esm/scripting/GraphToAST.js +36 -24
- package/dist/esm/scripting/GraphToAST.js.map +1 -1
- package/dist/esm/scripting/LanguageExporter.js +2 -3
- package/dist/esm/scripting/LanguageExporter.js.map +1 -1
- package/dist/esm/scripting/NodeGraph.js +49 -32
- package/dist/esm/scripting/NodeGraph.js.map +1 -1
- package/dist/esm/scripting/ScriptAST.js +19 -6
- package/dist/esm/scripting/ScriptAST.js.map +1 -1
- package/dist/esm/scripting/VisualScripting2.js +13 -12
- package/dist/esm/scripting/VisualScripting2.js.map +1 -1
- package/dist/esm/scripting/exporters/CSharpExporter.js +16 -16
- package/dist/esm/scripting/exporters/CSharpExporter.js.map +1 -1
- package/dist/esm/scripting/exporters/GDScriptExporter.js +3 -6
- package/dist/esm/scripting/exporters/GDScriptExporter.js.map +1 -1
- package/dist/esm/scripting/exporters/LuaExporter.js +5 -9
- package/dist/esm/scripting/exporters/LuaExporter.js.map +1 -1
- package/dist/esm/scripting/exporters/PythonExporter.js +7 -13
- package/dist/esm/scripting/exporters/PythonExporter.js.map +1 -1
- package/dist/esm/scripting/exporters/RustExporter.js +7 -14
- package/dist/esm/scripting/exporters/RustExporter.js.map +1 -1
- package/dist/esm/scripting/exporters/TypeScriptExporter.js +28 -29
- package/dist/esm/scripting/exporters/TypeScriptExporter.js.map +1 -1
- package/dist/esm/social/Social.js +27 -20
- package/dist/esm/social/Social.js.map +1 -1
- package/dist/esm/systems/LightingSystem.js +968 -0
- package/dist/esm/systems/LightingSystem.js.map +1 -0
- package/dist/esm/systems/ParticleSystem2.js +34 -17
- package/dist/esm/systems/ParticleSystem2.js.map +1 -1
- package/dist/esm/systems/PhysicsDebugSystem.js +1219 -0
- package/dist/esm/systems/PhysicsDebugSystem.js.map +1 -0
- package/dist/esm/systems/TerrainSystem.js +1125 -0
- package/dist/esm/systems/TerrainSystem.js.map +1 -0
- package/dist/esm/templates/ActionTemplates.js +144 -24
- package/dist/esm/templates/ActionTemplates.js.map +1 -1
- package/dist/esm/templates/FightingTemplate.js +513 -0
- package/dist/esm/templates/FightingTemplate.js.map +1 -0
- package/dist/esm/templates/MetroidvaniaTemplate.js +484 -0
- package/dist/esm/templates/MetroidvaniaTemplate.js.map +1 -0
- package/dist/esm/templates/PartyTemplates.js +60 -28
- package/dist/esm/templates/PartyTemplates.js.map +1 -1
- package/dist/esm/templates/PuzzleTemplates.js +63 -22
- package/dist/esm/templates/PuzzleTemplates.js.map +1 -1
- package/dist/esm/templates/RPGTemplates.js +29 -15
- package/dist/esm/templates/RPGTemplates.js.map +1 -1
- package/dist/esm/templates/SportsTemplates.js +41 -17
- package/dist/esm/templates/SportsTemplates.js.map +1 -1
- package/dist/esm/templates/StrategyTemplates.js +45 -18
- package/dist/esm/templates/StrategyTemplates.js.map +1 -1
- package/dist/esm/templates/SurvivalTemplate.js +447 -0
- package/dist/esm/templates/SurvivalTemplate.js.map +1 -0
- package/dist/esm/templates/WaveDefense.js +139 -52
- package/dist/esm/templates/WaveDefense.js.map +1 -1
- package/dist/esm/tilemap/Tilemap.js +48 -32
- package/dist/esm/tilemap/Tilemap.js.map +1 -1
- package/dist/esm/tutorials/TutorialBranching.js +111 -42
- package/dist/esm/tutorials/TutorialBranching.js.map +1 -1
- package/dist/esm/tutorials/TutorialEngine.js +152 -80
- package/dist/esm/tutorials/TutorialEngine.js.map +1 -1
- package/dist/esm/tutorials/TutorialOverlay.js +117 -40
- package/dist/esm/tutorials/TutorialOverlay.js.map +1 -1
- package/dist/esm/ui/GameUI.js +69 -42
- package/dist/esm/ui/GameUI.js.map +1 -1
- package/dist/esm/unity-integration/UnityAssetStore.js +749 -0
- package/dist/esm/unity-integration/UnityAssetStore.js.map +1 -0
- package/dist/esm/unity-integration/UnityImport.js +1246 -0
- package/dist/esm/unity-integration/UnityImport.js.map +1 -0
- package/dist/esm/unity-integration/UnityLiveLink.js +1017 -0
- package/dist/esm/unity-integration/UnityLiveLink.js.map +1 -0
- package/dist/esm/unity-integration/components/UnityAssetStoreBrowser.js +794 -0
- package/dist/esm/unity-integration/components/UnityAssetStoreBrowser.js.map +1 -0
- package/dist/esm/unity-integration/components/UnityProjectBrowser.js +831 -0
- package/dist/esm/unity-integration/components/UnityProjectBrowser.js.map +1 -0
- package/dist/esm/unreal-integration/UnrealImport.js +437 -0
- package/dist/esm/unreal-integration/UnrealImport.js.map +1 -0
- package/dist/esm/unreal-integration/UnrealLiveLink.js +1182 -0
- package/dist/esm/unreal-integration/UnrealLiveLink.js.map +1 -0
- package/dist/esm/unreal-integration/UnrealMarketplace.js +490 -0
- package/dist/esm/unreal-integration/UnrealMarketplace.js.map +1 -0
- package/dist/esm/unreal-integration/components/UnrealProjectBrowser.js +833 -0
- package/dist/esm/unreal-integration/components/UnrealProjectBrowser.js.map +1 -0
- package/dist/esm/xr/ARVR.js +32 -9
- package/dist/esm/xr/ARVR.js.map +1 -1
- package/package.json +6 -5
|
@@ -33,11 +33,51 @@ const DEFAULT_WAVE_DEFENSE_CONFIG = {
|
|
|
33
33
|
spawnInterval: [0.3, 0.8],
|
|
34
34
|
},
|
|
35
35
|
upgrades: [
|
|
36
|
-
{
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
36
|
+
{
|
|
37
|
+
id: 'speed',
|
|
38
|
+
name: 'Speed',
|
|
39
|
+
description: '+15% move speed',
|
|
40
|
+
cost: 50,
|
|
41
|
+
costGrowth: 1.5,
|
|
42
|
+
maxLevel: 5,
|
|
43
|
+
effect: { type: 'speed', bonus: 0.15 },
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
id: 'firerate',
|
|
47
|
+
name: 'Fire Rate',
|
|
48
|
+
description: '+20% attack speed',
|
|
49
|
+
cost: 75,
|
|
50
|
+
costGrowth: 1.5,
|
|
51
|
+
maxLevel: 5,
|
|
52
|
+
effect: { type: 'firerate', bonus: 0.2 },
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
id: 'damage',
|
|
56
|
+
name: 'Damage',
|
|
57
|
+
description: '+1 damage',
|
|
58
|
+
cost: 100,
|
|
59
|
+
costGrowth: 1.8,
|
|
60
|
+
maxLevel: 10,
|
|
61
|
+
effect: { type: 'damage', bonus: 1 },
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
id: 'health',
|
|
65
|
+
name: 'Health',
|
|
66
|
+
description: '+1 max HP',
|
|
67
|
+
cost: 60,
|
|
68
|
+
costGrowth: 1.4,
|
|
69
|
+
maxLevel: 8,
|
|
70
|
+
effect: { type: 'health', bonus: 1 },
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
id: 'magnet',
|
|
74
|
+
name: 'Magnet',
|
|
75
|
+
description: '+30% pickup range',
|
|
76
|
+
cost: 40,
|
|
77
|
+
costGrowth: 1.3,
|
|
78
|
+
maxLevel: 4,
|
|
79
|
+
effect: { type: 'magnet', bonus: 0.3 },
|
|
80
|
+
},
|
|
41
81
|
],
|
|
42
82
|
lootDrops: [
|
|
43
83
|
{ id: 'coin', weight: 70, quantity: [1, 3] },
|
|
@@ -101,8 +141,10 @@ class WaveDefenseTemplate {
|
|
|
101
141
|
const cx = this.config.arenaWidth / 2;
|
|
102
142
|
const cy = this.config.arenaHeight / 2;
|
|
103
143
|
const offsets = [
|
|
104
|
-
{ x: -40, y: 0 },
|
|
105
|
-
{ x:
|
|
144
|
+
{ x: -40, y: 0 },
|
|
145
|
+
{ x: 40, y: 0 },
|
|
146
|
+
{ x: 0, y: -40 },
|
|
147
|
+
{ x: 0, y: 40 },
|
|
106
148
|
];
|
|
107
149
|
const pos = { x: cx + offsets[index].x, y: cy + offsets[index].y };
|
|
108
150
|
const entity = world.createEntity(`Player${index + 1}`);
|
|
@@ -121,7 +163,7 @@ class WaveDefenseTemplate {
|
|
|
121
163
|
shape: 'circle',
|
|
122
164
|
radius: 14,
|
|
123
165
|
layer: 1,
|
|
124
|
-
mask:
|
|
166
|
+
mask: 0xffff,
|
|
125
167
|
});
|
|
126
168
|
world.addComponent(entity.id, 'RigidBody2D', {
|
|
127
169
|
bodyType: 'dynamic',
|
|
@@ -136,7 +178,13 @@ class WaveDefenseTemplate {
|
|
|
136
178
|
const entity = world.createEntity('Wall');
|
|
137
179
|
entity.tags.add('wall');
|
|
138
180
|
world.addComponent(entity.id, 'Transform', { position: { x, y }, prevPosition: { x, y } });
|
|
139
|
-
world.addComponent(entity.id, 'Collider2D', {
|
|
181
|
+
world.addComponent(entity.id, 'Collider2D', {
|
|
182
|
+
shape: 'aabb',
|
|
183
|
+
width: w,
|
|
184
|
+
height: h,
|
|
185
|
+
layer: 2,
|
|
186
|
+
mask: 0xffff,
|
|
187
|
+
});
|
|
140
188
|
world.addComponent(entity.id, 'RigidBody2D', { bodyType: 'static', gravityScale: 0 });
|
|
141
189
|
return entity.id;
|
|
142
190
|
}
|
|
@@ -161,7 +209,6 @@ class WaveDefenseTemplate {
|
|
|
161
209
|
}
|
|
162
210
|
}
|
|
163
211
|
spawnEnemy(world, type) {
|
|
164
|
-
var _a;
|
|
165
212
|
const arena = this.config;
|
|
166
213
|
// Spawn at random edge
|
|
167
214
|
const edge = this.rng.int(0, 3);
|
|
@@ -184,8 +231,10 @@ class WaveDefenseTemplate {
|
|
|
184
231
|
y = this.rng.float(0, arena.arenaHeight);
|
|
185
232
|
break;
|
|
186
233
|
}
|
|
187
|
-
const stats =
|
|
188
|
-
const hp = Math.ceil(this.config.baseEnemyHp *
|
|
234
|
+
const stats = ENEMY_STATS[type] ?? ENEMY_STATS.basic;
|
|
235
|
+
const hp = Math.ceil(this.config.baseEnemyHp *
|
|
236
|
+
Math.pow(this.config.enemyHpGrowth, this.state.wave - 1) *
|
|
237
|
+
stats.hpMul);
|
|
189
238
|
const entity = world.createEntity(`Enemy_${type}`);
|
|
190
239
|
entity.tags.add('enemy');
|
|
191
240
|
entity.tags.add(`enemy_${type}`);
|
|
@@ -202,7 +251,7 @@ class WaveDefenseTemplate {
|
|
|
202
251
|
shape: 'circle',
|
|
203
252
|
radius: stats.radius,
|
|
204
253
|
layer: 4,
|
|
205
|
-
mask:
|
|
254
|
+
mask: 0xffff,
|
|
206
255
|
});
|
|
207
256
|
world.addComponent(entity.id, 'RigidBody2D', {
|
|
208
257
|
bodyType: 'dynamic',
|
|
@@ -217,9 +266,9 @@ class WaveDefenseTemplate {
|
|
|
217
266
|
}
|
|
218
267
|
/* ── Update ─────────────────────────────────────────────────── */
|
|
219
268
|
update(world, dt, inputActions) {
|
|
220
|
-
|
|
221
|
-
if (this.state.phase !== 'playing')
|
|
269
|
+
if (this.state.phase !== 'playing') {
|
|
222
270
|
return;
|
|
271
|
+
}
|
|
223
272
|
this.state.timeSurvived += dt;
|
|
224
273
|
// Process spawn timers
|
|
225
274
|
for (let i = this.spawnTimers.length - 1; i >= 0; i--) {
|
|
@@ -234,9 +283,10 @@ class WaveDefenseTemplate {
|
|
|
234
283
|
for (let pi = 0; pi < players.length; pi++) {
|
|
235
284
|
const p = players[pi];
|
|
236
285
|
const rb = world.getComponent(p.id, 'RigidBody2D');
|
|
237
|
-
if (!rb)
|
|
286
|
+
if (!rb) {
|
|
238
287
|
continue;
|
|
239
|
-
|
|
288
|
+
}
|
|
289
|
+
const input = inputActions[pi] ?? { moveX: 0, moveY: 0 };
|
|
240
290
|
const dir = math.v2.normalize({ x: input.moveX, y: input.moveY });
|
|
241
291
|
rb.velocity = math.v2.mul(dir, this._moveSpeed);
|
|
242
292
|
}
|
|
@@ -246,15 +296,17 @@ class WaveDefenseTemplate {
|
|
|
246
296
|
const enemies = world.findAllByTag('enemy');
|
|
247
297
|
for (const p of players) {
|
|
248
298
|
const pt = world.getComponent(p.id, 'Transform');
|
|
249
|
-
if (!pt || enemies.length === 0)
|
|
299
|
+
if (!pt || enemies.length === 0) {
|
|
250
300
|
continue;
|
|
301
|
+
}
|
|
251
302
|
// Find nearest enemy
|
|
252
303
|
let nearest = enemies[0];
|
|
253
304
|
let nearestDist = Infinity;
|
|
254
305
|
for (const e of enemies) {
|
|
255
306
|
const et = world.getComponent(e.id, 'Transform');
|
|
256
|
-
if (!et)
|
|
307
|
+
if (!et) {
|
|
257
308
|
continue;
|
|
309
|
+
}
|
|
258
310
|
const d = math.v2.dist(pt.position, et.position);
|
|
259
311
|
if (d < nearestDist) {
|
|
260
312
|
nearestDist = d;
|
|
@@ -275,14 +327,16 @@ class WaveDefenseTemplate {
|
|
|
275
327
|
const et = world.getComponent(e.id, 'Transform');
|
|
276
328
|
const erb = world.getComponent(e.id, 'RigidBody2D');
|
|
277
329
|
const es = world.getComponent(e.id, 'Script');
|
|
278
|
-
if (!et || !erb || !es)
|
|
330
|
+
if (!et || !erb || !es) {
|
|
279
331
|
continue;
|
|
332
|
+
}
|
|
280
333
|
let nearest = null;
|
|
281
334
|
let nearestDist = Infinity;
|
|
282
335
|
for (const p of players) {
|
|
283
336
|
const pt = world.getComponent(p.id, 'Transform');
|
|
284
|
-
if (!pt)
|
|
337
|
+
if (!pt) {
|
|
285
338
|
continue;
|
|
339
|
+
}
|
|
286
340
|
const d = math.v2.dist(et.position, pt.position);
|
|
287
341
|
if (d < nearestDist) {
|
|
288
342
|
nearestDist = d;
|
|
@@ -291,7 +345,7 @@ class WaveDefenseTemplate {
|
|
|
291
345
|
}
|
|
292
346
|
if (nearest) {
|
|
293
347
|
const dir = math.v2.normalize(math.v2.sub(nearest, et.position));
|
|
294
|
-
const speed =
|
|
348
|
+
const speed = es.variables.speed ?? 100;
|
|
295
349
|
erb.velocity = math.v2.mul(dir, speed);
|
|
296
350
|
}
|
|
297
351
|
}
|
|
@@ -304,7 +358,10 @@ class WaveDefenseTemplate {
|
|
|
304
358
|
const entity = world.createEntity('Bullet');
|
|
305
359
|
entity.tags.add('bullet');
|
|
306
360
|
const spawnPos = math.v2.add(pos, math.v2.mul(dir, 20));
|
|
307
|
-
world.addComponent(entity.id, 'Transform', {
|
|
361
|
+
world.addComponent(entity.id, 'Transform', {
|
|
362
|
+
position: { ...spawnPos },
|
|
363
|
+
prevPosition: { ...spawnPos },
|
|
364
|
+
});
|
|
308
365
|
world.addComponent(entity.id, 'Shape', {
|
|
309
366
|
shape: 'circle',
|
|
310
367
|
radius: 4,
|
|
@@ -330,13 +387,13 @@ class WaveDefenseTemplate {
|
|
|
330
387
|
}
|
|
331
388
|
/* ── Bullet/enemy collision handling ─────────────────────────── */
|
|
332
389
|
onBulletHitEnemy(world, bulletId, enemyId) {
|
|
333
|
-
var _a, _b, _c;
|
|
334
390
|
const bs = world.getComponent(bulletId, 'Script');
|
|
335
391
|
const es = world.getComponent(enemyId, 'Script');
|
|
336
|
-
if (!bs || !es)
|
|
392
|
+
if (!bs || !es) {
|
|
337
393
|
return;
|
|
338
|
-
|
|
339
|
-
|
|
394
|
+
}
|
|
395
|
+
const damage = bs.variables.damage ?? 1;
|
|
396
|
+
let hp = es.variables.hp ?? 1;
|
|
340
397
|
hp -= damage;
|
|
341
398
|
es.variables.hp = hp;
|
|
342
399
|
// Destroy bullet
|
|
@@ -344,13 +401,14 @@ class WaveDefenseTemplate {
|
|
|
344
401
|
if (hp <= 0) {
|
|
345
402
|
// Enemy dies
|
|
346
403
|
this.state.kills++;
|
|
347
|
-
this.state.score +=
|
|
404
|
+
this.state.score += es.variables.xp ?? 10;
|
|
348
405
|
this.state.enemiesRemaining--;
|
|
349
406
|
// Loot drop
|
|
350
407
|
const drops = this.lootTable.rollEach(this.state.wave);
|
|
351
408
|
for (const drop of drops) {
|
|
352
|
-
if (drop.id === 'coin')
|
|
409
|
+
if (drop.id === 'coin') {
|
|
353
410
|
this.state.coins += drop.quantity;
|
|
411
|
+
}
|
|
354
412
|
else if (drop.id === 'health_pack') {
|
|
355
413
|
this.state.playerHp = Math.min(this.state.maxHp, this.state.playerHp + 1);
|
|
356
414
|
}
|
|
@@ -359,9 +417,8 @@ class WaveDefenseTemplate {
|
|
|
359
417
|
}
|
|
360
418
|
}
|
|
361
419
|
onEnemyHitPlayer(world, enemyId, _playerId) {
|
|
362
|
-
var _a;
|
|
363
420
|
const es = world.getComponent(enemyId, 'Script');
|
|
364
|
-
const dmg =
|
|
421
|
+
const dmg = es?.variables.damage ?? 1;
|
|
365
422
|
this.state.playerHp -= dmg;
|
|
366
423
|
// Knockback enemy
|
|
367
424
|
world.destroyEntity(enemyId);
|
|
@@ -373,29 +430,25 @@ class WaveDefenseTemplate {
|
|
|
373
430
|
/* ── Shop / Upgrades ────────────────────────────────────────── */
|
|
374
431
|
getAvailableUpgrades() {
|
|
375
432
|
return this.config.upgrades
|
|
376
|
-
.filter(u =>
|
|
377
|
-
.map(u => {
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
currentCost: Math.floor(u.cost * Math.pow(u.costGrowth, (_b = this.state.upgradeLevels[u.id]) !== null && _b !== void 0 ? _b : 0)),
|
|
383
|
-
});
|
|
384
|
-
});
|
|
433
|
+
.filter((u) => (this.state.upgradeLevels[u.id] ?? 0) < u.maxLevel)
|
|
434
|
+
.map((u) => ({
|
|
435
|
+
...u,
|
|
436
|
+
currentLevel: this.state.upgradeLevels[u.id] ?? 0,
|
|
437
|
+
currentCost: Math.floor(u.cost * Math.pow(u.costGrowth, this.state.upgradeLevels[u.id] ?? 0)),
|
|
438
|
+
}));
|
|
385
439
|
}
|
|
386
440
|
buyUpgrade(upgradeId) {
|
|
387
|
-
var _a;
|
|
388
441
|
const upgrades = this.getAvailableUpgrades();
|
|
389
|
-
const upgrade = upgrades.find(u => u.id === upgradeId);
|
|
390
|
-
if (!upgrade || this.state.coins < upgrade.currentCost)
|
|
442
|
+
const upgrade = upgrades.find((u) => u.id === upgradeId);
|
|
443
|
+
if (!upgrade || this.state.coins < upgrade.currentCost) {
|
|
391
444
|
return false;
|
|
445
|
+
}
|
|
392
446
|
this.state.coins -= upgrade.currentCost;
|
|
393
|
-
this.state.upgradeLevels[upgradeId] = (
|
|
447
|
+
this.state.upgradeLevels[upgradeId] = (this.state.upgradeLevels[upgradeId] ?? 0) + 1;
|
|
394
448
|
this.recalcStats();
|
|
395
449
|
return true;
|
|
396
450
|
}
|
|
397
451
|
recalcStats() {
|
|
398
|
-
var _a;
|
|
399
452
|
const levels = this.state.upgradeLevels;
|
|
400
453
|
const cfg = this.config;
|
|
401
454
|
let speedMul = 1;
|
|
@@ -404,9 +457,10 @@ class WaveDefenseTemplate {
|
|
|
404
457
|
let bonusHp = 0;
|
|
405
458
|
let magnetMul = 1;
|
|
406
459
|
for (const upgrade of cfg.upgrades) {
|
|
407
|
-
const lvl =
|
|
408
|
-
if (lvl === 0)
|
|
460
|
+
const lvl = levels[upgrade.id] ?? 0;
|
|
461
|
+
if (lvl === 0) {
|
|
409
462
|
continue;
|
|
463
|
+
}
|
|
410
464
|
switch (upgrade.effect.type) {
|
|
411
465
|
case 'speed':
|
|
412
466
|
speedMul += upgrade.effect.bonus * lvl;
|
|
@@ -433,8 +487,9 @@ class WaveDefenseTemplate {
|
|
|
433
487
|
}
|
|
434
488
|
/** After the shop phase, start the next wave. */
|
|
435
489
|
startNextWave(world) {
|
|
436
|
-
if (this.state.phase !== 'shop')
|
|
490
|
+
if (this.state.phase !== 'shop') {
|
|
437
491
|
return;
|
|
492
|
+
}
|
|
438
493
|
this.nextWave(world);
|
|
439
494
|
}
|
|
440
495
|
/** Reset the game entirely. */
|
|
@@ -459,10 +514,42 @@ class WaveDefenseTemplate {
|
|
|
459
514
|
}
|
|
460
515
|
/* ── Enemy stats ──────────────────────────────────────────────── */
|
|
461
516
|
const ENEMY_STATS = {
|
|
462
|
-
basic: {
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
517
|
+
basic: {
|
|
518
|
+
speed: 80,
|
|
519
|
+
hpMul: 1,
|
|
520
|
+
damage: 1,
|
|
521
|
+
mass: 1,
|
|
522
|
+
radius: 10,
|
|
523
|
+
xp: 10,
|
|
524
|
+
color: { r: 0.9, g: 0.2, b: 0.2, a: 1 },
|
|
525
|
+
},
|
|
526
|
+
fast: {
|
|
527
|
+
speed: 160,
|
|
528
|
+
hpMul: 0.6,
|
|
529
|
+
damage: 1,
|
|
530
|
+
mass: 0.6,
|
|
531
|
+
radius: 8,
|
|
532
|
+
xp: 15,
|
|
533
|
+
color: { r: 1, g: 0.6, b: 0.1, a: 1 },
|
|
534
|
+
},
|
|
535
|
+
tank: {
|
|
536
|
+
speed: 50,
|
|
537
|
+
hpMul: 3,
|
|
538
|
+
damage: 2,
|
|
539
|
+
mass: 3,
|
|
540
|
+
radius: 16,
|
|
541
|
+
xp: 30,
|
|
542
|
+
color: { r: 0.5, g: 0.2, b: 0.7, a: 1 },
|
|
543
|
+
},
|
|
544
|
+
boss: {
|
|
545
|
+
speed: 40,
|
|
546
|
+
hpMul: 10,
|
|
547
|
+
damage: 3,
|
|
548
|
+
mass: 5,
|
|
549
|
+
radius: 24,
|
|
550
|
+
xp: 100,
|
|
551
|
+
color: { r: 0.8, g: 0.1, b: 0.1, a: 1 },
|
|
552
|
+
},
|
|
466
553
|
};
|
|
467
554
|
|
|
468
555
|
exports.DEFAULT_WAVE_DEFENSE_CONFIG = DEFAULT_WAVE_DEFENSE_CONFIG;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WaveDefense.js","sources":["../../../src/templates/WaveDefense.ts"],"sourcesContent":[null],"names":["SeededRandom","WaveGenerator","LootTable","v2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WaveDefense.js","sources":["../../../src/templates/WaveDefense.ts"],"sourcesContent":[null],"names":["SeededRandom","WaveGenerator","LootTable","v2"],"mappings":"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"}
|
|
@@ -37,7 +37,7 @@ class Tilemap {
|
|
|
37
37
|
return layer;
|
|
38
38
|
}
|
|
39
39
|
getLayer(name) {
|
|
40
|
-
return this.layers.find(l => l.name === name);
|
|
40
|
+
return this.layers.find((l) => l.name === name);
|
|
41
41
|
}
|
|
42
42
|
getLayers() {
|
|
43
43
|
return this.layers;
|
|
@@ -45,14 +45,16 @@ class Tilemap {
|
|
|
45
45
|
/* ── Tile access ────────────────────────────────────────────── */
|
|
46
46
|
getTile(layerName, x, y) {
|
|
47
47
|
const layer = this.getLayer(layerName);
|
|
48
|
-
if (!layer || x < 0 || y < 0 || x >= this.width || y >= this.height)
|
|
48
|
+
if (!layer || x < 0 || y < 0 || x >= this.width || y >= this.height) {
|
|
49
49
|
return 0;
|
|
50
|
+
}
|
|
50
51
|
return layer.data[y][x];
|
|
51
52
|
}
|
|
52
53
|
setTile(layerName, x, y, tileId) {
|
|
53
54
|
const layer = this.getLayer(layerName);
|
|
54
|
-
if (!layer || x < 0 || y < 0 || x >= this.width || y >= this.height)
|
|
55
|
+
if (!layer || x < 0 || y < 0 || x >= this.width || y >= this.height) {
|
|
55
56
|
return;
|
|
57
|
+
}
|
|
56
58
|
layer.data[y][x] = tileId;
|
|
57
59
|
}
|
|
58
60
|
/** Fill a rectangle with a tile. */
|
|
@@ -66,23 +68,28 @@ class Tilemap {
|
|
|
66
68
|
/** Flood fill from a position. */
|
|
67
69
|
floodFill(layerName, x, y, tileId) {
|
|
68
70
|
const layer = this.getLayer(layerName);
|
|
69
|
-
if (!layer)
|
|
71
|
+
if (!layer) {
|
|
70
72
|
return;
|
|
73
|
+
}
|
|
71
74
|
const target = this.getTile(layerName, x, y);
|
|
72
|
-
if (target === tileId)
|
|
75
|
+
if (target === tileId) {
|
|
73
76
|
return;
|
|
77
|
+
}
|
|
74
78
|
const stack = [[x, y]];
|
|
75
79
|
const visited = new Set();
|
|
76
80
|
while (stack.length > 0) {
|
|
77
81
|
const [cx, cy] = stack.pop();
|
|
78
82
|
const key = `${cx},${cy}`;
|
|
79
|
-
if (visited.has(key))
|
|
83
|
+
if (visited.has(key)) {
|
|
80
84
|
continue;
|
|
85
|
+
}
|
|
81
86
|
visited.add(key);
|
|
82
|
-
if (cx < 0 || cy < 0 || cx >= this.width || cy >= this.height)
|
|
87
|
+
if (cx < 0 || cy < 0 || cx >= this.width || cy >= this.height) {
|
|
83
88
|
continue;
|
|
84
|
-
|
|
89
|
+
}
|
|
90
|
+
if (layer.data[cy][cx] !== target) {
|
|
85
91
|
continue;
|
|
92
|
+
}
|
|
86
93
|
layer.data[cy][cx] = tileId;
|
|
87
94
|
stack.push([cx + 1, cy], [cx - 1, cy], [cx, cy + 1], [cx, cy - 1]);
|
|
88
95
|
}
|
|
@@ -102,15 +109,16 @@ class Tilemap {
|
|
|
102
109
|
}
|
|
103
110
|
/* ── Collision query ────────────────────────────────────────── */
|
|
104
111
|
isSolid(tileX, tileY) {
|
|
105
|
-
|
|
106
|
-
if (!this.tileset)
|
|
112
|
+
if (!this.tileset) {
|
|
107
113
|
return false;
|
|
114
|
+
}
|
|
108
115
|
for (const layer of this.layers) {
|
|
109
|
-
const id =
|
|
116
|
+
const id = layer.data[tileY]?.[tileX];
|
|
110
117
|
if (id) {
|
|
111
|
-
const def = this.tileset.tiles.find(t => t.id === id);
|
|
112
|
-
if (def
|
|
118
|
+
const def = this.tileset.tiles.find((t) => t.id === id);
|
|
119
|
+
if (def?.solid) {
|
|
113
120
|
return true;
|
|
121
|
+
}
|
|
114
122
|
}
|
|
115
123
|
}
|
|
116
124
|
return false;
|
|
@@ -124,16 +132,18 @@ class Tilemap {
|
|
|
124
132
|
const y1 = Math.min(this.height - 1, Math.floor((rect.y + rect.height) / this.tileHeight));
|
|
125
133
|
for (let y = y0; y <= y1; y++) {
|
|
126
134
|
for (let x = x0; x <= x1; x++) {
|
|
127
|
-
if (this.isSolid(x, y))
|
|
135
|
+
if (this.isSolid(x, y)) {
|
|
128
136
|
result.push({ x, y });
|
|
137
|
+
}
|
|
129
138
|
}
|
|
130
139
|
}
|
|
131
140
|
return result;
|
|
132
141
|
}
|
|
133
142
|
/* ── Rendering ──────────────────────────────────────────────── */
|
|
134
143
|
render(ctx, tilesetImage, camera) {
|
|
135
|
-
if (!this.tileset)
|
|
144
|
+
if (!this.tileset) {
|
|
136
145
|
return;
|
|
146
|
+
}
|
|
137
147
|
const ts = this.tileset;
|
|
138
148
|
const tw = this.tileWidth;
|
|
139
149
|
const th = this.tileHeight;
|
|
@@ -143,17 +153,20 @@ class Tilemap {
|
|
|
143
153
|
const x1 = Math.min(this.width - 1, Math.ceil((camera.x + camera.width) / tw));
|
|
144
154
|
const y1 = Math.min(this.height - 1, Math.ceil((camera.y + camera.height) / th));
|
|
145
155
|
for (const layer of this.layers) {
|
|
146
|
-
if (!layer.visible)
|
|
156
|
+
if (!layer.visible) {
|
|
147
157
|
continue;
|
|
158
|
+
}
|
|
148
159
|
ctx.globalAlpha = layer.opacity;
|
|
149
160
|
for (let y = y0; y <= y1; y++) {
|
|
150
161
|
for (let x = x0; x <= x1; x++) {
|
|
151
162
|
const tileId = layer.data[y][x];
|
|
152
|
-
if (tileId === 0)
|
|
163
|
+
if (tileId === 0) {
|
|
153
164
|
continue;
|
|
154
|
-
|
|
155
|
-
|
|
165
|
+
}
|
|
166
|
+
const def = ts.tiles.find((t) => t.id === tileId);
|
|
167
|
+
if (!def) {
|
|
156
168
|
continue;
|
|
169
|
+
}
|
|
157
170
|
const sr = def.srcRect;
|
|
158
171
|
ctx.drawImage(tilesetImage, sr.x, sr.y, sr.width, sr.height, x * tw, y * th, tw, th);
|
|
159
172
|
}
|
|
@@ -163,18 +176,17 @@ class Tilemap {
|
|
|
163
176
|
}
|
|
164
177
|
/* ── Serialization ──────────────────────────────────────────── */
|
|
165
178
|
toJSON() {
|
|
166
|
-
var _a, _b;
|
|
167
179
|
return {
|
|
168
180
|
width: this.width,
|
|
169
181
|
height: this.height,
|
|
170
182
|
tileWidth: this.tileWidth,
|
|
171
183
|
tileHeight: this.tileHeight,
|
|
172
|
-
tilesetId:
|
|
173
|
-
layers: this.layers.map(l => ({
|
|
184
|
+
tilesetId: this.tileset?.name ?? '',
|
|
185
|
+
layers: this.layers.map((l) => ({
|
|
174
186
|
name: l.name,
|
|
175
187
|
visible: l.visible,
|
|
176
188
|
opacity: l.opacity,
|
|
177
|
-
data: l.data.map(row => [...row]),
|
|
189
|
+
data: l.data.map((row) => [...row]),
|
|
178
190
|
})),
|
|
179
191
|
};
|
|
180
192
|
}
|
|
@@ -184,7 +196,7 @@ class Tilemap {
|
|
|
184
196
|
const layer = map.addLayer(layerData.name);
|
|
185
197
|
layer.visible = layerData.visible;
|
|
186
198
|
layer.opacity = layerData.opacity;
|
|
187
|
-
layer.data = layerData.data.map(row => [...row]);
|
|
199
|
+
layer.data = layerData.data.map((row) => [...row]);
|
|
188
200
|
}
|
|
189
201
|
return map;
|
|
190
202
|
}
|
|
@@ -192,14 +204,18 @@ class Tilemap {
|
|
|
192
204
|
/* ── Auto-tiling (4-bit bitmask) ──────────────────────────────── */
|
|
193
205
|
function computeAutoTileMask(map, layerName, x, y) {
|
|
194
206
|
let mask = 0;
|
|
195
|
-
if (map.getTile(layerName, x, y - 1) > 0)
|
|
196
|
-
mask |= 1;
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
if (map.getTile(layerName, x
|
|
202
|
-
mask |=
|
|
207
|
+
if (map.getTile(layerName, x, y - 1) > 0) {
|
|
208
|
+
mask |= 1;
|
|
209
|
+
} // top
|
|
210
|
+
if (map.getTile(layerName, x + 1, y) > 0) {
|
|
211
|
+
mask |= 2;
|
|
212
|
+
} // right
|
|
213
|
+
if (map.getTile(layerName, x, y + 1) > 0) {
|
|
214
|
+
mask |= 4;
|
|
215
|
+
} // bottom
|
|
216
|
+
if (map.getTile(layerName, x - 1, y) > 0) {
|
|
217
|
+
mask |= 8;
|
|
218
|
+
} // left
|
|
203
219
|
return mask;
|
|
204
220
|
}
|
|
205
221
|
|