aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/classes/assetinfo.rs1
-rw-r--r--src/classes/gameobject.rs5
-rw-r--r--src/classes/mesh.rs19
-rw-r--r--src/classes/pptr.rs2
-rw-r--r--src/classes/streaminginfo.rs1
-rw-r--r--src/classes/transform.rs1
6 files changed, 26 insertions, 3 deletions
diff --git a/src/classes/assetinfo.rs b/src/classes/assetinfo.rs
index 01c4530..f66444a 100644
--- a/src/classes/assetinfo.rs
+++ b/src/classes/assetinfo.rs
@@ -9,6 +9,7 @@ pub struct AssetInfo {
pub preload_size: i32,
pub asset: PPtr<GameObject>,
}
+
impl FromValue for AssetInfo {
fn from_value(v: Value) -> Result<Self> {
let mut fields = v.as_class("AssetInfo").unwrap();
diff --git a/src/classes/gameobject.rs b/src/classes/gameobject.rs
index bb4f19b..d629231 100644
--- a/src/classes/gameobject.rs
+++ b/src/classes/gameobject.rs
@@ -11,6 +11,7 @@ pub struct GameObject {
pub name: String,
pub is_active: bool,
}
+
impl FromValue for GameObject {
fn from_value(v: Value) -> Result<Self> {
let mut fields = v.as_class("GameObject").unwrap();
@@ -28,9 +29,7 @@ impl FromValue for GameObject {
.map(|e| {
e.as_class("ComponentPair")
.unwrap()
- .remove("component")
- .unwrap()
- .parse::<PPtr>()
+ .field("component")
.unwrap()
})
.collect(),
diff --git a/src/classes/mesh.rs b/src/classes/mesh.rs
index 1d6889d..7df7f8d 100644
--- a/src/classes/mesh.rs
+++ b/src/classes/mesh.rs
@@ -126,3 +126,22 @@ impl FromValue for SubMesh {
})
}
}
+
+#[repr(u8)]
+#[derive(Debug, Serialize, Clone, Copy, PartialEq)]
+pub enum VertexDataChannel {
+ Position = 0,
+ Normal = 1,
+ Tangent = 2,
+ Color = 3,
+ TexCoord0 = 4,
+ TexCoord1 = 5,
+ TexCoord2 = 6,
+ TexCoord3 = 7,
+ TexCoord4 = 8,
+ TexCoord5 = 9,
+ TexCoord6 = 10,
+ TexCoord7 = 11,
+ BlendWeight = 12,
+ BlendIndices = 13,
+}
diff --git a/src/classes/pptr.rs b/src/classes/pptr.rs
index 6c7efdb..9d9becc 100644
--- a/src/classes/pptr.rs
+++ b/src/classes/pptr.rs
@@ -12,6 +12,7 @@ pub struct PPtr<T = HValue> {
pub file_id: i32,
pub path_id: i64,
}
+
impl<T> FromValue for PPtr<T> {
fn from_value(v: Value) -> Result<Self> {
let Value::Object { class, fields } = v else {
@@ -30,6 +31,7 @@ impl<T> FromValue for PPtr<T> {
})
}
}
+
impl PPtr {
pub fn cast<T>(self) -> PPtr<T> {
PPtr {
diff --git a/src/classes/streaminginfo.rs b/src/classes/streaminginfo.rs
index bb0b5e1..cb5209d 100644
--- a/src/classes/streaminginfo.rs
+++ b/src/classes/streaminginfo.rs
@@ -8,6 +8,7 @@ pub struct StreamingInfo {
pub path: String,
pub size: u32,
}
+
impl FromValue for StreamingInfo {
fn from_value(v: Value) -> Result<Self> {
let mut fields = v.as_class("StreamingInfo").unwrap();
diff --git a/src/classes/transform.rs b/src/classes/transform.rs
index c9948d3..d31a7d6 100644
--- a/src/classes/transform.rs
+++ b/src/classes/transform.rs
@@ -13,6 +13,7 @@ pub struct Transform {
pub local_rotation: Quat,
pub local_scale: Vec3,
}
+
impl FromValue for Transform {
fn from_value(v: Value) -> Result<Self> {
let mut fields = v.as_class("Transform").unwrap();