use bevy::prelude::*;
use bevy::render::camera::ScalingMode;
use engine::Engine;
use scenes::Scenes;
mod engine;
mod scenes;
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash, States)]
enum GameState {
#[default]
Loading,
Gaming,
}
fn setup(mut cmd: Commands, mut state: ResMut<NextState<GameState>>) {
let mut camera = Camera2dBundle::default();
camera.projection.scaling_mode = ScalingMode::FixedVertical(1600.0);
cmd.spawn(camera);
state.set(GameState::Gaming);
}
fn main() {
App::new()
.init_resource::<Engine>()
.insert_resource(ClearColor(Color::rgb_u8(0x15, 0x15, 0x15)))
.add_state::<GameState>()
.add_plugins(DefaultPlugins.set(WindowPlugin {
primary_window: Some(Window {
title: "mero".to_owned(),
canvas: Some("#mero".to_owned()),
fit_canvas_to_parent: true,
..Default::default()
}),
..Default::default()
}))
.add_systems(Startup, setup)
.add_plugins(Scenes)
.run();
}