mindustry logic execution, map- and schematic- parsing and rendering
Diffstat (limited to 'src/data/dynamic.rs')
| -rw-r--r-- | src/data/dynamic.rs | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/data/dynamic.rs b/src/data/dynamic.rs index 4ccafcb..0b4e3fb 100644 --- a/src/data/dynamic.rs +++ b/src/data/dynamic.rs @@ -69,6 +69,44 @@ pub enum DynData Team(Team), } +impl DynData +{ + pub fn get_type(&self) -> DynType + { + match self + { + DynData::Empty => DynType::Empty, + DynData::Int(..) => DynType::Int, + DynData::Long(..) => DynType::Long, + DynData::Float(..) => DynType::Float, + DynData::String(..) => DynType::String, + DynData::Content(..) => DynType::Content, + DynData::IntArray(..) => DynType::IntArray, + DynData::Point2(..) => DynType::Point2, + DynData::Point2Array(..) => DynType::Point2Array, + DynData::TechNode(..) => DynType::TechNode, + DynData::Boolean(..) => DynType::Boolean, + DynData::Double(..) => DynType::Double, + DynData::Building(..) => DynType::Building, + DynData::LogicField(..) => DynType::LogicField, + DynData::ByteArray(..) => DynType::ByteArray, + DynData::UnitCommand(..) => DynType::UnitCommand, + DynData::BoolArray(..) => DynType::BoolArray, + DynData::Unit(..) => DynType::Unit, + DynData::Vec2Array(..) => DynType::Vec2Array, + DynData::Vec2(..) => DynType::Vec2, + DynData::Team(..) => DynType::Team, + } + } +} + +#[derive(Clone, Copy, Debug, Eq, PartialEq)] +pub enum DynType +{ + Empty, Int, Long, Float, String, Content, IntArray, Point2, Point2Array, TechNode, Boolean, Double, Building, + LogicField, ByteArray, UnitCommand, BoolArray, Unit, Vec2Array, Vec2, Team, +} + pub struct DynSerializer; impl Serializer<DynData> for DynSerializer |