diff --git a/Cargo.lock b/Cargo.lock index 5e928e0..0573760 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1377,13 +1377,6 @@ dependencies = [ "pin-project", ] -[[package]] -name = "bevy_template" -version = "0.1.0" -dependencies = [ - "bevy", -] - [[package]] name = "bevy_text" version = "0.18.0" @@ -2275,6 +2268,13 @@ dependencies = [ "pin-project-lite", ] +[[package]] +name = "expedition_demo" +version = "0.1.0" +dependencies = [ + "bevy", +] + [[package]] name = "fastrand" version = "2.3.0" diff --git a/Cargo.toml b/Cargo.toml index 0798d84..11e3417 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ cargo-features = ["codegen-backend"] [package] -name = "bevy_template" +name = "expedition_demo" version = "0.1.0" edition = "2024" diff --git a/assets/sprites/interactive/crate_closed.png b/assets/sprites/interactive/crate_closed.png new file mode 100644 index 0000000..ca3e7d0 Binary files /dev/null and b/assets/sprites/interactive/crate_closed.png differ diff --git a/assets/sprites/interactive/crate_opened.png b/assets/sprites/interactive/crate_opened.png new file mode 100644 index 0000000..50d72f1 Binary files /dev/null and b/assets/sprites/interactive/crate_opened.png differ diff --git a/assets/sprites/interactive/door_closed.png b/assets/sprites/interactive/door_closed.png new file mode 100644 index 0000000..40c3693 Binary files /dev/null and b/assets/sprites/interactive/door_closed.png differ diff --git a/assets/sprites/interactive/door_opened.png b/assets/sprites/interactive/door_opened.png new file mode 100644 index 0000000..694e25e Binary files /dev/null and b/assets/sprites/interactive/door_opened.png differ diff --git a/assets/sprites/interactive/lamp.png b/assets/sprites/interactive/lamp.png new file mode 100644 index 0000000..f281be9 Binary files /dev/null and b/assets/sprites/interactive/lamp.png differ diff --git a/assets/sprites/interactive/padlock.png b/assets/sprites/interactive/padlock.png new file mode 100644 index 0000000..3f5d639 Binary files /dev/null and b/assets/sprites/interactive/padlock.png differ diff --git a/assets/sprites/interactive/wardrobe.png b/assets/sprites/interactive/wardrobe.png new file mode 100644 index 0000000..570f147 Binary files /dev/null and b/assets/sprites/interactive/wardrobe.png differ diff --git a/assets/sprites/items/choco_bar.png b/assets/sprites/items/choco_bar.png new file mode 100644 index 0000000..aba1fa7 Binary files /dev/null and b/assets/sprites/items/choco_bar.png differ diff --git a/assets/sprites/level/ceiling.png b/assets/sprites/level/ceiling.png new file mode 100644 index 0000000..bdc1d97 Binary files /dev/null and b/assets/sprites/level/ceiling.png differ diff --git a/assets/sprites/level/floor.png b/assets/sprites/level/floor.png new file mode 100644 index 0000000..c1e25b6 Binary files /dev/null and b/assets/sprites/level/floor.png differ diff --git a/assets/sprites/level/stairs_base.png b/assets/sprites/level/stairs_base.png new file mode 100644 index 0000000..7e6eb24 Binary files /dev/null and b/assets/sprites/level/stairs_base.png differ diff --git a/assets/sprites/level/stairs_main.png b/assets/sprites/level/stairs_main.png new file mode 100644 index 0000000..14fdb61 Binary files /dev/null and b/assets/sprites/level/stairs_main.png differ diff --git a/assets/sprites/level/wall.png b/assets/sprites/level/wall.png new file mode 100644 index 0000000..a103fb5 Binary files /dev/null and b/assets/sprites/level/wall.png differ diff --git a/assets/sprites/level/wall_connector.png b/assets/sprites/level/wall_connector.png new file mode 100644 index 0000000..a9be497 Binary files /dev/null and b/assets/sprites/level/wall_connector.png differ diff --git a/assets/sprites/level/window.png b/assets/sprites/level/window.png new file mode 100644 index 0000000..4e81bd1 Binary files /dev/null and b/assets/sprites/level/window.png differ diff --git a/assets/sprites/player/player.png b/assets/sprites/player/player.png new file mode 100644 index 0000000..7fad820 Binary files /dev/null and b/assets/sprites/player/player.png differ diff --git a/src/layout.rs b/src/layout.rs new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/src/layout.rs @@ -0,0 +1 @@ + diff --git a/src/lib.rs b/src/lib.rs new file mode 100644 index 0000000..507498e --- /dev/null +++ b/src/lib.rs @@ -0,0 +1,34 @@ +pub mod player; +pub mod layout; + +use bevy::prelude::*; + +pub struct ExpeditionPlugin; + +fn camera_bundle() -> impl Bundle { + ( + Camera2d, + Camera { + clear_color: ClearColorConfig::Custom(Color::hsl(0.02, 0.67, 0.65)), + ..default() + }, + Projection::Orthographic(OrthographicProjection { + scaling_mode: bevy::camera::ScalingMode::FixedVertical { + viewport_height: 384., + }, + scale: 1., + ..OrthographicProjection::default_2d() + }), + ) +} + +fn setup_global(mut commands: Commands) { + commands.spawn(camera_bundle()); +} + +impl Plugin for ExpeditionPlugin { + fn build(&self, app: &mut App) { + app.add_systems(Startup, (player::setup_player, setup_global)) + .add_systems(Update, player::handle_input); + } +} diff --git a/src/main.rs b/src/main.rs index e95b0dc..4f85e42 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,54 +1,10 @@ use bevy::prelude::*; -#[derive(Component)] -struct Person; - -#[derive(Component)] -struct Name(String); - -#[derive(Resource)] -struct GreetTimer(Timer); - -#[derive(Resource)] -struct UpdateTimer(Timer); - -pub struct HelloPlugin; - -impl Plugin for HelloPlugin { - fn build(&self, app: &mut App) { - app.insert_resource(GreetTimer(Timer::from_seconds(2.0, TimerMode::Repeating))); - app.insert_resource(UpdateTimer(Timer::from_seconds(10.0, TimerMode::Once))); - app.add_systems(Startup, add_people); - app.add_systems(Update, (update_people, greet_people).chain()); - } -} - - -fn add_people(mut commands: Commands) { - commands.spawn((Person, Name("Alkesey Mirnekov".to_string()))); - commands.spawn((Person, Name("Alkesey Mirnekov 2".to_string()))); - commands.spawn((Person, Name("Alkesey Mirnekov 3".to_string()))); -} - -fn greet_people(time: Res