# `bevy_ecs_ldtk_default` Derive macros for bevy_ecs_ldtk that use bundle's Default impl instead of it's fields'. # Usage ```rs use bevy::prelude::*; use bevy_rapier2d::prelude::*; use bevy_ecs_ldtk::prelude::*; use bevy_ecs_ldtk_default::*; // Derive LdtkEntityDefault or LdtkIntCellDefault to make // `bevy_ecs_ldtk` make use of your bundle's `Default` `impl`, // instead of individual `Default` `impl`s of each of it's fields. #[derive(Bundle, LdtkEntityDefault)] pub struct PlayerBundle { rigid_body: RigidBody, } impl Default for PlayerBundle { fn default() -> Self { // `PlayerBundle` now will spawn with kinematic rigid body. Self { rigid_body: RigidBody::KinematicPositionBased } // If we would've not used `LdtkEntityDefault` along with // this `impl Default`, our `PlayerBundle` would've spawned // with `rigid_body: RigidBody::Dynamic` (since that's what // `impl Default` of `RigidBody` provides) instead, which is // undesired. } } ```