aboutsummaryrefslogtreecommitdiff
path: root/src/payload/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/payload/mod.rs')
-rw-r--r--src/payload/mod.rs27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/payload/mod.rs b/src/payload/mod.rs
new file mode 100644
index 0000000..483fee5
--- /dev/null
+++ b/src/payload/mod.rs
@@ -0,0 +1,27 @@
+use serde::{Deserialize, Serialize};
+use uuid::Uuid;
+
+pub mod components;
+
+#[derive(Serialize, Deserialize, Default, Clone, Debug)]
+pub struct DirworldEntityPayload {
+ pub id: Uuid,
+ pub transform: components::Transform,
+ pub name: Option<components::Name>,
+ pub actor: Option<components::Actor>,
+ pub voice: Option<components::Voice>,
+ pub rigidbody: Option<components::Rigidbody>,
+ pub mesh_collider: Option<components::MeshCollider>,
+ pub scripts: Option<Vec<components::Script>>,
+ pub relationships: Option<components::Relationships>,
+}
+
+impl DirworldEntityPayload {
+ pub fn new() -> Self {
+ Self {
+ id: Uuid::new_v4(),
+ ..Default::default()
+ }
+ }
+}
+