From 86d7d033d74ecd43d1a011bf4fcb5eef5db75afa Mon Sep 17 00:00:00 2001 From: Lucien Greathouse Date: Fri, 5 Jan 2018 13:07:09 -0800 Subject: [PATCH] Add 'route' to each RbxInstance, which tags how the instance was generated --- src/plugins/default_plugin.rs | 2 ++ src/plugins/json_model_plugin.rs | 2 ++ src/plugins/script_plugin.rs | 1 + src/rbx.rs | 3 +++ 4 files changed, 8 insertions(+) diff --git a/src/plugins/default_plugin.rs b/src/plugins/default_plugin.rs index 276aa50f..3ea7addd 100644 --- a/src/plugins/default_plugin.rs +++ b/src/plugins/default_plugin.rs @@ -31,6 +31,7 @@ impl Plugin for DefaultPlugin { class_name: "StringValue".to_string(), children: Vec::new(), properties, + route: Some(vfs_item.route().to_vec()), })) }, &VfsItem::Dir { ref children, .. } => { @@ -50,6 +51,7 @@ impl Plugin for DefaultPlugin { class_name: "Folder".to_string(), children: rbx_children, properties: HashMap::new(), + route: Some(vfs_item.route().to_vec()), })) }, } diff --git a/src/plugins/json_model_plugin.rs b/src/plugins/json_model_plugin.rs index ed8178ca..e9025b2a 100644 --- a/src/plugins/json_model_plugin.rs +++ b/src/plugins/json_model_plugin.rs @@ -36,6 +36,8 @@ impl Plugin for JsonModelPlugin { }, }; + rbx_item.route = Some(vfs_item.route().to_vec()); + rbx_item.properties.insert("Name".to_string(), RbxValue::String { value: rbx_name, }); diff --git a/src/plugins/script_plugin.rs b/src/plugins/script_plugin.rs index 86810be3..dabe8d5c 100644 --- a/src/plugins/script_plugin.rs +++ b/src/plugins/script_plugin.rs @@ -54,6 +54,7 @@ impl Plugin for ScriptPlugin { class_name: class_name, children: Vec::new(), properties, + route: Some(vfs_item.route().to_vec()), })) }, &VfsItem::Dir { ref children, .. } => { diff --git a/src/rbx.rs b/src/rbx.rs index 03019fc8..99f24d40 100644 --- a/src/rbx.rs +++ b/src/rbx.rs @@ -8,6 +8,9 @@ pub struct RbxInstance { pub class_name: String, pub children: Vec, pub properties: HashMap, + + /// The route that this instance was generated from, if there was one. + pub route: Option>, } /// Any kind value that can be used by Roblox