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