Select Git revision
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
main.rs 1.61 KiB
mod assets;
mod audio;
mod components;
mod error;
mod grid;
mod gridcursor;
mod lighting;
mod machine;
mod power;
use crate::{
audio::AudioPlugin,
components::GridPos,
grid::GridPlugin,
gridcursor::GridCursorPlugin,
lighting::{LightEmitter, LightingPlugin},
machine::MachinePlugin,
power::PowerPlugin,
};
use assets::AssetLoadingPlugin;
use bevy::{prelude::*, render::texture::ImageSettings};
pub const RENDER_ORDER: RenderOrder = RenderOrder {
grid: 0.0,
machine: 1.0,
light: 2.0,
gridcursor: 3.0,
};
pub struct RenderOrder {
pub grid: f32,
pub machine: f32,
pub light: f32,
pub gridcursor: f32,
}
fn main() {
App::new()
.insert_resource(WindowDescriptor {
width: 400.0,
height: 400.0,
title: String::from("Bevy Jam"),
..default()
})
.insert_resource(ImageSettings::default_nearest())
.insert_resource(Msaa { samples: 1 })
.add_plugins(DefaultPlugins)
.add_plugin(AssetLoadingPlugin)
.add_startup_system(main_setup_system)
.add_plugin(MachinePlugin)
.add_plugin(GridPlugin)
.add_plugin(GridCursorPlugin)
.add_plugin(LightingPlugin)
.add_plugin(PowerPlugin)
.add_plugin(AudioPlugin)
.run();
}
fn main_setup_system(mut commands: Commands) {
// camera
commands.spawn_bundle(Camera2dBundle::default());
// light
commands
.spawn()
.insert(LightEmitter {
power: 1.0,
radius: 200.0,
flicker: 0.05,
})
.insert(GridPos::new(4, 4, 0));
}