From 4d848a3acbbe07134263aeed20e8ece8545cae23 Mon Sep 17 00:00:00 2001 From: TudbuT Date: Sat, 23 Nov 2024 17:09:42 +0100 Subject: [PATCH] beginning of world loader --- Cargo.lock | 7 +++++++ Cargo.toml | 1 + assets/test.png | Bin 0 -> 6173 bytes assets/world.txt | 3 +++ src/game/player.rs | 2 +- src/game/scene.rs | 11 +++++++++++ 6 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 assets/test.png create mode 100644 assets/world.txt diff --git a/Cargo.lock b/Cargo.lock index e387f5b..751b339 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2217,6 +2217,7 @@ dependencies = [ "bevy", "bevy_editor_pls", "bevy_rapier2d", + "readformat", ] [[package]] @@ -3887,6 +3888,12 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" +[[package]] +name = "readformat" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b03f7fbd470aa8b3ad163c85cce8bccfc11cc9c44ef12da0a4eddd98bd307352" + [[package]] name = "rectangle-pack" version = "0.4.2" diff --git a/Cargo.toml b/Cargo.toml index a835352..9eaeca2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,6 +7,7 @@ edition = "2021" bevy = { version = "0.14.2" } bevy_rapier2d = "0.27.0" bevy_editor_pls = "0.10" +readformat = "0.1.2" # Enable a small amount of optimization in the dev profile. [profile.dev] diff --git a/assets/test.png b/assets/test.png new file mode 100644 index 0000000000000000000000000000000000000000..b199dbbf85cd40fc13b6d64eec0504c97447442c GIT binary patch literal 6173 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 literal 0 HcmV?d00001 diff --git a/assets/world.txt b/assets/world.txt new file mode 100644 index 0000000..b4b7a73 --- /dev/null +++ b/assets/world.txt @@ -0,0 +1,3 @@ +info section + +world section diff --git a/src/game/player.rs b/src/game/player.rs index 63af670..6d11747 100644 --- a/src/game/player.rs +++ b/src/game/player.rs @@ -30,7 +30,7 @@ pub fn add_player( MaterialMesh2dBundle { mesh: meshes.add(Circle::new(20.)).into(), material: materials.add(asset_server.load("test.png")), - transform: Transform::from_xyz(100., 100., 0.), + transform: Transform::from_xyz(10., 10., 0.), ..default() }, )) diff --git a/src/game/scene.rs b/src/game/scene.rs index 4531e60..4786b79 100644 --- a/src/game/scene.rs +++ b/src/game/scene.rs @@ -1,10 +1,21 @@ +use std::fs; + use bevy::{core_pipeline::smaa::SmaaSpecializedRenderPipelines, prelude::*}; use bevy::{prelude::*, scene::ScenePlugin}; use bevy_editor_pls::EditorPlugin; use bevy_rapier2d::prelude::*; +use readformat::readf; use crate::AppState; pub(super) fn scene_plugin(app: &mut App) { app.add_plugins(EditorPlugin::default()); + // app.add_systems(, ) + app.add_systems(Startup, (import_text_world,)); +} + +pub(super) fn import_text_world(mut commands: Commands, assets: Res) { + let world_string = fs::read_to_string("assets/world.txt"); + let &[info_string, world_string] = readf("info section\n{}\nworld section\n{}", world_string); + println!() }