Compare commits

..

5 Commits

Author SHA1 Message Date
Lucien Greathouse
ab644c3dfa Update model.json example 2018-02-04 07:31:33 -08:00
Lucien Greathouse
c6cdd8a815 Change test project to test another edge case 2018-02-04 07:26:30 -08:00
Lucien Greathouse
d99df59d9b 'Wildcard' type in DefaultPlugin, change to PascalCase in API 2018-02-04 07:10:59 -08:00
Lucien Greathouse
c5f8247543 Add support for Bool and Number primitive types. 2018-02-03 23:16:29 -08:00
Lucien Greathouse
72557c9d23 Hip logo, totally not riffing on Babel 2018-01-29 15:57:10 -08:00
6 changed files with 36 additions and 23 deletions

View File

@@ -1,17 +1,22 @@
<h1 align="center">Rojo</h1>
<div align="center">
<img src="assets/rojo-logo.png" alt="Rojo" height="150" />
</div>
<div>&nbsp;</div>
<div align="center">
<a href="https://travis-ci.org/LPGhatguy/rojo">
<img src="https://api.travis-ci.org/LPGhatguy/rojo.svg?branch=master" alt="Travis-CI Build Status" />
</a>
</div>
<div>&nbsp;</div>
<hr />
Rojo is a flexible multi-tool designed for creating robust Roblox projects. It's in early development, but is still useful for many projects.
**Rojo** is a flexible multi-tool designed for creating robust Roblox projects. It's in early development, but is still useful for many projects.
It's designed for power users who want to use the **best tools available** for building games, libraries, and plugins.
This is the main Rojo repository, containing the binary server component. For the source for the Roblox plugin, [see the rojo-plugin repository](https://github.com/LPGhatguy/rojo-plugin).
This is the main Rojo repository, containing the binary and project server component. For the source for the Roblox plugin, [see the rojo-plugin repository](https://github.com/LPGhatguy/rojo-plugin).
The master branches of both respositories should always pass all tests and be functional, but are not suitable for production use!

BIN
assets/rojo-logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

View File

@@ -48,7 +48,7 @@ impl Plugin for DefaultPlugin {
TransformFileResult::Value(Some(RbxInstance {
name: vfs_item.name().clone(),
class_name: "Folder".to_string(),
class_name: "*".to_string(),
children: rbx_children,
properties: HashMap::new(),
route: Some(vfs_item.route().to_vec()),

View File

@@ -2,7 +2,7 @@ use std::collections::HashMap;
/// Represents data about a Roblox instance
#[derive(Debug, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
#[serde(rename_all = "PascalCase")]
pub struct RbxInstance {
pub name: String,
pub class_name: String,
@@ -15,12 +15,20 @@ pub struct RbxInstance {
/// Any kind value that can be used by Roblox
#[derive(Debug, Serialize, Deserialize)]
#[serde(rename_all = "camelCase", tag = "type")]
#[serde(rename_all = "PascalCase", tag = "Type")]
pub enum RbxValue {
#[serde(rename_all = "PascalCase")]
String {
value: String,
},
#[serde(rename_all = "PascalCase")]
Bool {
value: bool,
},
#[serde(rename_all = "PascalCase")]
Number {
value: f64,
},
// TODO: Other primitives
// TODO: Compound types like Vector3
}

View File

@@ -4,7 +4,7 @@
"partitions": {
"src": {
"path": "src",
"target": "ReplicatedStorage.TestProject"
"target": "ReplicatedFirst"
}
}
}

View File

@@ -1,24 +1,24 @@
{
"name": "hello",
"className": "Model",
"children": [
"Name": "hello",
"ClassName": "Model",
"Children": [
{
"name": "Some Part",
"className": "Part",
"children": [],
"properties": {}
"Name": "Some Part",
"ClassName": "Part",
"Children": [],
"Properties": {}
},
{
"name": "Some StringValue",
"className": "StringValue",
"children": [],
"properties": {
"Name": "Some StringValue",
"ClassName": "StringValue",
"Children": [],
"Properties": {
"Value": {
"type": "string",
"value": "Hello, world!"
"Type": "String",
"Value": "Hello, world!"
}
}
}
],
"properties": {}
"Properties": {}
}