2024-07-06 19:32:17 +02:00
|
|
|
use comfy::{
|
2024-07-06 22:14:48 +02:00
|
|
|
draw_rect_outline, draw_sprite, main_camera_mut, EngineContext, IVec2, Vec2, RED,
|
|
|
|
WHITE
|
2024-07-06 19:32:17 +02:00
|
|
|
};
|
2024-07-06 13:33:58 +02:00
|
|
|
|
2024-07-06 17:19:44 +02:00
|
|
|
use crate::game::ZLayer;
|
|
|
|
|
2024-07-06 13:57:47 +02:00
|
|
|
pub mod worldgen;
|
|
|
|
|
2024-07-06 17:27:29 +02:00
|
|
|
pub fn draw(state: &crate::State, _engine: &comfy::EngineContext<'_>) {
|
2024-07-06 17:19:44 +02:00
|
|
|
for (coords, tile) in state.overworld.iter_tiles() {
|
2024-07-06 18:45:54 +02:00
|
|
|
for (i, texture) in tile.textures().iter().rev().enumerate() {
|
2024-07-06 17:19:44 +02:00
|
|
|
let i = i as i32;
|
|
|
|
draw_sprite(
|
|
|
|
*texture,
|
|
|
|
coords.as_vec2(),
|
2024-07-06 19:32:17 +02:00
|
|
|
WHITE,
|
2024-07-06 17:19:44 +02:00
|
|
|
ZLayer::MapMax - i,
|
|
|
|
Vec2::ONE
|
2024-07-06 19:32:17 +02:00
|
|
|
);
|
|
|
|
draw_rect_outline(coords.as_vec2(), Vec2::ONE, 0.1, RED, 10);
|
2024-07-06 17:19:44 +02:00
|
|
|
}
|
|
|
|
}
|
2024-07-06 13:33:58 +02:00
|
|
|
}
|
|
|
|
|
2024-07-06 19:32:17 +02:00
|
|
|
pub fn update(state: &mut crate::State, _engine: &mut EngineContext<'_>) {
|
|
|
|
let mut camera = main_camera_mut();
|
|
|
|
camera.center = Vec2::ZERO;
|
|
|
|
camera.zoom = 30.0;
|
|
|
|
state.overworld.get_or_generate_tile(IVec2::ZERO);
|
|
|
|
}
|