improved sprites - spriteinfo and methods

This commit is contained in:
Llywelwyn 2023-09-26 20:40:17 +01:00
parent 849c400497
commit bd450e806b
12 changed files with 187 additions and 108 deletions

View file

@ -135,8 +135,9 @@ pub fn try_door(i: i32, j: i32, ecs: &mut World) -> RunState {
std::mem::drop(renderables);
let mut renderables = ecs.write_storage::<Renderable>();
let render_data = renderables.get_mut(potential_target).unwrap();
render_data.glyph = to_cp437('+'); // Nethack open door, maybe just use '/' instead.
render_data.sprite = Some("door_wood_h_closed".to_string()); // TODO: Enum
if let Some(sprite) = &mut render_data.sprite {
*sprite = sprite.swap();
}
door_pos = Some(Point::new(pos.x + delta_x, pos.y + delta_y));
}
result = RunState::Ticking;
@ -233,8 +234,9 @@ pub fn open(i: i32, j: i32, ecs: &mut World) -> RunState {
std::mem::drop(renderables);
let mut renderables = ecs.write_storage::<Renderable>();
let render_data = renderables.get_mut(potential_target).unwrap();
render_data.glyph = to_cp437('▓'); // Nethack open door, maybe just use '/' instead.
render_data.sprite = Some("door_wood_h_open".to_string()); // TODO: Enum
if let Some(sprite) = &mut render_data.sprite {
*sprite = sprite.swap();
}
door_pos = Some(Point::new(pos.x + delta_x, pos.y + delta_y));
}
result = RunState::Ticking;