mindustry logic execution, map- and schematic- parsing and rendering
-rw-r--r--src/data/dynamic.rs7
-rw-r--r--src/data/mod.rs76
-rw-r--r--src/main.rs1
-rw-r--r--src/team.rs76
4 files changed, 81 insertions, 79 deletions
diff --git a/src/data/dynamic.rs b/src/data/dynamic.rs
index 0b4e3fb..64616c3 100644
--- a/src/data/dynamic.rs
+++ b/src/data/dynamic.rs
@@ -1,5 +1,6 @@
-use crate::data::{self, DataRead, DataWrite, GridPos, Serializer, Team};
+use crate::data::{self, DataRead, DataWrite, GridPos, Serializer};
use crate::logic::LogicField;
+use crate::team::Team;
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub enum UnitCommand
@@ -461,7 +462,7 @@ impl From<data::WriteError> for WriteError
mod test
{
use super::*;
- use crate::data::{TEAM_CRUX, TEAM_DERELICT, TEAM_SHARDED};
+ use crate::team::{CRUX, DERELICT, SHARDED};
fn compare_vec2(lhs: (f32, f32), rhs: (f32, f32)) -> bool
{
@@ -558,5 +559,5 @@ mod test
make_dyn_test!(reparse_unit, DynData::Unit(0), DynData::Unit(2147483647));
make_dyn_test!(reparse_vec2_array, DynData::Vec2Array(vec![(4.4, 5.5), (-3.3, 6.6), (-2.2, -7.7)]), DynData::Vec2Array(vec![(2.2, -8.8)]));
make_dyn_test!(reparse_vec2, DynData::Vec2(1.5, 9.1234), DynData::Vec2(-0.0, -17.0), DynData::Vec2(-10.7, 3.8));
- make_dyn_test!(reparse_team, DynData::Team(TEAM_SHARDED), DynData::Team(TEAM_CRUX), DynData::Team(TEAM_DERELICT));
+ make_dyn_test!(reparse_team, DynData::Team(SHARDED), DynData::Team(CRUX), DynData::Team(DERELICT));
}
diff --git a/src/data/mod.rs b/src/data/mod.rs
index 029476a..6117cf8 100644
--- a/src/data/mod.rs
+++ b/src/data/mod.rs
@@ -1,4 +1,3 @@
-use std::fmt;
use std::str::Utf8Error;
pub mod base64;
@@ -289,81 +288,6 @@ impl From<GridPos> for u32
}
}
-#[derive(Clone, Copy, Debug, Eq, Ord, PartialEq, PartialOrd)]
-pub struct Team(u8);
-
-impl Team
-{
- pub fn of(id: u8) -> Self
- {
- Self(id)
- }
-
- pub fn get_id(&self) -> u8
- {
- self.0
- }
-
- pub fn is_base(&self) -> bool
- {
- self.0 < 6
- }
-
- pub fn get_name(&self) -> Option<&'static str>
- {
- match self.0
- {
- 0 => Some("derelict"),
- 1 => Some("sharded"),
- 2 => Some("crux"),
- 3 => Some("malis"),
- 4 => Some("green"),
- 5 => Some("blue"),
- _ => None,
- }
- }
-}
-
-impl From<u8> for Team
-{
- fn from(value: u8) -> Self
- {
- Team::of(value)
- }
-}
-
-impl From<Team> for u8
-{
- fn from(value: Team) -> Self
- {
- value.0
- }
-}
-
-impl fmt::Display for Team
-{
- fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result
- {
- match self.0
- {
- 0 => f.write_str("Derelict"),
- 1 => f.write_str("Sharded"),
- 2 => f.write_str("Crux"),
- 3 => f.write_str("Malis"),
- 4 => f.write_str("Green"),
- 5 => f.write_str("Blue"),
- id => write!(f, "Team #{id}"),
- }
- }
-}
-
-pub const TEAM_DERELICT: Team = Team(0);
-pub const TEAM_SHARDED: Team = Team(1);
-pub const TEAM_CRUX: Team = Team(2);
-pub const TEAM_MALIS: Team = Team(3);
-pub const TEAM_GREEN: Team = Team(4);
-pub const TEAM_BLUE: Team = Team(5);
-
#[cfg(test)]
mod test
{
diff --git a/src/main.rs b/src/main.rs
index d934136..0a097b0 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -7,6 +7,7 @@ pub mod fluid;
pub mod item;
pub mod logic;
pub mod modifier;
+pub mod team;
pub mod unit;
fn main()
diff --git a/src/team.rs b/src/team.rs
new file mode 100644
index 0000000..5d2acd7
--- /dev/null
+++ b/src/team.rs
@@ -0,0 +1,76 @@
+use std::fmt;
+
+#[derive(Clone, Copy, Debug, Eq, Ord, PartialEq, PartialOrd)]
+pub struct Team(u8);
+
+impl Team
+{
+ pub fn of(id: u8) -> Self
+ {
+ Self(id)
+ }
+
+ pub fn get_id(&self) -> u8
+ {
+ self.0
+ }
+
+ pub fn is_base(&self) -> bool
+ {
+ self.0 < 6
+ }
+
+ pub fn get_name(&self) -> Option<&'static str>
+ {
+ match self.0
+ {
+ 0 => Some("derelict"),
+ 1 => Some("sharded"),
+ 2 => Some("crux"),
+ 3 => Some("malis"),
+ 4 => Some("green"),
+ 5 => Some("blue"),
+ _ => None,
+ }
+ }
+}
+
+impl From<u8> for Team
+{
+ fn from(value: u8) -> Self
+ {
+ Team::of(value)
+ }
+}
+
+impl From<Team> for u8
+{
+ fn from(value: Team) -> Self
+ {
+ value.0
+ }
+}
+
+impl fmt::Display for Team
+{
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result
+ {
+ match self.0
+ {
+ 0 => f.write_str("Derelict"),
+ 1 => f.write_str("Sharded"),
+ 2 => f.write_str("Crux"),
+ 3 => f.write_str("Malis"),
+ 4 => f.write_str("Green"),
+ 5 => f.write_str("Blue"),
+ id => write!(f, "Team #{id}"),
+ }
+ }
+}
+
+pub const DERELICT: Team = Team(0);
+pub const SHARDED: Team = Team(1);
+pub const CRUX: Team = Team(2);
+pub const MALIS: Team = Team(3);
+pub const GREEN: Team = Team(4);
+pub const BLUE: Team = Team(5);