veloren_world/site2/util/
sprites.rs1use crate::site2::Painter;
2
3use super::Dir;
4use common::terrain::SpriteKind;
5use vek::*;
6
7pub trait PainterSpriteExt {
8 fn lanternpost_wood(&self, pos: Vec3<i32>, dir: Dir);
9}
10
11impl PainterSpriteExt for Painter {
12 fn lanternpost_wood(&self, pos: Vec3<i32>, dir: Dir) {
13 let sprite_ori = dir.rotated_cw().sprite_ori();
14 self.rotated_sprite(pos, SpriteKind::LanternpostWoodBase, sprite_ori);
15 self.column(pos.xy(), pos.z + 1..pos.z + 4).clear();
16 self.rotated_sprite(
17 pos + Vec3::unit_z() * 3,
18 SpriteKind::LanternpostWoodUpper,
19 sprite_ori,
20 );
21 self.rotated_sprite(
22 pos + dir.to_vec3() + Vec3::unit_z() * 3,
23 SpriteKind::LanternpostWoodLantern,
24 sprite_ori,
25 );
26 }
27}