Level sit and shit
This commit is contained in:
19
src/main.rs
19
src/main.rs
@@ -2,8 +2,13 @@ use bevy::prelude::*;
|
|||||||
use bevy_ecs_ldtk::prelude::*;
|
use bevy_ecs_ldtk::prelude::*;
|
||||||
use player::{Player, PlayerPlugin};
|
use player::{Player, PlayerPlugin};
|
||||||
|
|
||||||
|
mod camera;
|
||||||
mod player;
|
mod player;
|
||||||
|
|
||||||
|
const LEVEL_SET: [&str; 2] = [
|
||||||
|
"ee0d1601-73f0-11ef-b8f3-190460ac7628",
|
||||||
|
"60e1c210-73f0-11ef-b56f-153ec435f652",
|
||||||
|
];
|
||||||
fn main() {
|
fn main() {
|
||||||
App::new()
|
App::new()
|
||||||
.add_plugins(DefaultPlugins.set(ImagePlugin::default_nearest()))
|
.add_plugins(DefaultPlugins.set(ImagePlugin::default_nearest()))
|
||||||
@@ -14,22 +19,25 @@ fn main() {
|
|||||||
.register_ldtk_entity::<GoalBundle>("Goal")
|
.register_ldtk_entity::<GoalBundle>("Goal")
|
||||||
.register_ldtk_int_cell::<WallBundle>(1)
|
.register_ldtk_int_cell::<WallBundle>(1)
|
||||||
.add_systems(Startup, setup)
|
.add_systems(Startup, setup)
|
||||||
|
.add_systems(Update, camera::camera_fit_inside_current_level)
|
||||||
.run();
|
.run();
|
||||||
}
|
}
|
||||||
|
|
||||||
fn setup(mut commands: Commands, asset_server: Res<AssetServer>) {
|
fn setup(mut commands: Commands, asset_server: Res<AssetServer>) {
|
||||||
let mut camera = Camera2dBundle::default();
|
let mut camera = Camera2dBundle::default();
|
||||||
camera.projection.scale = 0.5;
|
let level_set = LevelSet::from_iids(LEVEL_SET);
|
||||||
|
camera.projection.scale = 1.111;
|
||||||
camera.transform.translation.x += 1280.0 / 4.0;
|
camera.transform.translation.x += 1280.0 / 4.0;
|
||||||
camera.transform.translation.y += 720.0 / 4.0;
|
camera.transform.translation.y += 720.0 / 4.0;
|
||||||
commands.spawn(camera);
|
commands.spawn(camera);
|
||||||
|
|
||||||
commands.spawn(LdtkWorldBundle {
|
commands.spawn(LdtkWorldBundle {
|
||||||
ldtk_handle: asset_server.load("shocked-miguel.ldtk"),
|
ldtk_handle: asset_server.load("shocked-miguel.ldtk"),
|
||||||
|
level_set,
|
||||||
|
// transform: Transform::from_xyz(-256., -144., 0.),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Default, Component)]
|
#[derive(Default, Component)]
|
||||||
struct Goal;
|
struct Goal;
|
||||||
|
|
||||||
@@ -65,6 +73,13 @@ fn check_goal(
|
|||||||
level_selection: ResMut<LevelSelection>,
|
level_selection: ResMut<LevelSelection>,
|
||||||
players: Query<&GridCoords, (With<Player>, Changed<GridCoords>)>,
|
players: Query<&GridCoords, (With<Player>, Changed<GridCoords>)>,
|
||||||
goals: Query<&GridCoords, With<Goal>>,
|
goals: Query<&GridCoords, With<Goal>>,
|
||||||
|
mut camera_query: Query<
|
||||||
|
(
|
||||||
|
&mut bevy::render::camera::OrthographicProjection,
|
||||||
|
&mut Transform,
|
||||||
|
),
|
||||||
|
Without<Player>,
|
||||||
|
>,
|
||||||
) {
|
) {
|
||||||
if players
|
if players
|
||||||
.iter()
|
.iter()
|
||||||
|
|||||||
Reference in New Issue
Block a user