aboutsummaryrefslogtreecommitdiff
path: root/src/payload.rs
diff options
context:
space:
mode:
authorLibravatar Silas Bartha <silas@exvacuum.dev>2024-11-21 12:17:44 -0500
committerLibravatar Silas Bartha <silas@exvacuum.dev>2024-11-21 12:17:44 -0500
commit26e2eddd1efeb0a5fff8ffabebefdae48c4a65dc (patch)
tree7f0903a6c90fb4e09d2894f55cffd0acbcb51350 /src/payload.rs
parent99c398cc127dbc83480f98fea8c76f7c19d4dce8 (diff)
Thu Nov 21 12:17:44 PM EST 2024
Diffstat (limited to 'src/payload.rs')
-rw-r--r--src/payload.rs84
1 files changed, 0 insertions, 84 deletions
diff --git a/src/payload.rs b/src/payload.rs
deleted file mode 100644
index 2aa3f23..0000000
--- a/src/payload.rs
+++ /dev/null
@@ -1,84 +0,0 @@
-use std::{collections::HashMap, str::FromStr};
-
-use avian3d::prelude::RigidBody;
-use bevy::prelude::*;
-use serde::{Deserialize, Serialize};
-use strum::{EnumDiscriminants, EnumString};
-use yarnspinner::core::YarnValue;
-
-#[derive(Serialize, Deserialize, Default, Clone, Deref, DerefMut, Debug)]
-pub struct DirworldEntityPayload(Vec<DirworldComponent>);
-
-impl DirworldEntityPayload {
- pub fn component(&self, name: &str) -> Option<&DirworldComponent> {
- if let Ok(discriminant) = DirworldComponentDiscriminants::from_str(name) {
- self.iter()
- .find(|component| discriminant == DirworldComponentDiscriminants::from(*component))
- } else {
- None
- }
- }
-
- pub fn component_mut(&mut self, name: &str) -> Option<&mut DirworldComponent> {
- if let Ok(discriminant) = DirworldComponentDiscriminants::from_str(name) {
- self.iter_mut()
- .find(|component| discriminant == DirworldComponentDiscriminants::from(&**component))
- } else {
- None
- }
- }
-
- pub fn components(&self, name: &str) -> Vec<&DirworldComponent> {
- if let Ok(discriminant) = DirworldComponentDiscriminants::from_str(name) {
- self.iter()
- .filter(|component| {
- discriminant == DirworldComponentDiscriminants::from(*component)
- })
- .collect()
- } else {
- vec![]
- }
- }
-
- pub fn components_mut(&mut self, name: &str) -> Vec<&mut DirworldComponent> {
- if let Ok(discriminant) = DirworldComponentDiscriminants::from_str(name) {
- self.iter_mut()
- .filter(|component| {
- discriminant == DirworldComponentDiscriminants::from(&**component)
- })
- .collect()
- } else {
- vec![]
- }
- }
-}
-
-#[derive(Serialize, Deserialize, Clone, EnumDiscriminants, Debug)]
-#[strum_discriminants(derive(EnumString))]
-pub enum DirworldComponent {
- Transform(Transform),
- Name(String),
- Actor {
- local_variables: HashMap<String, YarnValue>,
- yarn_source: Vec<u8>,
- },
- Voice {
- pitch: i32,
- preset: i32,
- bank: i32,
- variance: u32,
- speed: f32,
- },
- Rigidbody(RigidBody),
- MeshCollider {
- convex: bool,
- sensor: bool,
- },
- Script {
- lua_source: Vec<u8>,
- },
- Relationship {
- label: String,
- hash: [u8; 16],
- },
-}