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: |
