Add 'route' to each RbxInstance, which tags how the instance was generated

This commit is contained in:
Lucien Greathouse
2018-01-05 13:07:09 -08:00
parent 2df1dfa1cb
commit 86d7d033d7
4 changed files with 8 additions and 0 deletions

View File

@@ -31,6 +31,7 @@ impl Plugin for DefaultPlugin {
class_name: "StringValue".to_string(), class_name: "StringValue".to_string(),
children: Vec::new(), children: Vec::new(),
properties, properties,
route: Some(vfs_item.route().to_vec()),
})) }))
}, },
&VfsItem::Dir { ref children, .. } => { &VfsItem::Dir { ref children, .. } => {
@@ -50,6 +51,7 @@ impl Plugin for DefaultPlugin {
class_name: "Folder".to_string(), class_name: "Folder".to_string(),
children: rbx_children, children: rbx_children,
properties: HashMap::new(), properties: HashMap::new(),
route: Some(vfs_item.route().to_vec()),
})) }))
}, },
} }

View File

@@ -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 { rbx_item.properties.insert("Name".to_string(), RbxValue::String {
value: rbx_name, value: rbx_name,
}); });

View File

@@ -54,6 +54,7 @@ impl Plugin for ScriptPlugin {
class_name: class_name, class_name: class_name,
children: Vec::new(), children: Vec::new(),
properties, properties,
route: Some(vfs_item.route().to_vec()),
})) }))
}, },
&VfsItem::Dir { ref children, .. } => { &VfsItem::Dir { ref children, .. } => {

View File

@@ -8,6 +8,9 @@ pub struct RbxInstance {
pub class_name: String, pub class_name: String,
pub children: Vec<RbxInstance>, pub children: Vec<RbxInstance>,
pub properties: HashMap<String, RbxValue>, pub properties: HashMap<String, RbxValue>,
/// The route that this instance was generated from, if there was one.
pub route: Option<Vec<String>>,
} }
/// Any kind value that can be used by Roblox /// Any kind value that can be used by Roblox