CoolFace
Apppublic

HugoDzz/rust-sandbox

sourceHugging Facemitupdated 3y agoView on Hugging Face
11likes
main.rs61 linesDownload Raw Back to src
1mod blood;2mod bone;3mod grain;4mod grid;5mod setup;6mod utils;7 8use crate::blood::shade_blood;9use crate::grain::{add_grain, update_grain};10use crate::grid::{update_grid_data, Grid};11use crate::setup::setup;12use crate::utils::constants::{TICK_RATE, WINDOW_SIZE};13use crate::utils::tick::TickCounter;14 15use bevy::prelude::*;16use bevy::window::PresentMode;17use bevy_pixel_camera::PixelCameraPlugin;18 19/*20 21    🦀 Main function, used to:22    - Add Ressources -> Resources are global data we can use later across Systems, independently of entities. Learn more: https://bevy-cheatbook.github.io/programming/res.html23    - Register Systems -> Think Bevy ECS Systems like a database, Systems are a way to "query" our data to implement game logic. Learn more: https://bevy-cheatbook.github.io/programming/systems.html24    - Run our app25 26*/27 28fn main() {29    App::new()30        .add_plugins((31            DefaultPlugins32                .set(ImagePlugin::default_nearest())33                .set(WindowPlugin {34                    primary_window: Some(Window {35                        title: "Hell".into(),36                        resolution: (WINDOW_SIZE[0], WINDOW_SIZE[1]).into(),37                        resizable: false,38                        present_mode: PresentMode::AutoVsync,39                        // Used to run the game in my own Canvas in my Svelte web app40                        canvas: Some("#bevy-canvas".to_string()),41                        ..default()42                    }),43                    ..default()44                })45                .build(),46            PixelCameraPlugin,47        ))48        .insert_resource(ClearColor(Color::hex("221e22").unwrap()))49        .insert_resource(TickCounter {50            count: 0,51            tick_rate: TICK_RATE,52        })53        .insert_resource(Grid::new())54        .add_systems(Startup, setup)55        .add_systems(Update, add_grain)56        .add_systems(Update, update_grain)57        .add_systems(Update, update_grid_data)58        .add_systems(Update, shade_blood)59        .run();60}61