appslib/jsonb/
physics.rs

1use serde::{Deserialize, Serialize};
2
3use crate::enums::physics_b_type::PhysicsBType;
4use crate::enums::physics_shape::PhysicsShape;
5use crate::enums::physics_shape_type::PhysicsShapeType;
6use crate::jsonb::action::Action;
7use crate::jsonb::vec3::Vec3;
8use crate::jsonb::vec4::Vec4;
9
10#[derive(Clone, Serialize, Deserialize, Debug)]
11#[serde(rename_all = "camelCase")]
12pub struct Physics {
13    pub shape_type: PhysicsShapeType,
14    pub b_type: PhysicsBType,
15    pub shape: PhysicsShape,
16    pub size:f32,
17    #[serde(skip_serializing_if = "Option::is_none")]
18    pub mass: Option<f32>,
19    #[serde(skip_serializing_if = "Option::is_none")]
20    pub offset: Option<Vec3>,
21    #[serde(skip_serializing_if = "Option::is_none")]
22    pub euler: Option<Vec3>,
23    #[serde(skip_serializing_if = "Option::is_none")]
24    pub quaternion: Option<Vec4>,
25    #[serde(skip_serializing_if = "Option::is_none")]
26    pub axes_lock: Option<String>,
27    #[serde(skip_serializing_if = "Option::is_none")]
28    pub action: Option<Action>,
29}