mindustry logic execution, map- and schematic- parsing and rendering
Diffstat (limited to 'src/block/payload.rs')
| -rw-r--r-- | src/block/payload.rs | 49 |
1 files changed, 25 insertions, 24 deletions
diff --git a/src/block/payload.rs b/src/block/payload.rs index 9b1970b..f68f8af 100644 --- a/src/block/payload.rs +++ b/src/block/payload.rs @@ -18,28 +18,30 @@ make_simple!(SimplePayloadBlock, |_, n, _, _, r: Rotation, scl| { "small-deconstructor" => "factory-in-3", _ => "factory-in-5", }); - unsafe { - base.overlay(r#in.rotate(r.rotated(false).count())) - .overlay(&load!(scl -> match n { - "small-deconstructor" => "small-deconstructor-top", - "deconstructor" => "deconstructor-top", - _ => "payload-void-top", - })) - }; + unsafe { r#in.rotate(r.rotated(false).count()) }; + unsafe { base.overlay(&r#in) }; + let top = load!(scl -> match n { + "small-deconstructor" => "small-deconstructor-top", + "deconstructor" => "deconstructor-top", + _ => "payload-void-top", + }); + unsafe { base.overlay(&top) }; base } // "payload-loader" | "payload-unloader" _ => { let mut base = load!(from n which is ["payload-loader" | "payload-unloader"], scl); let mut input = load!("factory-in-3-dark", scl); + unsafe { input.rotate(r.rotated(false).count()) }; + unsafe { base.overlay(&input) }; + let mut output = load!("factory-out-3-dark", scl); - unsafe { - base.overlay(input.rotate(r.rotated(false).count())) - .overlay(output.rotate(r.rotated(false).count())) - .overlay( - &load!(concat "top" => n which is ["payload-loader" | "payload-unloader"], scl), - ) - }; + unsafe { output.rotate(r.rotated(false).count()) }; + unsafe { base.overlay(&output) }; + + let top = + load!(concat "top" => n which is ["payload-loader" | "payload-unloader"], scl); + unsafe { base.overlay(&top) }; base } } @@ -59,10 +61,10 @@ make_simple!( PayloadRouter, |_, n, _, _, r: Rotation, s| { let mut base = load!(from n which is ["payload-router" | "reinforced-payload-router"], s); - unsafe { - base.rotate(r.rotated(false).count()); - base.overlay(& load!(concat "over" => n which is ["payload-router" | "reinforced-payload-router"], s)); - } + unsafe { base.rotate(r.rotated(false).count()) }; + let over = + load!(concat "over" => n which is ["payload-router" | "reinforced-payload-router"], s); + unsafe { base.overlay(&over) }; base }, read_payload_router @@ -115,11 +117,10 @@ impl BlockLogic for PayloadBlock { "large-constructor" => "factory-out-5-dark", _ => "factory-out-5", }); - unsafe { - out.rotate(r.rotated(false).count()); - base.overlay(&out); - base.overlay(&load!(concat "top" => name which is ["constructor" | "large-constructor" | "payload-source"], s)) - }; + unsafe { out.rotate(r.rotated(false).count()) }; + unsafe { base.overlay(&out) }; + let top = load!(concat "top" => name which is ["constructor" | "large-constructor" | "payload-source"], s); + unsafe { base.overlay(&top) }; base } |