From 22271e741de18f39e89b2354dbf98f8fa051b97d Mon Sep 17 00:00:00 2001 From: Gabriel Kaszewski Date: Tue, 23 Sep 2025 02:00:44 +0200 Subject: [PATCH] add world position properties to LdtkLevel and update scene builder --- addons/csharp_ldtk_importer/LdtkResourceImporter.cs | 4 ---- addons/csharp_ldtk_importer/LdtkSceneBuilder.cs | 2 +- addons/csharp_ldtk_importer/Models/LdtkLevel.cs | 6 ++++++ 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/addons/csharp_ldtk_importer/LdtkResourceImporter.cs b/addons/csharp_ldtk_importer/LdtkResourceImporter.cs index 1b6ca02..321ea03 100644 --- a/addons/csharp_ldtk_importer/LdtkResourceImporter.cs +++ b/addons/csharp_ldtk_importer/LdtkResourceImporter.cs @@ -52,10 +52,6 @@ public partial class LdtkResourceImporter : EditorImportPlugin var scene = new PackedScene(); scene.Pack(rootNode); - var newSceneNodeCount = scene.GetState().GetNodeCount(); - - GD.Print($"New scene node count: {newSceneNodeCount}, expected: {rootNode.GetChildCount() + 1} (including root)"); - // 4. Save the generated scene var destinationPath = $"{savePath}.{_GetSaveExtension()}"; var error = ResourceSaver.Save(scene, destinationPath); diff --git a/addons/csharp_ldtk_importer/LdtkSceneBuilder.cs b/addons/csharp_ldtk_importer/LdtkSceneBuilder.cs index 8f802b6..fb4593c 100644 --- a/addons/csharp_ldtk_importer/LdtkSceneBuilder.cs +++ b/addons/csharp_ldtk_importer/LdtkSceneBuilder.cs @@ -34,7 +34,6 @@ public class LdtkSceneBuilder return root; } - // A helper function to recursively set the owner on all children. private void SetOwnerRecursive(Node node, Node owner) { foreach (var child in node.GetChildren()) @@ -47,6 +46,7 @@ public class LdtkSceneBuilder private Node2D BuildLevel(LdtkLevel level) { var levelRoot = new Node2D { Name = level.Identifier }; + levelRoot.Position = new Vector2(level.WorldX, level.WorldY); foreach (var layer in level.LayerInstances.Reverse()) { diff --git a/addons/csharp_ldtk_importer/Models/LdtkLevel.cs b/addons/csharp_ldtk_importer/Models/LdtkLevel.cs index 24e90db..0702761 100644 --- a/addons/csharp_ldtk_importer/Models/LdtkLevel.cs +++ b/addons/csharp_ldtk_importer/Models/LdtkLevel.cs @@ -6,6 +6,12 @@ public class LdtkLevel { [JsonPropertyName("identifier")] public string Identifier { get; set; } + + [JsonPropertyName("worldX")] + public int WorldX { get; set; } + + [JsonPropertyName("worldY")] + public int WorldY { get; set; } [JsonPropertyName("layerInstances")] public LdtkLayerInstance[] LayerInstances { get; set; }