diff options
Diffstat (limited to 'tools/validator/godot_processor.cpp')
-rw-r--r-- | tools/validator/godot_processor.cpp | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/tools/validator/godot_processor.cpp b/tools/validator/godot_processor.cpp index f345cff..ad2be78 100644 --- a/tools/validator/godot_processor.cpp +++ b/tools/validator/godot_processor.cpp | |||
@@ -35,17 +35,17 @@ class GodotProcessor { | |||
35 | std::string scene_path_str = scene_path.string(); | 35 | std::string scene_path_str = scene_path.string(); |
36 | std::cout << "Processing " << scene_path_str << std::endl; | 36 | std::cout << "Processing " << scene_path_str << std::endl; |
37 | 37 | ||
38 | std::unique_ptr<GodotScene> scene = | 38 | GodotScene scene = ReadGodotSceneFromFile(scene_path_str); |
39 | ReadGodotSceneFromFile(scene_path_str); | 39 | for (const GodotNode& node : scene.GetNodes()) { |
40 | 40 | ProcessMapNode(scene, node, map_info); | |
41 | ProcessMapNode(*scene, scene->GetRoot(), map_info); | 41 | } |
42 | } | 42 | } |
43 | 43 | ||
44 | void ProcessMapNode(const GodotScene& scene, const GodotNode& node, | 44 | void ProcessMapNode(const GodotScene& scene, const GodotNode& node, |
45 | MapInfo& map_info) { | 45 | MapInfo& map_info) { |
46 | if (std::holds_alternative<GodotExtResourceRef>(node.GetInstanceType())) { | 46 | if (std::holds_alternative<GodotExtResourceRef>(node.instance_type)) { |
47 | const GodotExtResourceRef& ext_resource_ref = | 47 | const GodotExtResourceRef& ext_resource_ref = |
48 | std::get<GodotExtResourceRef>(node.GetInstanceType()); | 48 | std::get<GodotExtResourceRef>(node.instance_type); |
49 | const GodotExtResource* ext_resource = | 49 | const GodotExtResource* ext_resource = |
50 | scene.GetExtResource(ext_resource_ref.id); | 50 | scene.GetExtResource(ext_resource_ref.id); |
51 | 51 | ||
@@ -55,10 +55,6 @@ class GodotProcessor { | |||
55 | map_info.game_nodes[node.GetPath()].defined = true; | 55 | map_info.game_nodes[node.GetPath()].defined = true; |
56 | } | 56 | } |
57 | } | 57 | } |
58 | |||
59 | for (const auto& [child_name, child_node] : node.GetChildren()) { | ||
60 | ProcessMapNode(scene, *child_node, map_info); | ||
61 | } | ||
62 | } | 58 | } |
63 | 59 | ||
64 | private: | 60 | private: |