mindustry logic execution, map- and schematic- parsing and rendering
Diffstat (limited to 'src/block/distribution.rs')
-rw-r--r--src/block/distribution.rs51
1 files changed, 17 insertions, 34 deletions
diff --git a/src/block/distribution.rs b/src/block/distribution.rs
index 67c473e..d4fe4d1 100644
--- a/src/block/distribution.rs
+++ b/src/block/distribution.rs
@@ -228,44 +228,27 @@ impl BlockLogic for ItemBlock {
s: Scale,
) -> ImageHolder<4> {
let mut p = load!(from name which is ["sorter" | "inverted-sorter" | "duct-router" | "duct-unloader" | "unit-cargo-unload-point" | "unloader" | "item-source"], s);
- if let Some(state) = state {
- if let Some(item) = Self::get_state(state) {
- let mut top = load!(s -> match name {
- "unit-cargo-unload-point" => "unit-cargo-unload-point-top",
- "unloader" => "unloader-center",
- _ => "center",
- });
- unsafe { p.overlay(top.tint(item.color())) };
- return p;
- }
- }
- if matches!(name, "unloader" | "unit-cargo-unload-point") {
+ if let Some(state) = state && let Some(item) = Self::get_state(state) {
+ let mut top = load!(s -> match name {
+ "unit-cargo-unload-point" => "unit-cargo-unload-point-top",
+ "unloader" => "unloader-center",
+ _ => "center",
+ });
+ unsafe { p.overlay(top.tint(item.color())) };
return p;
}
- if name == "duct-router" {
- let mut arrow = load!("top", s);
- unsafe {
- arrow.rotate(rot.rotated(false).count());
- p.overlay(&arrow);
- }
- p
- } else if name == "duct-unloader" {
- let mut top = load!("duct-unloader-top", s);
- unsafe {
- top.rotate(rot.rotated(false).count());
- p.overlay(&top);
+ match name {
+ "duct-router" => {
+ unsafe { p.overlay(&load!("top", s).rotate(rot.rotated(false).count())) };
}
- let mut arrow = load!("duct-unloader-arrow", s);
- unsafe {
- arrow.rotate(rot.rotated(false).count());
- p.overlay(&arrow);
+ "duct-unloader" => {
+ unsafe {
+ p.overlay(&load!("duct-unloader-top", s).rotate(rot.rotated(false).count()))
+ };
}
- p
- } else {
- let mut null = load!("cross-full", s);
- unsafe { null.overlay(&p) };
- null
- }
+ _ => {}
+ };
+ p
}
/// format: