mindustry logic execution, map- and schematic- parsing and rendering
| -rw-r--r-- | src/block/power.rs | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/block/power.rs b/src/block/power.rs index 184203b..1f67a6f 100644 --- a/src/block/power.rs +++ b/src/block/power.rs @@ -10,6 +10,17 @@ make_simple!(NuclearGeneratorBlock => |_, _, _, buff: &mut DataRead| read_nuclea make_simple!(ImpactReactorBlock => |_, _, _, buff: &mut DataRead| read_impact(buff)); make_simple!(HeaterGeneratorBlock => |_, _, _, buff: &mut DataRead| read_heater(buff)); make_simple!(BatteryBlock); +make_simple!(DiodeBlock, |_, _, _, _, _, rot: Rotation| { + let base = load("power", "diode").unwrap(); + if rot == Rotation::Right { + return Some(ImageHolder::from(base)); + } + let mut base = base.clone(); + let mut top = load("power", "diode-arrow").unwrap().clone(); + top.rotate(rot.rotated(false).count()); + base.overlay(&top, 0, 0); + Some(ImageHolder::from(base)) +}); make_register! { // illuminator == power ????? @@ -17,7 +28,7 @@ make_register! { "power-node" => ConnectorBlock::new(1, true, cost!(Copper: 1, Lead: 3), 10); "power-node-large" => ConnectorBlock::new(2, true, cost!(Lead: 10, Titanium: 5, Silicon: 3), 15); "surge-tower" => ConnectorBlock::new(2, true, cost!(Lead: 10, Titanium: 7, Silicon: 15, SurgeAlloy: 15), 2); - "diode" => GeneratorBlock::new(1, false, cost!(Metaglass: 10, Silicon: 10, Plastanium: 5)); + "diode" => DiodeBlock::new(1, false, cost!(Metaglass: 10, Silicon: 10, Plastanium: 5)); "battery" => BatteryBlock::new(1, true, cost!(Copper: 5, Lead: 20)); "battery-large" => BatteryBlock::new(3, true, cost!(Lead: 50, Titanium: 20, Silicon: 30)); "combustion-generator" => GeneratorBlock::new(1, true, cost!(Copper: 25, Lead: 15)); |